Open CASCADE Technology  6.9.0
Public Member Functions | Protected Member Functions | Protected Attributes

BVH_Builder< T, N > Class Template Referenceabstract

Performs construction of BVH tree using bounding boxes (AABBs) of abstract objects. More...

#include <BVH_Tree.hxx>

Inheritance diagram for BVH_Builder< T, N >:
Inheritance graph
[legend]

Public Member Functions

 BVH_Builder (const Standard_Integer theLeafNodeSize, const Standard_Integer theMaxTreeDepth)
 Creates new abstract BVH builder. More...
 
virtual ~BVH_Builder ()
 Releases resources of BVH builder. More...
 
virtual void Build (BVH_Set< T, N > *theSet, BVH_Tree< T, N > *theBVH, const BVH_Box< T, N > &theBox)=0
 Builds BVH using specific algorithm. More...
 

Protected Member Functions

void UpdateDepth (BVH_Tree< T, N > *theBVH, const Standard_Integer theLevel)
 Updates depth of constructed BVH tree. More...
 

Protected Attributes

Standard_Integer myMaxTreeDepth
 Maximum depth of constructed BVH. More...
 
Standard_Integer myLeafNodeSize
 Maximum number of objects per leaf. More...
 

Detailed Description

template<class T, int N>
class BVH_Builder< T, N >

Performs construction of BVH tree using bounding boxes (AABBs) of abstract objects.

Template Parameters
TNumeric data type
NVector dimension

Constructor & Destructor Documentation

template<class T , int N>
BVH_Builder< T, N >::BVH_Builder ( const Standard_Integer  theLeafNodeSize,
const Standard_Integer  theMaxTreeDepth 
)

Creates new abstract BVH builder.

template<class T , int N>
virtual BVH_Builder< T, N >::~BVH_Builder ( )
virtual

Releases resources of BVH builder.

Member Function Documentation

template<class T , int N>
virtual void BVH_Builder< T, N >::Build ( BVH_Set< T, N > *  theSet,
BVH_Tree< T, N > *  theBVH,
const BVH_Box< T, N > &  theBox 
)
pure virtual

Builds BVH using specific algorithm.

Implemented in BVH_LinearBuilder< T, N >, and BVH_QueueBuilder< T, N >.

template<class T , int N>
void BVH_Builder< T, N >::UpdateDepth ( BVH_Tree< T, N > *  theBVH,
const Standard_Integer  theLevel 
)
inlineprotected

Updates depth of constructed BVH tree.

Field Documentation

template<class T , int N>
Standard_Integer BVH_Builder< T, N >::myLeafNodeSize
protected

Maximum number of objects per leaf.

template<class T , int N>
Standard_Integer BVH_Builder< T, N >::myMaxTreeDepth
protected

Maximum depth of constructed BVH.


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