Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions
SelectMgr_Selection Class Reference

Represents the state of a given selection mode for a Selectable Object. Contains all the sensitive entities available for this mode. An interactive object can have an indefinite number of modes of selection, each representing a "decomposition" into sensitive primitives; each primitive has an Owner (SelectMgr_EntityOwner) which allows us to identify the exact entity which has been detected. Each Selection mode is identified by an index. The set of sensitive primitives which correspond to a given mode is stocked in a SelectMgr_Selection object. By Convention, the default selection mode which allows us to grasp the Interactive object in its entirety will be mode 0. AIS_Trihedron : 4 selection modes. More...

#include <SelectMgr_Selection.hxx>

Inheritance diagram for SelectMgr_Selection:
Inheritance graph
[legend]

Public Member Functions

 SelectMgr_Selection (const int theModeIdx=0)
 Constructs a selection object defined by the selection mode IdMode. The default setting 0 is the selection mode for a shape in its entirety.
 
 ~SelectMgr_Selection () override
 
void Destroy ()
 
void Add (const occ::handle< Select3D_SensitiveEntity > &theSensitive)
 Adds the sensitive primitive to the list of stored entities in this object. Raises NullObject if the primitive is a null handle.
 
void Clear ()
 empties the selection from all the stored entities
 
bool IsEmpty () const
 returns true if no sensitive entity is stored.
 
int Mode () const
 returns the selection mode represented by this selection
 
const NCollection_DynamicArray< occ::handle< SelectMgr_SensitiveEntity > > & Entities () const
 Return entities.
 
NCollection_DynamicArray< occ::handle< SelectMgr_SensitiveEntity > > & ChangeEntities ()
 Return entities.
 
SelectMgr_TypeOfUpdate UpdateStatus () const
 Returns the flag UpdateFlag. This flag gives the update status of this framework in a ViewerSelector object:
 
void UpdateStatus (const SelectMgr_TypeOfUpdate theStatus)
 
void UpdateBVHStatus (const SelectMgr_TypeOfBVHUpdate theStatus)
 
SelectMgr_TypeOfBVHUpdate BVHUpdateStatus () const
 
SelectMgr_StateOfSelection GetSelectionState () const
 Returns status of selection.
 
void SetSelectionState (const SelectMgr_StateOfSelection theState) const
 Sets status of selection.
 
int Sensitivity () const
 Returns sensitivity of the selection.
 
void SetSensitivity (const int theNewSens)
 Changes sensitivity of the selection and all its entities to the given value. IMPORTANT: This method does not update any outer selection structures, so for proper updates use SelectMgr_SelectionManager::SetSelectionSensitivity method.
 
virtual void DumpJson (Standard_OStream &theOStream, int theDepth=-1) const
 Dumps the content of me into the stream.
 
- 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 ()=default
 Destructor must be virtual.
 
virtual const opencascade::handle< Standard_Type > & DynamicType () const
 Returns a type descriptor about this object.
 
bool IsInstance (const opencascade::handle< Standard_Type > &theType) const
 Returns a true value if this is an instance of Type.
 
bool IsInstance (const char *const theTypeName) const
 Returns a true value if this is an instance of TypeName.
 
bool 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.
 
bool IsKind (const char *const 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.
 
int GetRefCount () const noexcept
 Get the reference counter of this object.
 
void IncrementRefCounter () noexcept
 Increments the reference counter of this object. Uses relaxed memory ordering since incrementing only requires atomicity, not synchronization with other memory operations.
 
int DecrementRefCounter () noexcept
 Decrements the reference counter of this object; returns the decremented value. Uses release ordering for the decrement to ensure all writes to the object are visible before the count reaches zero. An acquire fence is added only when the count reaches zero, ensuring proper synchronization before deletion. This is more efficient than using acq_rel for every decrement.
 
virtual void Delete () const
 Memory deallocator for transient classes.
 

Additional Inherited Members

- Public Types inherited from Standard_Transient
typedef void base_type
 Returns a type descriptor about this object.
 
- 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.
 

Detailed Description

Represents the state of a given selection mode for a Selectable Object. Contains all the sensitive entities available for this mode. An interactive object can have an indefinite number of modes of selection, each representing a "decomposition" into sensitive primitives; each primitive has an Owner (SelectMgr_EntityOwner) which allows us to identify the exact entity which has been detected. Each Selection mode is identified by an index. The set of sensitive primitives which correspond to a given mode is stocked in a SelectMgr_Selection object. By Convention, the default selection mode which allows us to grasp the Interactive object in its entirety will be mode 0. AIS_Trihedron : 4 selection modes.

Constructor & Destructor Documentation

◆ SelectMgr_Selection()

SelectMgr_Selection::SelectMgr_Selection ( const int theModeIdx = 0)

Constructs a selection object defined by the selection mode IdMode. The default setting 0 is the selection mode for a shape in its entirety.

◆ ~SelectMgr_Selection()

SelectMgr_Selection::~SelectMgr_Selection ( )
override

Member Function Documentation

◆ Add()

void SelectMgr_Selection::Add ( const occ::handle< Select3D_SensitiveEntity > & theSensitive)

Adds the sensitive primitive to the list of stored entities in this object. Raises NullObject if the primitive is a null handle.

◆ BVHUpdateStatus()

SelectMgr_TypeOfBVHUpdate SelectMgr_Selection::BVHUpdateStatus ( ) const
inline

◆ ChangeEntities()

NCollection_DynamicArray< occ::handle< SelectMgr_SensitiveEntity > > & SelectMgr_Selection::ChangeEntities ( )
inline

Return entities.

◆ Clear()

void SelectMgr_Selection::Clear ( )

empties the selection from all the stored entities

◆ Destroy()

void SelectMgr_Selection::Destroy ( )

◆ DumpJson()

virtual void SelectMgr_Selection::DumpJson ( Standard_OStream & theOStream,
int theDepth = -1 ) const
virtual

Dumps the content of me into the stream.

◆ Entities()

const NCollection_DynamicArray< occ::handle< SelectMgr_SensitiveEntity > > & SelectMgr_Selection::Entities ( ) const
inline

Return entities.

◆ GetSelectionState()

SelectMgr_StateOfSelection SelectMgr_Selection::GetSelectionState ( ) const
inline

Returns status of selection.

◆ IsEmpty()

bool SelectMgr_Selection::IsEmpty ( ) const
inline

returns true if no sensitive entity is stored.

◆ Mode()

int SelectMgr_Selection::Mode ( ) const
inline

returns the selection mode represented by this selection

◆ Sensitivity()

int SelectMgr_Selection::Sensitivity ( ) const
inline

Returns sensitivity of the selection.

◆ SetSelectionState()

void SelectMgr_Selection::SetSelectionState ( const SelectMgr_StateOfSelection theState) const
inline

Sets status of selection.

◆ SetSensitivity()

void SelectMgr_Selection::SetSensitivity ( const int theNewSens)

Changes sensitivity of the selection and all its entities to the given value. IMPORTANT: This method does not update any outer selection structures, so for proper updates use SelectMgr_SelectionManager::SetSelectionSensitivity method.

◆ UpdateBVHStatus()

void SelectMgr_Selection::UpdateBVHStatus ( const SelectMgr_TypeOfBVHUpdate theStatus)
inline

◆ UpdateStatus() [1/2]

SelectMgr_TypeOfUpdate SelectMgr_Selection::UpdateStatus ( ) const
inline

Returns the flag UpdateFlag. This flag gives the update status of this framework in a ViewerSelector object:

  • full
  • partial, or
  • none.

◆ UpdateStatus() [2/2]

void SelectMgr_Selection::UpdateStatus ( const SelectMgr_TypeOfUpdate theStatus)
inline

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