SpatialTree_Base
Description
- Extended by
-
SpatialTree_Bounds abstract
A generic tree data structure for storing spatial entities.
This abstract base class provides those members that do not depend on any type parameter.
Public / Attributes
Protected / Methods
EntityOpposite
2 overloads
Does the given spatial entity represent a shared spatial feature, for example an edge that is shared by two polygons?
Sets the opposite state of the given entity (see EntityOpposite1).
Protected / Attributes
nodeChildren
Child pointers per tree node.
This array is indexed as follows:
nodeChildren[idx * childCount + n] := n-th child
where idx
is the tree node index and n
is the child node ordinal.
nodeFill
Number of spatial entities per tree node.
If n=nodeFill[idx]
is less than zero, the tree node idx
has already been split and its spatial entities have been distributed among its descendants.
If n=nodeFill[idx]
is greater than or equal to zero, the tree node is a leaf and n
is the number of its spatial entities. The maximum value for n
is nodeFillMax.
nodeFirst
First spatial entity per tree node.
If a tree node idx
has no spatial entities, nodeFirst[idx]
will be -1
. If nodeFirst[idx]
is greater than or equal to zero, the node is a leaf.
nodeFixed
First fixed spatial entity per tree node.
If a tree node idx
has no fixed spatial entities, nodeFixed[idx]
will be -1
. Leaf node may have fixed spatial entities only if they are at the maximum allowed tree level.