Open CASCADE Technology 7.8.2.dev
|
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>
Public Member Functions | |
Graphic3d_BvhCStructureSetTrsfPers (const Handle< BVH_Builder3d > &theBuilder) | |
Creates an empty primitive set for BVH clipping. | |
virtual Standard_Integer | Size () const override |
Returns total number of structures. | |
virtual Graphic3d_BndBox3d | Box (const Standard_Integer theIdx) const override |
Returns AABB of the structure. | |
virtual Standard_Real | Center (const Standard_Integer theIdx, const Standard_Integer theAxis) const override |
Calculates center of the AABB along given axis. | |
virtual void | Swap (const Standard_Integer theIdx1, const Standard_Integer theIdx2) override |
Swaps structures with the given indices. | |
Standard_Boolean | Add (const Graphic3d_CStructure *theStruct) |
Adds structure to the set. | |
Standard_Boolean | Remove (const Graphic3d_CStructure *theStruct) |
Removes the given structure from the set. | |
void | Clear () |
Cleans the whole primitive set. | |
const Graphic3d_CStructure * | GetStructureById (Standard_Integer 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< Standard_Real, 3 > > & | BVH (const Handle< Graphic3d_Camera > &theCamera, const Graphic3d_Mat4d &theProjectionMatrix, const Graphic3d_Mat4d &theWorldViewMatrix, const Standard_Integer theViewportWidth, const Standard_Integer theViewportHeight, const Graphic3d_WorldViewProjState &theWVPState) |
Returns BVH tree for the given world view projection (builds it if necessary). | |
const Handle< BVH_Builder3d > & | Builder () const |
Returns builder for bottom-level BVH. | |
void | SetBuilder (const Handle< BVH_Builder3d > &theBuilder) |
Assigns builder for bottom-level BVH. | |
Public Member Functions inherited from BVH_Set< Standard_Real, 3 > | |
BVH_Set () | |
Creates new abstract set of objects. | |
virtual | ~BVH_Set () |
Releases resources of set of objects. | |
virtual BVH_Box< Standard_Real, N > | Box () const |
Returns AABB of the entire set of objects. | |
Additional Inherited Members | |
Public Types inherited from BVH_Set< Standard_Real, 3 > | |
typedef BVH_Box< Standard_Real, N > | BVH_BoxNt |
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).
Graphic3d_BvhCStructureSetTrsfPers::Graphic3d_BvhCStructureSetTrsfPers | ( | const Handle< BVH_Builder3d > & | theBuilder | ) |
Creates an empty primitive set for BVH clipping.
Standard_Boolean Graphic3d_BvhCStructureSetTrsfPers::Add | ( | const Graphic3d_CStructure * | theStruct | ) |
Adds structure to the set.
|
overridevirtual |
Returns AABB of the structure.
Implements BVH_Set< Standard_Real, 3 >.
|
inline |
Returns builder for bottom-level BVH.
const opencascade::handle< BVH_Tree< Standard_Real, 3 > > & Graphic3d_BvhCStructureSetTrsfPers::BVH | ( | const Handle< Graphic3d_Camera > & | theCamera, |
const Graphic3d_Mat4d & | theProjectionMatrix, | ||
const Graphic3d_Mat4d & | theWorldViewMatrix, | ||
const Standard_Integer | theViewportWidth, | ||
const Standard_Integer | theViewportHeight, | ||
const Graphic3d_WorldViewProjState & | theWVPState ) |
Returns BVH tree for the given world view projection (builds it if necessary).
|
overridevirtual |
Calculates center of the AABB along given axis.
Implements BVH_Set< Standard_Real, 3 >.
void Graphic3d_BvhCStructureSetTrsfPers::Clear | ( | ) |
Cleans the whole primitive set.
const Graphic3d_CStructure * Graphic3d_BvhCStructureSetTrsfPers::GetStructureById | ( | Standard_Integer | theId | ) |
Returns the structure corresponding to the given ID.
|
inline |
Marks object state as outdated (needs BVH rebuilding).
Standard_Boolean Graphic3d_BvhCStructureSetTrsfPers::Remove | ( | const Graphic3d_CStructure * | theStruct | ) |
Removes the given structure from the set.
|
inline |
Assigns builder for bottom-level BVH.
|
overridevirtual |
Returns total number of structures.
Implements BVH_Set< Standard_Real, 3 >.
|
inline |
Access directly a collection of structures.
|
overridevirtual |
Swaps structures with the given indices.
Implements BVH_Set< Standard_Real, 3 >.