Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes
BVH_QuickSorter< T, N > Class Template Reference

Performs centroid-based sorting of abstract set along the given axis (X - 0, Y - 1, Z - 2) using std::sort. Uses introsort algorithm which guarantees O(n log n) complexity. More...

#include <BVH_QuickSorter.hxx>

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

Public Member Functions

 BVH_QuickSorter (const int theAxis=0)
 Creates new BVH quick sorter for the given axis.
 
void Perform (BVH_Set< T, N > *theSet) override
 Sorts the set.
 
void Perform (BVH_Set< T, N > *theSet, const int theStart, const int theFinal) override
 Sorts the given (inclusive) range in the set.
 
- Public Member Functions inherited from BVH_Sorter< T, N >
 BVH_Sorter ()
 Performs default initialization.
 
virtual ~BVH_Sorter ()=default
 Releases resources of BVH sorter.
 
bool IsParallel () const
 Returns parallel flag.
 
void SetParallel (const bool isParallel)
 Set parallel flag controlling possibility of parallel execution.
 

Protected Attributes

int myAxis
 Axis used to arrange the primitives (X - 0, Y - 1, Z - 2).
 

Detailed Description

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

Performs centroid-based sorting of abstract set along the given axis (X - 0, Y - 1, Z - 2) using std::sort. Uses introsort algorithm which guarantees O(n log n) complexity.

Constructor & Destructor Documentation

◆ BVH_QuickSorter()

template<class T , int N>
BVH_QuickSorter< T, N >::BVH_QuickSorter ( const int theAxis = 0)
inline

Creates new BVH quick sorter for the given axis.

Member Function Documentation

◆ Perform() [1/2]

template<class T , int N>
void BVH_QuickSorter< T, N >::Perform ( BVH_Set< T, N > * theSet)
inlineoverridevirtual

Sorts the set.

Implements BVH_Sorter< T, N >.

◆ Perform() [2/2]

template<class T , int N>
void BVH_QuickSorter< T, N >::Perform ( BVH_Set< T, N > * theSet,
const int theStart,
const int theFinal )
inlineoverridevirtual

Sorts the given (inclusive) range in the set.

Implements BVH_Sorter< T, N >.

Field Documentation

◆ myAxis

template<class T , int N>
int BVH_QuickSorter< T, N >::myAxis
protected

Axis used to arrange the primitives (X - 0, Y - 1, Z - 2).


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