Open CASCADE Technology  6.9.0
Public Types | Public Member Functions | Data Fields

BVH_Triangulation< T, N > Class Template Reference

Triangulation as an example of BVH primitive set. More...

#include <BVH_Triangulation.hxx>

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

Public Types

typedef BVH::VectorType< T, N >
::Type 
BVH_VecNt
 
- Public Types inherited from BVH_Set< T, N >
typedef BVH_Box< T, N > BVH_BoxNt
 

Public Member Functions

 BVH_Triangulation ()
 Creates empty triangulation. More...
 
virtual ~BVH_Triangulation ()
 Releases resources of triangulation. More...
 
virtual Standard_Integer Size () const
 Returns total number of triangles. More...
 
virtual BVH_Box< T, N > Box (const Standard_Integer theIndex) const
 Returns AABB of the given triangle. 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 triangles in the set. More...
 
- Public Member Functions inherited from BVH_PrimitiveSet< T, N >
 BVH_PrimitiveSet ()
 Creates set of abstract primitives. More...
 
virtual ~BVH_PrimitiveSet ()
 Releases resources of set of abstract primitives. More...
 
virtual BVH_Box< T, N > Box () const
 Returns AABB of primitive set. 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_Object< T, N >
 BVH_Object ()
 Creates new abstract geometric object. More...
 
virtual ~BVH_Object ()=0
 Releases resources of geometric object. More...
 
virtual const
NCollection_Handle
< BVH_Properties > & 
Properties () const
 Returns properties of the geometric object. More...
 
virtual void SetProperties (const NCollection_Handle< BVH_Properties > &theProperties)
 Sets properties of the geometric object. More...
 
virtual void MarkDirty ()
 Marks object state as outdated (needs BVH rebuilding). 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...
 

Data Fields

BVH::ArrayType< T, N >::Type Vertices
 Array of vertex coordinates. More...
 
BVH_Array4i Elements
 Array of indices of triangle vertices. More...
 

Additional Inherited Members

- Protected Member Functions inherited from BVH_PrimitiveSet< T, N >
virtual void Update ()
 Updates BVH of primitive set. More...
 
- Protected Attributes inherited from BVH_PrimitiveSet< T, N >
NCollection_Handle< BVH_Tree
< T, N > > 
myBVH
 Constructed bottom-level BVH. More...
 
NCollection_Handle
< BVH_Builder< T, N > > 
myBuilder
 Builder for bottom-level BVH. More...
 
BVH_Box< T, N > myBox
 Cached bounding box of geometric primitives. More...
 
- Protected Attributes inherited from BVH_Object< T, N >
Standard_Boolean myIsDirty
 Marks internal object state as outdated. More...
 
NCollection_Handle
< BVH_Properties
myProperties
 Generic properties assigned to the object. More...
 

Detailed Description

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

Triangulation as an example of BVH primitive set.

Template Parameters
TNumeric data type
NVector dimension

Member Typedef Documentation

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

Constructor & Destructor Documentation

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

Creates empty triangulation.

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

Releases resources of triangulation.

Member Function Documentation

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

Returns AABB of the given triangle.

Implements BVH_Set< T, N >.

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

Returns centroid position along the given axis.

Implements BVH_Set< T, N >.

Reimplemented in OpenGl_TriangleSet.

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

Returns total number of triangles.

Implements BVH_Set< T, N >.

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

Performs transposing the two given triangles in the set.

Implements BVH_Set< T, N >.

Field Documentation

template<class T, int N>
BVH_Array4i BVH_Triangulation< T, N >::Elements

Array of indices of triangle vertices.

template<class T, int N>
BVH::ArrayType<T, N>::Type BVH_Triangulation< T, N >::Vertices

Array of vertex coordinates.


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