Open CASCADE Technology
6.9.0
|
Performs building of BVH tree using binned SAH algorithm. Number of Bins controls tree's quality (greater - better) in cost of construction time. More...
#include <BVH_BinnedBuilder.hxx>
Public Types | |
typedef BVH_Bin< T, N > | BVH_BinVector [Bins] |
Type for the array of bins of BVH tree node. More... | |
Public Member Functions | |
BVH_BinnedBuilder (const Standard_Integer theLeafNodeSize=5, const Standard_Integer theMaxTreeDepth=32, const Standard_Boolean theToUseMainAxis=Standard_False) | |
Creates binned SAH BVH builder. More... | |
virtual | ~BVH_BinnedBuilder () |
Releases resources of binned SAH BVH builder. More... | |
Public Member Functions inherited from BVH_QueueBuilder< T, N > | |
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 theNode) |
Builds BVH node for specified task info. More... | |
virtual void | GetSubVolumes (BVH_Set< T, N > *theSet, BVH_Tree< T, N > *theBVH, const Standard_Integer theNode, BVH_BinVector &theBins, const Standard_Integer theAxis) |
Arranges node primitives into bins. 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... | |
Additional Inherited Members | |
Protected Attributes inherited from BVH_QueueBuilder< T, N > | |
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... | |
Performs building of BVH tree using binned SAH algorithm. Number of Bins controls tree's quality (greater - better) in cost of construction time.
typedef BVH_Bin<T, N> BVH_BinnedBuilder< T, N, Bins >::BVH_BinVector[Bins] |
Type for the array of bins of BVH tree node.
BVH_BinnedBuilder< T, N, Bins >::BVH_BinnedBuilder | ( | const Standard_Integer | theLeafNodeSize = 5 , |
const Standard_Integer | theMaxTreeDepth = 32 , |
||
const Standard_Boolean | theToUseMainAxis = Standard_False |
||
) |
Creates binned SAH BVH builder.
|
virtual |
Releases resources of binned SAH BVH builder.
|
protectedvirtual |
Builds BVH node for specified task info.
Reimplemented from BVH_QueueBuilder< T, N >.
|
protectedvirtual |
Arranges node primitives into bins.