Interface IOctant<T, K, P>
Interface for implementing an octant (1/8 of a cube and node in an Octree).
Namespace: Fusee.Structures
Assembly: Fusee.Structures.dll
Syntax
public interface IOctant<T, K, P> : IBucket<T, K>
Type Parameters
Name | Description |
---|---|
T | Type of the center point of this octant. |
K | Type of the size of this octant. |
P | Type of the payload of this octant. |
Properties
Children
Children of this Octant. Must contain eight or null (leaf node) children.
Declaration
IOctant<T, K, P>[] Children { get; }
Property Value
Type | Description |
---|---|
IOctant<T, K, P>[] |
IsLeaf
Is this octant a leaf node in the octree?
Declaration
bool IsLeaf { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
Level
The level of the octree this octant belongs to.
Declaration
int Level { get; }
Property Value
Type | Description |
---|---|
System.Int32 |
Payload
The payload of this octant.
Declaration
List<P> Payload { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.List<P> |
PosInParent
Integer that defines this octants position (1 to 8) in its parent.
Declaration
int PosInParent { get; }
Property Value
Type | Description |
---|---|
System.Int32 |
Methods
CreateChild(Int32)
Instantiates a child octant at the given position.
Declaration
IOctant<T, K, P> CreateChild(int atPosInParent)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | atPosInParent | The PosInParent the new child has. |
Returns
Type | Description |
---|---|
IOctant<T, K, P> |