Open CASCADE Technology
7.4.0
|
Performs radix sort of a BVH primitive set using 10-bit Morton codes (or 1024 x 1024 x 1024 grid). More...
#include <BVH_RadixSorter.hxx>
Public Types | |
typedef BVH::VectorType< T, N >::Type | BVH_VecNt |
Public Member Functions | |
BVH_RadixSorter (const BVH_Box< T, N > &theBox) | |
Creates new BVH radix sorter for the given AABB. More... | |
virtual void | Perform (BVH_Set< T, N > *theSet) override |
Sorts the set. More... | |
virtual void | Perform (BVH_Set< T, N > *theSet, const Standard_Integer theStart, const Standard_Integer theFinal) override |
Sorts the given (inclusive) range in the set. More... | |
const NCollection_Array1< BVH_EncodedLink > & | EncodedLinks () const |
Returns Morton codes assigned to BVH primitives. More... | |
Public Member Functions inherited from BVH_Sorter< T, N > | |
BVH_Sorter () | |
Performs default initialization. More... | |
virtual | ~BVH_Sorter () |
Releases resources of BVH sorter. More... | |
Standard_Boolean | IsParallel () const |
Returns parallel flag. More... | |
void | SetParallel (const Standard_Boolean isParallel) |
Set parallel flag contolling possibility of parallel execution. More... | |
Protected Attributes | |
BVH_Box< T, N > | myBox |
Axis-aligned bounding box (AABB) to perform sorting. More... | |
Handle< NCollection_Shared< NCollection_Array1< BVH_EncodedLink > > > | myEncodedLinks |
Morton codes assigned to BVH primitives. More... | |
Performs radix sort of a BVH primitive set using 10-bit Morton codes (or 1024 x 1024 x 1024 grid).
typedef BVH::VectorType<T, N>::Type BVH_RadixSorter< T, N >::BVH_VecNt |
|
inline |
Creates new BVH radix sorter for the given AABB.
|
inline |
Returns Morton codes assigned to BVH primitives.
|
inlineoverridevirtual |
Sorts the set.
Implements BVH_Sorter< T, N >.
|
overridevirtual |
Sorts the given (inclusive) range in the set.
Implements BVH_Sorter< T, N >.
|
protected |
Axis-aligned bounding box (AABB) to perform sorting.
|
protected |
Morton codes assigned to BVH primitives.