aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/python/contourpy/src/chunk_local.h
blob: 0298ea4814be013f9f12bdd2f1ab59369d31f4e2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#ifndef CONTOURPY_CHUNK_LOCAL_H
#define CONTOURPY_CHUNK_LOCAL_H

#include "output_array.h"
#include <iosfwd>

namespace contourpy {

struct ChunkLocal
{
    ChunkLocal();

    void clear();

    friend std::ostream &operator<<(std::ostream &os, const ChunkLocal& local);



    index_t chunk;                       // Index in range 0 to _n_chunks-1.
    index_t istart, iend, jstart, jend;  // Chunk limits, inclusive.
    int pass;

    // Data for whole pass.
    count_t total_point_count;           // Includes nan separators if used.
    count_t line_count;                  // Count of all lines
    count_t hole_count;                  // Count of holes only.

    // Output arrays that are initialised at the end of pass 0 and written to during pass 1.
    OutputArray<double> points;
    OutputArray<offset_t> line_offsets;  // Into array of points.
    OutputArray<offset_t> outer_offsets; // Into array of points or line offsets depending on
                                         //   fill_type.

    // Data for current outer.
    std::vector<index_t> look_up_quads;  // To find holes of current outer.
};

} // namespace contourpy

#endif // CONTOURPY_CHUNK_LOCAL_H