Open CASCADE Technology 7.8.0
|
Set of OpenGl_Structures for building BVH tree. More...
#include <Graphic3d_BvhCStructureSet.hxx>
Public Member Functions | |
Graphic3d_BvhCStructureSet () | |
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. | |
Public Member Functions inherited from BVH_PrimitiveSet< T, N > | |
BVH_PrimitiveSet () | |
Creates set of abstract primitives. | |
BVH_PrimitiveSet (const opencascade::handle< BVH_Builder< T, N > > &theBuilder) | |
Creates set of abstract primitives. | |
virtual | ~BVH_PrimitiveSet () |
Releases resources of set of abstract primitives. | |
virtual const opencascade::handle< BVH_Tree< T, N > > & | BVH () |
Returns BVH tree (and builds it if necessary). | |
virtual const opencascade::handle< BVH_Builder< T, N > > & | Builder () const |
Returns the method (builder) used to construct BVH. | |
virtual void | SetBuilder (const opencascade::handle< BVH_Builder< T, N > > &theBuilder) |
Sets the method (builder) used to construct BVH. | |
Public Member Functions inherited from BVH_Object< T, N > | |
BVH_Object () | |
Creates new abstract geometric object. | |
virtual | ~BVH_Object () |
Releases resources of geometric object. | |
Public Member Functions inherited from BVH_ObjectTransient | |
virtual const Handle< BVH_Properties > & | Properties () const |
Returns properties of the geometric object. | |
virtual void | SetProperties (const Handle< BVH_Properties > &theProperties) |
Sets properties of the geometric object. | |
virtual Standard_Boolean | IsDirty () const |
Returns TRUE if object state should be updated. | |
virtual void | MarkDirty () |
Marks object state as outdated (needs BVH rebuilding). | |
Public Member Functions inherited from Standard_Transient | |
Standard_Transient () | |
Empty constructor. | |
Standard_Transient (const Standard_Transient &) | |
Copy constructor – does nothing. | |
Standard_Transient & | operator= (const Standard_Transient &) |
Assignment operator, needed to avoid copying reference counter. | |
virtual | ~Standard_Transient () |
Destructor must be virtual. | |
virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
Returns a type descriptor about this object. | |
Standard_Boolean | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
Returns a true value if this is an instance of Type. | |
Standard_Boolean | IsInstance (const Standard_CString theTypeName) const |
Returns a true value if this is an instance of TypeName. | |
Standard_Boolean | IsKind (const opencascade::handle< Standard_Type > &theType) const |
Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. | |
Standard_Boolean | IsKind (const Standard_CString theTypeName) const |
Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. | |
Standard_Transient * | This () const |
Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero. | |
Standard_Integer | GetRefCount () const noexcept |
Get the reference counter of this object. | |
void | IncrementRefCounter () noexcept |
Increments the reference counter of this object. | |
Standard_Integer | DecrementRefCounter () noexcept |
Decrements the reference counter of this object; returns the decremented value. | |
virtual void | Delete () const |
Memory deallocator for transient classes. | |
Public Member Functions inherited from BVH_Set< T, N > | |
BVH_Set () | |
Creates new abstract set of objects. | |
virtual | ~BVH_Set () |
Releases resources of set of objects. | |
Protected Member Functions | |
virtual BVH_Box< T, N > | Box () const override |
Returns AABB of primitive set. | |
Protected Member Functions inherited from BVH_PrimitiveSet< T, N > | |
virtual void | Update () |
Updates BVH of primitive set. | |
Protected Member Functions inherited from BVH_ObjectTransient | |
BVH_ObjectTransient () | |
Creates new abstract geometric object. | |
Additional Inherited Members | |
Public Types inherited from Standard_Transient | |
typedef void | base_type |
Returns a type descriptor about this object. | |
Public Types inherited from BVH_Set< T, N > | |
typedef BVH_Box< T, N > | BVH_BoxNt |
Static Public Member Functions inherited from Standard_Transient | |
static constexpr const char * | get_type_name () |
Returns a type descriptor about this object. | |
static const opencascade::handle< Standard_Type > & | get_type_descriptor () |
Returns type descriptor of Standard_Transient class. | |
Static Public Attributes inherited from BVH_PrimitiveSet< T, N > | |
static const Standard_Integer | MaxTreeDepth = BVH_Constants_MaxTreeDepth |
Protected Attributes inherited from BVH_PrimitiveSet< T, N > | |
opencascade::handle< BVH_Tree< T, N > > | myBVH |
Constructed bottom-level BVH. | |
opencascade::handle< BVH_Builder< T, N > > | myBuilder |
Builder for bottom-level BVH. | |
BVH_Box< T, N > | myBox |
Cached bounding box of geometric primitives. | |
Protected Attributes inherited from BVH_ObjectTransient | |
Standard_Boolean | myIsDirty |
Marks internal object state as outdated. | |
Handle< BVH_Properties > | myProperties |
Generic properties assigned to the object. | |
Set of OpenGl_Structures for building BVH tree.
Graphic3d_BvhCStructureSet::Graphic3d_BvhCStructureSet | ( | ) |
Creates an empty primitive set for BVH clipping.
Standard_Boolean Graphic3d_BvhCStructureSet::Add | ( | const Graphic3d_CStructure * | theStruct | ) |
Adds structure to the set.
|
inlineoverrideprotectedvirtual |
Returns AABB of primitive set.
Reimplemented from BVH_PrimitiveSet< T, N >.
|
overridevirtual |
Returns AABB of the structure.
Implements BVH_Set< T, N >.
|
overridevirtual |
Calculates center of the AABB along given axis.
Implements BVH_Set< T, N >.
void Graphic3d_BvhCStructureSet::Clear | ( | ) |
Cleans the whole primitive set.
const Graphic3d_CStructure * Graphic3d_BvhCStructureSet::GetStructureById | ( | Standard_Integer | theId | ) |
Returns the structure corresponding to the given ID.
Standard_Boolean Graphic3d_BvhCStructureSet::Remove | ( | const Graphic3d_CStructure * | theStruct | ) |
Removes the given structure from the set.
|
overridevirtual |
Returns total number of structures.
Implements BVH_Set< T, N >.
|
inline |
Access directly a collection of structures.
|
overridevirtual |
Swaps structures with the given indices.
Implements BVH_Set< T, N >.