Documentation / scene / OctreeNodeChunk
Class: OctreeNodeChunk
Defined in: libs/scene/src/scene/octree.ts:362
A grid of octree nodes at a specific level of detail.
Remarks
- Each chunk represents a uniform grid of (d x d x d) nodes, where (d = 2^{level}).
- Chunks are linked as a hierarchy from coarse (root) to fine (leaf) via
prev/next. - Nodes are created lazily and indexed by a linear index.
Constructors
Constructor
new OctreeNodeChunk(
octree):OctreeNodeChunk
Defined in: libs/scene/src/scene/octree.ts:382
Create a chunk for the given octree.
Parameters
octree
Owning octree.
Returns
OctreeNodeChunk
Methods
getNode()
getNode(
index):OctreeNode
Defined in: libs/scene/src/scene/octree.ts:402
Get an octree node by linear index.
Parameters
index
number
Linear index within this chunk.
Returns
The OctreeNode at the index, or null if absent.
getOrCreateNode()
getOrCreateNode(
index):OctreeNode
Defined in: libs/scene/src/scene/octree.ts:412
Get or create an octree node by linear index.
Parameters
index
number
Linear index within this chunk.
Returns
The existing or newly created OctreeNode.
getOrCreateNodeChain()
getOrCreateNodeChain(
index):OctreeNode
Defined in: libs/scene/src/scene/octree.ts:429
Ensure the node chain (this level and all parents) exists for a given index.
Parameters
index
number
Linear index at this level.
Returns
The OctreeNode at this level; parent nodes are created as needed.
clearNodes()
clearNodes():
void
Defined in: libs/scene/src/scene/octree.ts:442
Remove and clear all nodes in this chunk.
Returns
void
Remarks
Also detaches all scene nodes held by each OctreeNode.
getChildIndex()
getChildIndex(
index,placement):number
Defined in: libs/scene/src/scene/octree.ts:456
Compute the child index in the next chunk for a given parent index and placement.
Parameters
index
number
Parent node index in this chunk.
placement
Child octant placement.
Returns
number
The linear index of the child in the next chunk.
getParentIndex()
getParentIndex(
index):number
Defined in: libs/scene/src/scene/octree.ts:504
Compute the parent index in the previous chunk for a given child index.
Parameters
index
number
Child node index in this chunk.
Returns
number
The linear index of the parent in the previous chunk.
getNodeSize()
getNodeSize():
number
Defined in: libs/scene/src/scene/octree.ts:520
Node size at this chunk level.
Returns
number
The world-space edge length per cell in this chunk.
Remarks
Represents the world-space edge length for a cell at this level.
getWorldSize()
getWorldSize():
number
Defined in: libs/scene/src/scene/octree.ts:531
Root world size of the octree.
Returns
number
The root world size (edge length) of the octree.
Remarks
Same across all chunks; used to convert between world coordinates and indices.
getDimension()
getDimension():
number
Defined in: libs/scene/src/scene/octree.ts:542
Dimension of this chunk (number of cells per axis).
Returns
number
The dimension (cells per axis) for this chunk.
Remarks
Equals (2^{level}).
getLevel()
getLevel():
number
Defined in: libs/scene/src/scene/octree.ts:550
Level index of this chunk (0 = root/coarsest).
Returns
number
The level index of this chunk.
empty()
empty():
boolean
Defined in: libs/scene/src/scene/octree.ts:558
Whether this chunk currently has no created nodes.
Returns
boolean
True if the chunk has no nodes; otherwise false.
getNext()
getNext():
OctreeNodeChunk
Defined in: libs/scene/src/scene/octree.ts:566
Next (finer) chunk in the hierarchy, or null if this is the finest.
Returns
OctreeNodeChunk
The next OctreeNodeChunk, or null if none.
getPrev()
getPrev():
OctreeNodeChunk
Defined in: libs/scene/src/scene/octree.ts:574
Previous (coarser) chunk in the hierarchy, or null if this is the root.
Returns
OctreeNodeChunk
The previous OctreeNodeChunk, or null if none.
getOctree()
getOctree():
Octree
Defined in: libs/scene/src/scene/octree.ts:582
The octree that owns this chunk.
Returns
The owning Octree instance.
setLevel()
setLevel(
level):void
Defined in: libs/scene/src/scene/octree.ts:590
Set the level index.
Parameters
level
number
Level index for this chunk.
Returns
void
setDimension()
setDimension(
dimension):void
Defined in: libs/scene/src/scene/octree.ts:598
Set the dimension (cells per axis).
Parameters
dimension
number
Dimension for this chunk (typically (2^{level})).
Returns
void
setNodeSize()
setNodeSize(
size):void
Defined in: libs/scene/src/scene/octree.ts:606
Set the node size at this level.
Parameters
size
number
World-space edge length per cell.
Returns
void
setNext()
setNext(
chunk):void
Defined in: libs/scene/src/scene/octree.ts:614
Link to the next (finer) chunk.
Parameters
chunk
OctreeNodeChunk
The next chunk.
Returns
void
setPrev()
setPrev(
chunk):void
Defined in: libs/scene/src/scene/octree.ts:622
Link to the previous (coarser) chunk.
Parameters
chunk
OctreeNodeChunk
The previous chunk.
Returns
void