Open CASCADE Technology 7.8.0
Public Member Functions | Protected Member Functions
Graphic3d_BvhCStructureSet Class Reference

Set of OpenGl_Structures for building BVH tree. More...

#include <Graphic3d_BvhCStructureSet.hxx>

Inheritance diagram for Graphic3d_BvhCStructureSet:
Inheritance graph
[legend]

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_CStructureGetStructureById (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_Transientoperator= (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_TransientThis () 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 charget_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_PropertiesmyProperties
 Generic properties assigned to the object.
 

Detailed Description

Set of OpenGl_Structures for building BVH tree.

Constructor & Destructor Documentation

◆ Graphic3d_BvhCStructureSet()

Graphic3d_BvhCStructureSet::Graphic3d_BvhCStructureSet ( )

Creates an empty primitive set for BVH clipping.

Member Function Documentation

◆ Add()

Standard_Boolean Graphic3d_BvhCStructureSet::Add ( const Graphic3d_CStructure theStruct)

Adds structure to the set.

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

◆ Box() [1/2]

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

Returns AABB of primitive set.

Reimplemented from BVH_PrimitiveSet< T, N >.

◆ Box() [2/2]

virtual Graphic3d_BndBox3d Graphic3d_BvhCStructureSet::Box ( const Standard_Integer  theIdx) const
overridevirtual

Returns AABB of the structure.

Implements BVH_Set< T, N >.

◆ Center()

virtual Standard_Real Graphic3d_BvhCStructureSet::Center ( const Standard_Integer  theIdx,
const Standard_Integer  theAxis 
) const
overridevirtual

Calculates center of the AABB along given axis.

Implements BVH_Set< T, N >.

◆ Clear()

void Graphic3d_BvhCStructureSet::Clear ( )

Cleans the whole primitive set.

◆ GetStructureById()

const Graphic3d_CStructure * Graphic3d_BvhCStructureSet::GetStructureById ( Standard_Integer  theId)

Returns the structure corresponding to the given ID.

◆ Remove()

Standard_Boolean Graphic3d_BvhCStructureSet::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).

◆ Size()

virtual Standard_Integer Graphic3d_BvhCStructureSet::Size ( ) const
overridevirtual

Returns total number of structures.

Implements BVH_Set< T, N >.

◆ Structures()

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

Access directly a collection of structures.

◆ Swap()

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

Swaps structures with the given indices.

Implements BVH_Set< T, N >.


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