Open CASCADE Technology: BVH_PrimitiveSet< T, N > Class Template Reference

Open CASCADE Technology 6.9.1

- Main Page
- Related Pages
- Namespaces
- Data Structures
- Files

- Data Structures
- Data Structure Index
- Class Hierarchy
- Data Fields

Public Member Functions | Protected Member Functions | Protected Attributes
BVH_PrimitiveSet< T, N > Class Template Reference

Set of abstract geometric primitives organized with bounding volume hierarchy (BVH). Unlike an object set, this collection is designed for storing structural elements of a single object (such as triangles in the object triangulation). Because there may be a large number of such elements, the implementations of this interface should be sufficiently optimized. More...

`#include <BVH_PrimitiveSet.hxx>`

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

## Public Member Functions
| 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...
virtual Standard_Integer | Size () const =0
| Returns total number of objects. More...
virtual BVH_Box< T, N > | Box (const Standard_Integer theIndex) const =0
| Returns AABB of the given object. More...
virtual T | Center (const Standard_Integer theIndex, const Standard_Integer theAxis) const =0
| Returns centroid position along the given axis. More...
virtual void | Swap (const Standard_Integer theIndex1, const Standard_Integer theIndex2)=0
| Performs transposing the two given objects in the set. More...

## Protected Member Functions
virtual void | Update ()
| Updates BVH of primitive set. More...

## Protected Attributes
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...

## Additional Inherited Members
Public Types inherited from BVH_Set< T, N >
typedef BVH_Box< T, N > | BVH_BoxNt

## Detailed Description

### template<class T, int N>
class BVH_PrimitiveSet< T, N >

Set of abstract geometric primitives organized with bounding volume hierarchy (BVH). Unlike an object set, this collection is designed for storing structural elements of a single object (such as triangles in the object triangulation). Because there may be a large number of such elements, the implementations of this interface should be sufficiently optimized.

Template Parameters

  T | Numeric data type
  N | Vector dimension

## Constructor & Destructor Documentation

template<class T, int N>

BVH_PrimitiveSet< T, N >::BVH_PrimitiveSet | ( |  | ) |

Creates set of abstract primitives.

template<class T, int N>

virtual BVH_PrimitiveSet< T, N >::~BVH_PrimitiveSet | ( |  | ) |
| virtual

Releases resources of set of abstract primitives.

## Member Function Documentation

template<class T, int N>

virtual BVH_Box<T, N> BVH_PrimitiveSet< T, N >::Box | ( |  | ) | const
| virtual

Returns AABB of primitive set.

Implements BVH_Object< T, N >.

Reimplemented in OpenGl_TriangleSet.

template<class T, int N>

virtual const NCollection_Handle<BVH_Builder<T, N> >& BVH_PrimitiveSet< 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_PrimitiveSet< T, N >::BVH | ( |  | ) |
| virtual

Returns BVH tree (and builds it if necessary).

template<class T, int N>

virtual void BVH_PrimitiveSet< 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_PrimitiveSet< T, N >::Update | ( |  | ) |
| protectedvirtual

Updates BVH of primitive set.

## Field Documentation

template<class T, int N>

BVH_Box<T, N> BVH_PrimitiveSet< T, N >::myBox
| mutableprotected

Cached bounding box of geometric primitives.

template<class T, int N>

NCollection_Handle<BVH_Builder<T, N> > BVH_PrimitiveSet< T, N >::myBuilder
| protected

Builder for bottom-level BVH.

template<class T, int N>

NCollection_Handle<BVH_Tree<T, N> > BVH_PrimitiveSet< T, N >::myBVH
| protected

Constructed bottom-level BVH.

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

- BVH_PrimitiveSet.hxx