Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions
Graphic3d_BvhCStructureSetTrsfPers Class Reference

Set of transformation persistent OpenGl_Structure for building BVH tree. Provides built-in mechanism to invalidate tree when world view projection state changes. Due to frequent invalidation of BVH tree the choice of BVH tree builder is made in favor of BVH linear builder (quick rebuild). More...

#include <Graphic3d_BvhCStructureSetTrsfPers.hxx>

Inheritance diagram for Graphic3d_BvhCStructureSetTrsfPers:
Inheritance graph
[legend]

Public Member Functions

 Graphic3d_BvhCStructureSetTrsfPers (const occ::handle< BVH_Builder3d > &theBuilder)
 Creates an empty primitive set for BVH clipping.
 
int Size () const override
 Returns total number of structures.
 
Graphic3d_BndBox3d Box (const int theIdx) const override
 Returns AABB of the structure.
 
double Center (const int theIdx, const int theAxis) const override
 Calculates center of the AABB along given axis.
 
void Swap (const int theIdx1, const int theIdx2) override
 Swaps structures with the given indices.
 
bool Add (const Graphic3d_CStructure *theStruct)
 Adds structure to the set.
 
bool Remove (const Graphic3d_CStructure *theStruct)
 Removes the given structure from the set.
 
void Clear ()
 Cleans the whole primitive set.
 
const Graphic3d_CStructureGetStructureById (int theId)
 Returns the structure corresponding to the given ID.
 
const NCollection_IndexedMap< const Graphic3d_CStructure * > & Structures () const
 Access directly a collection of structures.
 
void MarkDirty ()
 Marks object state as outdated (needs BVH rebuilding).
 
const opencascade::handle< BVH_Tree< double, 3 > > & BVH (const occ::handle< Graphic3d_Camera > &theCamera, const NCollection_Mat4< double > &theProjectionMatrix, const NCollection_Mat4< double > &theWorldViewMatrix, const int theViewportWidth, const int theViewportHeight, const Graphic3d_WorldViewProjState &theWVPState)
 Returns BVH tree for the given world view projection (builds it if necessary).
 
const occ::handle< BVH_Builder3d > & Builder () const
 Returns builder for bottom-level BVH.
 
void SetBuilder (const occ::handle< BVH_Builder3d > &theBuilder)
 Assigns builder for bottom-level BVH.
 
- Public Member Functions inherited from BVH_Set< double, 3 >
 BVH_Set ()=default
 Creates new abstract set of objects.
 
virtual ~BVH_Set ()=default
 Releases resources of set of objects.
 
virtual BVH_Box< double, N > Box () const
 Returns AABB of the entire set of objects.
 

Additional Inherited Members

- Public Types inherited from BVH_Set< double, 3 >
typedef BVH_Box< double, N > BVH_BoxNt
 

Detailed Description

Set of transformation persistent OpenGl_Structure for building BVH tree. Provides built-in mechanism to invalidate tree when world view projection state changes. Due to frequent invalidation of BVH tree the choice of BVH tree builder is made in favor of BVH linear builder (quick rebuild).

Constructor & Destructor Documentation

◆ Graphic3d_BvhCStructureSetTrsfPers()

Graphic3d_BvhCStructureSetTrsfPers::Graphic3d_BvhCStructureSetTrsfPers ( const occ::handle< BVH_Builder3d > & theBuilder)

Creates an empty primitive set for BVH clipping.

Member Function Documentation

◆ Add()

bool Graphic3d_BvhCStructureSetTrsfPers::Add ( const Graphic3d_CStructure * theStruct)

Adds structure to the set.

Returns
true if structure added, otherwise returns false (structure already in the set).

◆ Box()

Graphic3d_BndBox3d Graphic3d_BvhCStructureSetTrsfPers::Box ( const int theIdx) const
overridevirtual

Returns AABB of the structure.

Implements BVH_Set< double, 3 >.

◆ Builder()

const occ::handle< BVH_Builder3d > & Graphic3d_BvhCStructureSetTrsfPers::Builder ( ) const
inline

Returns builder for bottom-level BVH.

◆ BVH()

const opencascade::handle< BVH_Tree< double, 3 > > & Graphic3d_BvhCStructureSetTrsfPers::BVH ( const occ::handle< Graphic3d_Camera > & theCamera,
const NCollection_Mat4< double > & theProjectionMatrix,
const NCollection_Mat4< double > & theWorldViewMatrix,
const int theViewportWidth,
const int theViewportHeight,
const Graphic3d_WorldViewProjState & theWVPState )

Returns BVH tree for the given world view projection (builds it if necessary).

◆ Center()

double Graphic3d_BvhCStructureSetTrsfPers::Center ( const int theIdx,
const int theAxis ) const
overridevirtual

Calculates center of the AABB along given axis.

Implements BVH_Set< double, 3 >.

◆ Clear()

void Graphic3d_BvhCStructureSetTrsfPers::Clear ( )

Cleans the whole primitive set.

◆ GetStructureById()

const Graphic3d_CStructure * Graphic3d_BvhCStructureSetTrsfPers::GetStructureById ( int theId)

Returns the structure corresponding to the given ID.

◆ MarkDirty()

void Graphic3d_BvhCStructureSetTrsfPers::MarkDirty ( )
inline

Marks object state as outdated (needs BVH rebuilding).

◆ Remove()

bool Graphic3d_BvhCStructureSetTrsfPers::Remove ( const Graphic3d_CStructure * theStruct)

Removes the given structure from the set.

Returns
true if structure removed, otherwise returns false (structure is not in the set).

◆ SetBuilder()

void Graphic3d_BvhCStructureSetTrsfPers::SetBuilder ( const occ::handle< BVH_Builder3d > & theBuilder)
inline

Assigns builder for bottom-level BVH.

◆ Size()

int Graphic3d_BvhCStructureSetTrsfPers::Size ( ) const
overridevirtual

Returns total number of structures.

Implements BVH_Set< double, 3 >.

◆ Structures()

const NCollection_IndexedMap< const Graphic3d_CStructure * > & Graphic3d_BvhCStructureSetTrsfPers::Structures ( ) const
inline

Access directly a collection of structures.

◆ Swap()

void Graphic3d_BvhCStructureSetTrsfPers::Swap ( const int theIdx1,
const int theIdx2 )
overridevirtual

Swaps structures with the given indices.

Implements BVH_Set< double, 3 >.


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