Open CASCADE Technology 7.8.2.dev
|
This class is used to store all calculated sensitive entities of one selectable object. It provides an interface for building BVH tree which is used to speed-up the performance of searching for overlap among sensitives of one selectable object. More...
#include <SelectMgr_SensitiveEntitySet.hxx>
Public Member Functions | |
SelectMgr_SensitiveEntitySet (const Handle< Select3D_BVHBuilder3d > &theBuilder) | |
Empty constructor. | |
virtual | ~SelectMgr_SensitiveEntitySet () |
void | Append (const Handle< SelectMgr_SensitiveEntity > &theEntity) |
Adds new entity to the set and marks BVH tree for rebuild. | |
void | Append (const Handle< SelectMgr_Selection > &theSelection) |
Adds every entity of selection theSelection to the set and marks BVH tree for rebuild. | |
void | Remove (const Handle< SelectMgr_Selection > &theSelection) |
Removes every entity of selection theSelection from the set and marks BVH tree for rebuild. | |
virtual Select3D_BndBox3d | Box (const Standard_Integer theIndex) const override |
Returns bounding box of entity with index theIdx. | |
virtual Standard_Real | Center (const Standard_Integer theIndex, const Standard_Integer theAxis) const override |
Returns geometry center of sensitive entity index theIdx along the given axis theAxis. | |
virtual void | Swap (const Standard_Integer theIndex1, const Standard_Integer theIndex2) override |
Swaps items with indexes theIdx1 and theIdx2. | |
virtual Standard_Integer | Size () const override |
Returns the amount of entities. | |
const Handle< SelectMgr_SensitiveEntity > & | GetSensitiveById (const Standard_Integer theIndex) const |
Returns the entity with index theIndex in the set. | |
const SelectMgr_IndexedMapOfHSensitive & | Sensitives () const |
Returns map of entities. | |
const SelectMgr_MapOfOwners & | Owners () const |
Returns map of owners. | |
Standard_Boolean | HasEntityWithPersistence () const |
Returns map of entities. | |
virtual BVH_Box< T, N > | Box () const override |
Make inherited method Box() visible to avoid CLang warning. | |
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 | |
void | addOwner (const Handle< SelectMgr_EntityOwner > &theOwner) |
Adds entity owner to the map of owners (or increases its counter if it is already there). | |
void | removeOwner (const Handle< SelectMgr_EntityOwner > &theOwner) |
Decreases counter of owner in the map of owners (or removes it from the map if counter == 0). | |
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. | |
This class is used to store all calculated sensitive entities of one selectable object. It provides an interface for building BVH tree which is used to speed-up the performance of searching for overlap among sensitives of one selectable object.
SelectMgr_SensitiveEntitySet::SelectMgr_SensitiveEntitySet | ( | const Handle< Select3D_BVHBuilder3d > & | theBuilder | ) |
Empty constructor.
|
inlinevirtual |
|
protected |
Adds entity owner to the map of owners (or increases its counter if it is already there).
void SelectMgr_SensitiveEntitySet::Append | ( | const Handle< SelectMgr_Selection > & | theSelection | ) |
Adds every entity of selection theSelection to the set and marks BVH tree for rebuild.
void SelectMgr_SensitiveEntitySet::Append | ( | const Handle< SelectMgr_SensitiveEntity > & | theEntity | ) |
Adds new entity to the set and marks BVH tree for rebuild.
|
inlineoverridevirtual |
Make inherited method Box() visible to avoid CLang warning.
Reimplemented from BVH_PrimitiveSet< T, N >.
|
overridevirtual |
Returns bounding box of entity with index theIdx.
Implements BVH_Set< T, N >.
|
overridevirtual |
Returns geometry center of sensitive entity index theIdx along the given axis theAxis.
Implements BVH_Set< T, N >.
const Handle< SelectMgr_SensitiveEntity > & SelectMgr_SensitiveEntitySet::GetSensitiveById | ( | const Standard_Integer | theIndex | ) | const |
Returns the entity with index theIndex in the set.
|
inline |
Returns map of entities.
|
inline |
Returns map of owners.
void SelectMgr_SensitiveEntitySet::Remove | ( | const Handle< SelectMgr_Selection > & | theSelection | ) |
Removes every entity of selection theSelection from the set and marks BVH tree for rebuild.
|
protected |
Decreases counter of owner in the map of owners (or removes it from the map if counter == 0).
|
inline |
Returns map of entities.
|
overridevirtual |
Returns the amount of entities.
Implements BVH_Set< T, N >.
|
overridevirtual |
Swaps items with indexes theIdx1 and theIdx2.
Implements BVH_Set< T, N >.