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

BVH_QueueBuilder< T, N > Class Template Referenceabstract

Abstract BVH builder based on the concept of work queue. More...

#include <BVH_QueueBuilder.hxx>

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

Public Member Functions

 BVH_QueueBuilder (const Standard_Integer theLeafNodeSize, const Standard_Integer theMaxTreeDepth)
 Creates new BVH queue based builder. More...
 
virtual ~BVH_QueueBuilder ()=0
 Releases resources of BVH queue based builder. More...
 
virtual void Build (BVH_Set< T, N > *theSet, BVH_Tree< T, N > *theBVH, const BVH_Box< T, N > &theBox)
 Builds BVH using specific algorithm. More...
 
- Public Member Functions inherited from BVH_Builder< T, N >
 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...
 

Protected Member Functions

virtual void BuildNode (BVH_Set< T, N > *theSet, BVH_Tree< T, N > *theBVH, const Standard_Integer theTask)
 Builds BVH node for the given task info. More...
 
- Protected Member Functions inherited from BVH_Builder< T, N >
void UpdateDepth (BVH_Tree< T, N > *theBVH, const Standard_Integer theLevel)
 Updates depth of constructed BVH tree. More...
 

Protected Attributes

NCollection_Vector
< Standard_Integer
myTasksQueue
 Queue to manage BVH node building tasks. More...
 
- Protected Attributes inherited from BVH_Builder< T, N >
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_QueueBuilder< T, N >

Abstract BVH builder based on the concept of work queue.

Constructor & Destructor Documentation

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

Creates new BVH queue based builder.

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

Releases resources of BVH queue based builder.

Member Function Documentation

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

Builds BVH using specific algorithm.

Implements BVH_Builder< T, N >.

template<class T , int N>
virtual void BVH_QueueBuilder< T, N >::BuildNode ( BVH_Set< T, N > *  theSet,
BVH_Tree< T, N > *  theBVH,
const Standard_Integer  theTask 
)
protectedvirtual

Builds BVH node for the given task info.

Reimplemented in BVH_BinnedBuilder< T, N, Bins >, BVH_BinnedBuilder< T, N, 2 >, and BVH_SweepPlaneBuilder< T, N >.

Field Documentation

template<class T , int N>
NCollection_Vector<Standard_Integer> BVH_QueueBuilder< T, N >::myTasksQueue
protected

Queue to manage BVH node building tasks.


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