Dynamic array of all unique attributes.
Attributes are distinguished by kind, label, color and level.
Unique list of used names for the various attribute kinds.
(Labels for boundaries, colors for seeds, not relevant otherwise) This is especially needed to find the actual number of different colors.
uni_id of the 'none' color.
The none color is special in that it will not be stored to disk. However, it will be used just like any other color during construction of the prototree. To filter the color later before writing the colors to disk, we store the index of the 'none' color here. If there is no 'none' color, this id is -1.
ID of unique colors for each kindpos(sdr_Boundary_object).
Required to identify the colors to which a certain boundary should apply. 'none' and 'all' boundaries: negative value matching seed labels: positive uni_id of that color non-matching: 0 (affecting no flooding color at all)
Flag for each unique color, wether it should be inverted.
Inverted colors will change reverse their flooded flags after flooding. Only elements that are flooded by the none color are considered, and the none color itself can not be inverted.
Growing array with flags on whether to calculate distances for each unique boundary.
There might be conflicting calc_dist settings for attributes with
the same boundary label. The
A list of all the attribute positions for each kind. This provides the mapping of the kind id to the attribute position.
Growing array of distance refinement info for boundary attribute. Use dynArray%distRefine_id to create attribute with distance refine