Open CASCADE Technology  7.3.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...
 
 BVH_Geometry (const opencascade::handle< BVH_Builder< T, N > > &theBuilder)
 Creates uninitialized BVH geometry. More...
 
virtual ~BVH_Geometry ()
 Releases resources of BVH geometry. More...
 
virtual Standard_Boolean IsDirty () const
 Returns TRUE if geometry state should be updated. More...
 
virtual void MarkDirty ()
 Marks geometry as outdated. More...
 
virtual BVH_Box< T, N > Box () const override
 Returns AABB of the whole geometry. More...
 
virtual const opencascade::handle< BVH_Tree< T, N > > & BVH ()
 Returns BVH tree (and builds it if necessary). More...
 
virtual const opencascade::handle< BVH_Builder< T, N > > & Builder () const
 Returns the method (builder) used to construct BVH. More...
 
virtual void SetBuilder (const opencascade::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 override
 Return total number of objects. More...
 
virtual BVH_Box< T, N > Box (const Standard_Integer theIndex) const override
 Returns AABB of the given object. More...
 
virtual T Center (const Standard_Integer theIndex, const Standard_Integer theAxis) const override
 Returns centroid position along the given axis. More...
 
virtual void Swap (const Standard_Integer theIndex1, const Standard_Integer theIndex2) override
 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...
 
opencascade::handle< BVH_Tree< T, N > > myBVH
 Constructed hight-level BVH. More...
 
opencascade::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< opencascade::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

◆ BVH_Geometry() [1/2]

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

Creates uninitialized BVH geometry.

◆ BVH_Geometry() [2/2]

template<class T, int N>
BVH_Geometry< T, N >::BVH_Geometry ( const opencascade::handle< BVH_Builder< T, N > > &  theBuilder)
inline

Creates uninitialized BVH geometry.

◆ ~BVH_Geometry()

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

Releases resources of BVH geometry.

Member Function Documentation

◆ Box()

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

Returns AABB of the whole geometry.

Reimplemented from BVH_Set< T, N >.

◆ Builder()

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

Returns the method (builder) used to construct BVH.

◆ BVH()

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

Returns BVH tree (and builds it if necessary).

◆ IsDirty()

template<class T, int N>
virtual Standard_Boolean BVH_Geometry< T, N >::IsDirty ( ) const
inlinevirtual

Returns TRUE if geometry state should be updated.

◆ MarkDirty()

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

Marks geometry as outdated.

◆ SetBuilder()

template<class T, int N>
virtual void BVH_Geometry< T, N >::SetBuilder ( const opencascade::handle< BVH_Builder< T, N > > &  theBuilder)
inlinevirtual

Sets the method (builder) used to construct BVH.

◆ Update()

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

Updates internal geometry state.

Field Documentation

◆ myBox

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

Cached bounding box of geometric objects.

◆ myBuilder

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

Builder for hight-level BVH.

◆ myBVH

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

Constructed hight-level BVH.

◆ myIsDirty

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: