OctreeBlock<T>

Class used to store a cell in an octree

see

http://doc.babylonjs.com/how_to/optimizing_your_scene_with_octrees

Type parameters

  • T

Hierarchy

  • OctreeBlock

Index

Constructors

constructor

Find examples in Playground
  • new OctreeBlock(minPoint: Vector3, maxPoint: Vector3, capacity: number, depth: number, maxDepth: number, creationFunc: function): OctreeBlock
  • 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: function

      defines a callback to call when an element is added to the block

    Returns OctreeBlock

Properties

blocks

Find examples in Playground
blocks: Array<OctreeBlock<T>>

Gets the list of block children

capacity

Find examples in Playground
capacity: number

Gets the maximum capacity of this block (if capacity is reached the block will be split into sub blocks)

entries

Find examples in Playground
entries: T[]

Gets the content of the current block

maxPoint

Find examples in Playground
maxPoint: Vector3

Gets the maximum vector (in world space) of the block's bounding box

minPoint

Find examples in Playground
minPoint: Vector3

Gets the minimum vector (in world space) of the block's bounding box

Methods

addEntries

Find examples in Playground
  • addEntries(entries: T[]): void
  • Add an array of elements to this block

    Parameters

    • entries: T[]

      defines the array of elements to add

    Returns void

addEntry

Find examples in Playground
  • addEntry(entry: T): void
  • Add a new element to this block

    Parameters

    • entry: T

      defines the element to add

    Returns void

createInnerBlocks

Find examples in Playground
  • createInnerBlocks(): void
  • Subdivide the content into child blocks (this block will then be empty)

    Returns void

intersects

Find examples in Playground
  • 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

intersectsRay

Find examples in Playground
  • 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

select

Find examples in Playground
  • 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

Generated using TypeDoc