Class OctreeBlock<T>
Type Parameters
T
Hierarchy
- OctreeBlock
Index
Constructors
Properties
Accessors
Methods
Constructors
constructor
Creates a new block
Type Parameters
T
Parameters
minPoint: Vector3
defines the minimum vector (in world space) of the block's bounding box
maxPoint: Vector3
defines the maximum vector (in world space) of the block's bounding box
capacity: number
defines the maximum capacity of this block (if capacity is reached the block will be split into sub blocks)
depth: number
defines the current depth of this block in the octree
maxDepth: number
defines the maximal depth allowed (beyond this value, the capacity is ignored)
creationFunc: ((entry: T, block: OctreeBlock<T>) => void)
defines a callback to call when an element is added to the block
Parameters
entry: T
block: OctreeBlock<T>
Returns void
Returns OctreeBlock<T>
Properties
blocksSearch playground for blocks
Gets the list of block children
entriesSearch playground for entries
Gets the content of the current block
Accessors
capacity
Gets the maximum capacity of this block (if capacity is reached the block will be split into sub blocks)
Returns number
max Point
Gets the maximum vector (in world space) of the block's bounding box
Returns Vector3
min Point
Gets the minimum vector (in world space) of the block's bounding box
Returns Vector3
Methods
add EntriesSearch playground for addEntries
Add an array of elements to this block
Parameters
entries: T[]
defines the array of elements to add
Returns void
add EntrySearch playground for addEntry
Add a new element to this block
Parameters
entry: T
defines the element to add
Returns void
create Inner BlocksSearch playground for createInnerBlocks
Subdivide the content into child blocks (this block will then be empty)
Returns void
intersectsSearch playground for intersects
Test if the current block intersect with the given bounding sphere and if yes, then add its content to the selection array
Parameters
sphereCenter: Vector3
defines the bounding sphere center
sphereRadius: number
defines the bounding sphere radius
selection: SmartArrayNoDuplicate<T>
defines the array to store current content if selection is positive
Optional allowDuplicate: boolean
defines if the selection array can contains duplicated entries
Returns void
intersects RaySearch playground for intersectsRay
Test if the current block intersect with the given ray and if yes, then add its content to the selection array
Parameters
ray: Ray
defines the ray to test with
selection: SmartArrayNoDuplicate<T>
defines the array to store current content if selection is positive
Returns void
remove EntrySearch playground for removeEntry
Remove an element from this block
Parameters
entry: T
defines the element to remove
Returns void
selectSearch playground for select
Test if the current block intersects the frustum planes and if yes, then add its content to the selection array
Parameters
frustumPlanes: Plane[]
defines the frustum planes to test
selection: SmartArrayNoDuplicate<T>
defines the array to store current content if selection is positive
Optional allowDuplicate: boolean
defines if the selection array can contains duplicated entries
Returns void
Class used to store a cell in an octree
https://doc.babylonjs.com/how_to/optimizing_your_scene_with_octrees