Open CASCADE Technology  7.1.0.beta
Public Types | Public Member Functions | Protected Attributes

BVH_RadixSorter< T, N > Class Template Reference

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>

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

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)
 Sorts the set. More...
 
virtual void Perform (BVH_Set< T, N > *theSet, const Standard_Integer theStart, const Standard_Integer theFinal)
 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 >
virtual ~BVH_Sorter ()
 Releases resources of BVH sorter. More...
 

Protected Attributes

BVH_Box< T, N > myBox
 Axis-aligned bounding box (AABB) to perform sorting. More...
 
NCollection_Handle< NCollection_Array1< BVH_EncodedLink > > myEncodedLinks
 Morton codes assigned to BVH primitives. More...
 

Detailed Description

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

Performs radix sort of a BVH primitive set using 10-bit Morton codes (or 1024 x 1024 x 1024 grid).

Member Typedef Documentation

template<class T , int N>
typedef BVH::VectorType<T, N>::Type BVH_RadixSorter< T, N >::BVH_VecNt

Constructor & Destructor Documentation

template<class T , int N>
BVH_RadixSorter< T, N >::BVH_RadixSorter ( const BVH_Box< T, N > &  theBox)
inline

Creates new BVH radix sorter for the given AABB.

Member Function Documentation

template<class T , int N>
const NCollection_Array1<BVH_EncodedLink>& BVH_RadixSorter< T, N >::EncodedLinks ( ) const
inline

Returns Morton codes assigned to BVH primitives.

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

Sorts the set.

Implements BVH_Sorter< T, N >.

template<class T , int N>
virtual void BVH_RadixSorter< T, N >::Perform ( BVH_Set< T, N > *  theSet,
const Standard_Integer  theStart,
const Standard_Integer  theFinal 
)
virtual

Sorts the given (inclusive) range in the set.

Implements BVH_Sorter< T, N >.

Field Documentation

template<class T , int N>
BVH_Box<T, N> BVH_RadixSorter< T, N >::myBox
protected

Axis-aligned bounding box (AABB) to perform sorting.

template<class T , int N>
NCollection_Handle<NCollection_Array1<BVH_EncodedLink> > BVH_RadixSorter< T, N >::myEncodedLinks
protected

Morton codes assigned to BVH primitives.


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