Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
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.
 
 BVH_Geometry (const opencascade::handle< BVH_Builder< T, N > > &theBuilder)
 Creates uninitialized BVH geometry.
 
 ~BVH_Geometry () override
 Releases resources of BVH geometry.
 
virtual bool IsDirty () const
 Returns TRUE if geometry state should be updated.
 
virtual void MarkDirty ()
 Marks geometry as outdated.
 
BVH_Box< T, N > Box () const override
 Returns AABB of the whole geometry.
 
virtual const opencascade::handle< BVH_Tree< T, N > > & BVH ()
 Returns BVH tree (and builds it if necessary).
 
virtual const opencascade::handle< BVH_Builder< T, N > > & Builder () const
 Returns the method (builder) used to construct BVH.
 
virtual void SetBuilder (const opencascade::handle< BVH_Builder< T, N > > &theBuilder)
 Sets the method (builder) used to construct BVH.
 
- Public Member Functions inherited from BVH_ObjectSet< T, N >
 BVH_ObjectSet ()=default
 Creates new set of geometric objects.
 
 ~BVH_ObjectSet () override=default
 Releases resources of set of geometric objects.
 
virtual void Clear ()
 Removes all geometric objects.
 
BVH_ObjectListObjects ()
 Returns reference to the array of geometric objects.
 
const BVH_ObjectListObjects () const
 Returns reference to the array of geometric objects.
 
int Size () const override
 Return total number of objects.
 
BVH_Box< T, N > Box (const int theIndex) const override
 Returns AABB of the given object.
 
Center (const int theIndex, const int theAxis) const override
 Returns centroid position along the given axis.
 
void Swap (const int theIndex1, const int theIndex2) override
 Performs transposing the two given objects in the set.
 
- Public Member Functions inherited from BVH_Set< T, N >
 BVH_Set ()=default
 Creates new abstract set of objects.
 
virtual ~BVH_Set ()=default
 Releases resources of set of objects.
 

Protected Member Functions

virtual void Update ()
 Updates internal geometry state.
 

Protected Attributes

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

Additional Inherited Members

- Public Types inherited from BVH_ObjectSet< T, N >
typedef NCollection_DynamicArray< opencascade::handle< BVH_Object< T, N > > > BVH_ObjectList
 Type of array of geometric objects.
 
- 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>
BVH_Geometry< T, N >::~BVH_Geometry ( )
inlineoverride

Releases resources of BVH geometry.

Member Function Documentation

◆ Box()

template<class T , int N>
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 bool 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 high-level BVH.

◆ myBVH

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

Constructed high-level BVH.

◆ myIsDirty

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

Is geometry state outdated?


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