Class OctreeBlock<T>
Type parameters
-
T
Hierarchy
- OctreeBlock
Index
Constructors
Properties
Accessors
Methods
Constructors
constructor
-
Creates a new block
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
-
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 furstum 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