Open CASCADE Technology 7.8.2.dev
BVH_ObjectSet< T, N > Class Template Reference

Array of abstract entities (bounded by BVH boxes) to built BVH. More...

#include <BVH_ObjectSet.hxx>

Inheritance diagram for BVH_ObjectSet< T, N >:

Public Types

typedef NCollection_Vector< 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
 

Public Member Functions

 BVH_ObjectSet ()
 Creates new set of geometric objects.
 
virtual ~BVH_ObjectSet ()
 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.
 
virtual Standard_Integer Size () const override
 Return total number of objects.
 
virtual BVH_Box< T, N > Box (const Standard_Integer theIndex) const override
 Returns AABB of the given object.
 
virtual T Center (const Standard_Integer theIndex, const Standard_Integer theAxis) const override
 Returns centroid position along the given axis.
 
virtual void Swap (const Standard_Integer theIndex1, const Standard_Integer theIndex2) override
 Performs transposing the two given objects in the set.
 
- Public Member Functions inherited from BVH_Set< T, N >
 BVH_Set ()
 Creates new abstract set of objects.
 
virtual ~BVH_Set ()
 Releases resources of set of objects.
 
virtual BVH_Box< T, N > Box () const
 Returns AABB of the entire set of objects.
 

Protected Attributes

BVH_ObjectList myObjects
 Array of geometric objects.
 

Detailed Description

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

Array of abstract entities (bounded by BVH boxes) to built BVH.

Template Parameters
TNumeric data type
NVector dimension

Member Typedef Documentation

◆ BVH_ObjectList

template<class T , int N>
NCollection_Vector<opencascade::handle<BVH_Object<T, N> > > BVH_ObjectSet< T, N >::BVH_ObjectList

Type of array of geometric objects.

Constructor & Destructor Documentation

◆ BVH_ObjectSet()

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

Creates new set of geometric objects.

◆ ~BVH_ObjectSet()

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

Releases resources of set of geometric objects.

Member Function Documentation

◆ Box()

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

Returns AABB of the given object.

Implements BVH_Set< T, N >.

◆ Center()

template<class T , int N>
virtual T BVH_ObjectSet< T, N >::Center ( const Standard_Integer theIndex,
const Standard_Integer theAxis ) const
inlineoverridevirtual

Returns centroid position along the given axis.

Implements BVH_Set< T, N >.

◆ Clear()

template<class T , int N>
virtual void BVH_ObjectSet< T, N >::Clear ( )
inlinevirtual

Removes all geometric objects.

Reimplemented in OpenGl_RaytraceGeometry.

◆ Objects() [1/2]

template<class T , int N>
BVH_ObjectList & BVH_ObjectSet< T, N >::Objects ( )
inline

Returns reference to the array of geometric objects.

◆ Objects() [2/2]

template<class T , int N>
const BVH_ObjectList & BVH_ObjectSet< T, N >::Objects ( ) const
inline

Returns reference to the array of geometric objects.

◆ Size()

template<class T , int N>
virtual Standard_Integer BVH_ObjectSet< T, N >::Size ( ) const
inlineoverridevirtual

Return total number of objects.

Implements BVH_Set< T, N >.

◆ Swap()

template<class T , int N>
virtual void BVH_ObjectSet< T, N >::Swap ( const Standard_Integer theIndex1,
const Standard_Integer theIndex2 )
inlineoverridevirtual

Performs transposing the two given objects in the set.

Implements BVH_Set< T, N >.

Field Documentation

◆ myObjects

template<class T , int N>
BVH_ObjectList BVH_ObjectSet< T, N >::myObjects
protected

Array of geometric objects.


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