class TSpatialTree::Node

Represents a single spatial tree node.

Public

Constructors

Node

Node(Node *parent)

Constructs a new leaf node with the specified parent.

Methods

GetChild

Node *GetChild(TSpatialTreeChildNodeId<Dimension> child) const

Returns a child node with the specified index.

May return null.

HasChild

bool HasChild(TSpatialTreeChildNodeId<Dimension> child) const

Checks has the specified child node been created.

GetChildren

TSpatialTreeChildNodeIdRange<Dimension> GetChildren() const

Returns range containing all children of the current node.

Private

Methods

MapElementIndexToBlock

u32 MapElementIndexToBlock(u32 indexInNode, NodeElementSuballocationBlock **elements, NodeElementBoundsSuballocationBlock **bounds)

Maps an element index within the node to a specific sub-allocation block in which the element is located.

Returns pointers to the relevant sub-allocation blocks as output parameters, and index within those blocks as the return value.

Fields

mElementData

NodeElementData mElementData

mParent

Node * mParent

mChildren

Node *[kChildNodeCount] mChildren

mElementCountWithChildren

u32 mElementCountWithChildren

Total number of elements including all children of the node.

mIsLeaf

u32 mIsLeaf