Rasterfarm-SDK
Loading...
Searching...
No Matches
Tree::AACubeTree::Branch Class Reference

#include <aacubetree.h>

Inheritance diagram for Tree::AACubeTree::Branch:
Tree::AACubeTree::Node

Public Member Functions

 Branch ()
 
 Branch (const Primitive3D::AABoundingBox &Cube, const Vertex3f &center)
 
 Branch (const Branch &other)=delete
 
virtual ~Branch ()
 
Octant getOctant (const Vertex3f &vertex) const
 
Octant findOctant (Node *pNode) const
 
virtual Leafinsert (const Primitive3D::AABoundingBox &Cube)
 
virtual Leaffind (const Primitive3D::AABoundingBox &box)
 
virtual HeapArray< Leaf * > getLeaves ()
 
virtual HeapArray< Leaf * > intersect (const Primitive3D::AABoundingBox &Cube)
 
virtual HeapArray< Leaf * > inside (const Primitive3D::AABoundingBox &Cube, float precision=0.0f)
 
virtual HeapArray< Leaf * > inside (const Vertex3f &v, float precision=0.0f)
 
virtual HeapArray< Leaf * > within (const Primitive3D::AABoundingBox &Cube, float precision=0.0f)
 
void erase (Octant octant)
 
void update (Octant octant)
 
- Public Member Functions inherited from Tree::AACubeTree::Node
 Node (Branch *pParent, const Primitive3D::AABoundingBox &Cube)
 
const BranchgetParent () const
 
virtual ~Node ()
 

Public Attributes

const Vertex3f center
 
NodepOctant [8]
 

Constructor & Destructor Documentation

◆ Branch() [1/3]

Tree::AACubeTree::Branch::Branch ( )

◆ Branch() [2/3]

Tree::AACubeTree::Branch::Branch ( const Primitive3D::AABoundingBox & Cube,
const Vertex3f & center )

◆ Branch() [3/3]

Tree::AACubeTree::Branch::Branch ( const Branch & other)
delete

Copying of Nodes is not supported.

◆ ~Branch()

virtual Tree::AACubeTree::Branch::~Branch ( )
virtual

Member Function Documentation

◆ erase()

void Tree::AACubeTree::Branch::erase ( Octant octant)

◆ find()

virtual Leaf * Tree::AACubeTree::Branch::find ( const Primitive3D::AABoundingBox & box)
virtual

◆ findOctant()

Octant Tree::AACubeTree::Branch::findOctant ( Node * pNode) const
Returns
The octant this node is currently at, or INVALID_HANDLE if not found.

◆ getLeaves()

virtual HeapArray< Leaf * > Tree::AACubeTree::Branch::getLeaves ( )
virtual

◆ getOctant()

Octant Tree::AACubeTree::Branch::getOctant ( const Vertex3f & vertex) const
Parameters
Thecenter of the bounding-Cube or vertex to test.
Returns
The Octant in which the given vertex is inside.

◆ insert()

virtual Leaf * Tree::AACubeTree::Branch::insert ( const Primitive3D::AABoundingBox & Cube)
virtual

◆ inside() [1/2]

virtual HeapArray< Leaf * > Tree::AACubeTree::Branch::inside ( const Primitive3D::AABoundingBox & Cube,
float precision = 0.0f )
virtual
Returns
An array of leaves that are inside the given Cube.

Implements Tree::AACubeTree::Node.

◆ inside() [2/2]

virtual HeapArray< Leaf * > Tree::AACubeTree::Branch::inside ( const Vertex3f & v,
float precision = 0.0f )
virtual
Returns
An array of leaves that are inside the given Cube.

Implements Tree::AACubeTree::Node.

◆ intersect()

virtual HeapArray< Leaf * > Tree::AACubeTree::Branch::intersect ( const Primitive3D::AABoundingBox & Cube)
virtual
Returns
An array of leaves that intersect with the given Cube.

Implements Tree::AACubeTree::Node.

◆ update()

void Tree::AACubeTree::Branch::update ( Octant octant)

◆ within()

virtual HeapArray< Leaf * > Tree::AACubeTree::Branch::within ( const Primitive3D::AABoundingBox & Cube,
float precision = 0.0f )
virtual
Returns
An array of leaves that given Cube lies within.

Implements Tree::AACubeTree::Node.

Member Data Documentation

◆ center

const Vertex3f Tree::AACubeTree::Branch::center

◆ pOctant

Node* Tree::AACubeTree::Branch::pOctant[8]

The documentation for this class was generated from the following file: