Open CASCADE Technology  7.0.0
Public Member Functions

OpenGl_BVHClipPrimitiveTrsfPersSet 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 <OpenGl_BVHClipPrimitiveTrsfPersSet.hxx>

Inheritance diagram for OpenGl_BVHClipPrimitiveTrsfPersSet:
Inheritance graph
[legend]

Public Member Functions

 OpenGl_BVHClipPrimitiveTrsfPersSet ()
 Creates an empty primitive set for BVH clipping. More...
 
virtual Standard_Integer Size () const override
 Returns total number of structures. More...
 
virtual Graphic3d_BndBox4f Box (const Standard_Integer theIdx) const override
 Returns AABB of the structure. More...
 
virtual Standard_ShortReal Center (const Standard_Integer theIdx, const Standard_Integer theAxis) const override
 Calculates center of the AABB along given axis. More...
 
virtual void Swap (const Standard_Integer theIdx1, const Standard_Integer theIdx2) override
 Swaps structures with the given indices. More...
 
Standard_Boolean Add (const OpenGl_Structure *theStruct)
 Adds structure to the set. More...
 
Standard_Boolean Remove (const OpenGl_Structure *theStruct)
 Removes the given structure from the set. More...
 
void Clear ()
 Cleans the whole primitive set. More...
 
const OpenGl_StructureGetStructureById (Standard_Integer theId)
 Returns the structure corresponding to the given ID. More...
 
void MarkDirty ()
 Marks object state as outdated (needs BVH rebuilding). More...
 
const NCollection_Handle< BVH_Tree< Standard_ShortReal, 4 > > & BVH (const OpenGl_Mat4 &theProjectionMatrix, const OpenGl_Mat4 &theWorldViewMatrix, const Graphic3d_WorldViewProjState &theWVPState)
 Returns BVH tree for the given world view projection (builds it if necessary). More...
 
- Public Member Functions inherited from BVH_Set< Standard_ShortReal, 4 >
 BVH_Set ()
 Creates new abstract set of objects. More...
 
virtual ~BVH_Set ()=0
 Releases resources of set of objects. More...
 
virtual BVH_Box< Standard_ShortReal, N > Box () const
 Returns AABB of the entire set of objects. More...
 

Additional Inherited Members

- Public Types inherited from BVH_Set< Standard_ShortReal, 4 >
typedef BVH_Box< Standard_ShortReal, 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

OpenGl_BVHClipPrimitiveTrsfPersSet::OpenGl_BVHClipPrimitiveTrsfPersSet ( )

Creates an empty primitive set for BVH clipping.

Member Function Documentation

Standard_Boolean OpenGl_BVHClipPrimitiveTrsfPersSet::Add ( const OpenGl_Structure theStruct)

Adds structure to the set.

Returns
true if structure added, otherwise returns false (structure already in the set).
virtual Graphic3d_BndBox4f OpenGl_BVHClipPrimitiveTrsfPersSet::Box ( const Standard_Integer  theIdx) const
overridevirtual

Returns AABB of the structure.

Implements BVH_Set< Standard_ShortReal, 4 >.

const NCollection_Handle<BVH_Tree<Standard_ShortReal, 4> >& OpenGl_BVHClipPrimitiveTrsfPersSet::BVH ( const OpenGl_Mat4 theProjectionMatrix,
const OpenGl_Mat4 theWorldViewMatrix,
const Graphic3d_WorldViewProjState theWVPState 
)

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

virtual Standard_ShortReal OpenGl_BVHClipPrimitiveTrsfPersSet::Center ( const Standard_Integer  theIdx,
const Standard_Integer  theAxis 
) const
overridevirtual

Calculates center of the AABB along given axis.

Implements BVH_Set< Standard_ShortReal, 4 >.

void OpenGl_BVHClipPrimitiveTrsfPersSet::Clear ( )

Cleans the whole primitive set.

const OpenGl_Structure* OpenGl_BVHClipPrimitiveTrsfPersSet::GetStructureById ( Standard_Integer  theId)

Returns the structure corresponding to the given ID.

void OpenGl_BVHClipPrimitiveTrsfPersSet::MarkDirty ( )
inline

Marks object state as outdated (needs BVH rebuilding).

Standard_Boolean OpenGl_BVHClipPrimitiveTrsfPersSet::Remove ( const OpenGl_Structure theStruct)

Removes the given structure from the set.

Returns
true if structure removed, otherwise returns false (structure is not in the set).
virtual Standard_Integer OpenGl_BVHClipPrimitiveTrsfPersSet::Size ( ) const
overridevirtual

Returns total number of structures.

Implements BVH_Set< Standard_ShortReal, 4 >.

virtual void OpenGl_BVHClipPrimitiveTrsfPersSet::Swap ( const Standard_Integer  theIdx1,
const Standard_Integer  theIdx2 
)
overridevirtual

Swaps structures with the given indices.

Implements BVH_Set< Standard_ShortReal, 4 >.


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