Open CASCADE Technology  6.9.0
Public Member Functions | Protected Member Functions | Protected Attributes
BVH_Geometry< T, N > Class Template Reference

BVH geometry as a set of abstract geometric objects organized with bounding volume hierarchy (BVH). More...

#include <BVH_Geometry.hxx>

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

Public Member Functions

 BVH_Geometry ()
 Creates uninitialized BVH geometry. More...
 
virtual ~BVH_Geometry ()
 Releases resources of BVH geometry. More...
 
virtual void MarkDirty ()
 Marks geometry as outdated. More...
 
virtual BVH_Box< T, N > Box () const
 Returns AABB of the whole geometry. More...
 
virtual const
NCollection_Handle< BVH_Tree
< T, N > > & 
BVH ()
 Returns BVH tree (and builds it if necessary). More...
 
virtual const
NCollection_Handle
< BVH_Builder< T, N > > & 
Builder () const
 Returns the method (builder) used to construct BVH. More...
 
virtual void SetBuilder (NCollection_Handle< BVH_Builder< T, N > > &theBuilder)
 Sets the method (builder) used to construct BVH. More...
 
- Public Member Functions inherited from BVH_ObjectSet< T, N >
 BVH_ObjectSet ()
 Creates new set of geometric objects. More...
 
virtual ~BVH_ObjectSet ()
 Releases resources of set of geometric objects. More...
 
virtual void Clear ()
 Removes all geometric objects. More...
 
BVH_ObjectListObjects ()
 Returns reference to the array of geometric objects. More...
 
const BVH_ObjectListObjects () const
 Returns reference to the array of geometric objects. More...
 
virtual Standard_Integer Size () const
 Return total number of objects. More...
 
virtual BVH_Box< T, N > Box (const Standard_Integer theIndex) const
 Returns AABB of the given object. More...
 
virtual T Center (const Standard_Integer theIndex, const Standard_Integer theAxis) const
 Returns centroid position along the given axis. More...
 
virtual void Swap (const Standard_Integer theIndex1, const Standard_Integer theIndex2)
 Performs transposing the two given objects in the set. More...
 
- Public Member Functions inherited from BVH_Set< T, N >
 BVH_Set ()
 Creates new abstract set of objects. More...
 
virtual ~BVH_Set ()=0
 Releases resources of set of objects. More...
 

Protected Member Functions

virtual void Update ()
 Updates internal geometry state. More...
 

Protected Attributes

Standard_Boolean myIsDirty
 Is geometry state outdated? More...
 
NCollection_Handle< BVH_Tree
< T, N > > 
myBVH
 Constructed hight-level BVH. More...
 
NCollection_Handle
< BVH_Builder< T, N > > 
myBuilder
 Builder for hight-level BVH. More...
 
BVH_Box< T, N > myBox
 Cached bounding box of geometric objects. More...
 
- Protected Attributes inherited from BVH_ObjectSet< T, N >
BVH_ObjectList myObjects
 Array of geometric objects. More...
 

Additional Inherited Members

- Public Types inherited from BVH_ObjectSet< T, N >
typedef NCollection_Vector
< NCollection_Handle
< BVH_Object< T, N > > > 
BVH_ObjectList
 Type of array of geometric objects. More...
 
- Public Types inherited from BVH_Set< T, N >
typedef BVH_Box< T, N > BVH_BoxNt
 

Detailed Description

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

BVH geometry as a set of abstract geometric objects organized with bounding volume hierarchy (BVH).

Template Parameters
TNumeric data type
NVector dimension

Constructor & Destructor Documentation

template<class T, int N>
BVH_Geometry< T, N >::BVH_Geometry ( )

Creates uninitialized BVH geometry.

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

Releases resources of BVH geometry.

Member Function Documentation

template<class T, int N>
virtual BVH_Box<T, N> BVH_Geometry< T, N >::Box ( ) const
virtual

Returns AABB of the whole geometry.

Reimplemented from BVH_Set< T, N >.

template<class T, int N>
virtual const NCollection_Handle<BVH_Builder<T, N> >& BVH_Geometry< T, N >::Builder ( ) const
virtual

Returns the method (builder) used to construct BVH.

template<class T, int N>
virtual const NCollection_Handle<BVH_Tree<T, N> >& BVH_Geometry< T, N >::BVH ( )
virtual

Returns BVH tree (and builds it if necessary).

template<class T, int N>
virtual void BVH_Geometry< T, N >::MarkDirty ( )
virtual

Marks geometry as outdated.

template<class T, int N>
virtual void BVH_Geometry< T, N >::SetBuilder ( NCollection_Handle< BVH_Builder< T, N > > &  theBuilder)
virtual

Sets the method (builder) used to construct BVH.

template<class T, int N>
virtual void BVH_Geometry< T, N >::Update ( )
protectedvirtual

Updates internal geometry state.

Field Documentation

template<class T, int N>
BVH_Box<T, N> BVH_Geometry< T, N >::myBox
mutableprotected

Cached bounding box of geometric objects.

template<class T, int N>
NCollection_Handle<BVH_Builder<T, N> > BVH_Geometry< T, N >::myBuilder
protected

Builder for hight-level BVH.

template<class T, int N>
NCollection_Handle<BVH_Tree<T, N> > BVH_Geometry< T, N >::myBVH
protected

Constructed hight-level BVH.

template<class T, int N>
Standard_Boolean BVH_Geometry< T, N >::myIsDirty
protected

Is geometry state outdated?


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