Open CASCADE Technology  7.2.0
Public Member Functions | Protected 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 Standard_Integer 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. More...
 
 ~SelectMgr_Selection ()
 
void Destroy ()
 
void Add (const Handle< SelectBasics_SensitiveEntity > &theSensitive)
 Adds the sensitive primitive aprimitive to the list of stored entities in this object. Raises NullObject if the primitive is a null handle. More...
 
void Clear ()
 empties the selection from all the stored entities More...
 
Standard_Boolean IsEmpty () const
 returns true if no sensitive entity is stored. More...
 
Standard_Integer Mode () const
 returns the selection mode represented by this selection More...
 
void Init ()
 Begins an iteration scanning for sensitive primitives. More...
 
Standard_Boolean More () const
 Continues the iteration scanning for sensitive primitives with the mode defined in this framework. More...
 
void Next ()
 Returns the next sensitive primitive found in the iteration. This is a scan for entities with the mode defined in this framework. More...
 
const Handle< SelectMgr_SensitiveEntity > & Sensitive () const
 Returns any sensitive primitive in this framework. More...
 
SelectMgr_TypeOfUpdate UpdateStatus () const
 Returns the flag UpdateFlag. This flage gives the update status of this framework in a ViewerSelector object: More...
 
void UpdateStatus (const SelectMgr_TypeOfUpdate theStatus)
 
void UpdateBVHStatus (const SelectMgr_TypeOfBVHUpdate theStatus)
 
SelectMgr_TypeOfBVHUpdate BVHUpdateStatus () const
 
SelectMgr_StateOfSelection GetSelectionState () const
 Returns status of selection. More...
 
void SetSelectionState (const SelectMgr_StateOfSelection theState) const
 Sets status of selection. More...
 
Standard_Integer Sensitivity () const
 Returns sensitivity of the selection. More...
 
void SetSensitivity (const Standard_Integer 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. More...
 
- Public Member Functions inherited from Standard_Transient
 Standard_Transient ()
 Empty constructor. More...
 
 Standard_Transient (const Standard_Transient &)
 Copy constructor – does nothing. More...
 
Standard_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter. More...
 
virtual ~Standard_Transient ()
 Destructor must be virtual. More...
 
virtual void Delete () const
 Memory deallocator for transient classes. More...
 
virtual const opencascade::handle< Standard_Type > & DynamicType () const
 Returns a type descriptor about this object. More...
 
Standard_Boolean IsInstance (const opencascade::handle< Standard_Type > &theType) const
 Returns a true value if this is an instance of Type. More...
 
Standard_Boolean IsInstance (const Standard_CString theTypeName) const
 Returns a true value if this is an instance of TypeName. More...
 
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. More...
 
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. More...
 
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. More...
 
Standard_Integer GetRefCount () const
 Get the reference counter of this object. More...
 
void IncrementRefCounter () const
 Increments the reference counter of this object. More...
 
Standard_Integer DecrementRefCounter () const
 Decrements the reference counter of this object; returns the decremented value. More...
 

Protected Member Functions

Handle< SelectMgr_SensitiveEntity > & GetEntityById (const Standard_Integer theIdx)
 Returns sensitive entity stored by index theIdx in entites vector. More...
 

Additional Inherited Members

- Public Types inherited from Standard_Transient
typedef void base_type
 Returns a type descriptor about this object. More...
 
- Static Public Member Functions inherited from Standard_Transient
static const char * get_type_name ()
 Returns a type descriptor about this object. More...
 
static const opencascade::handle< Standard_Type > & get_type_descriptor ()
 Returns type descriptor of Standard_Transient class. More...
 

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 Standard_Integer  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 ( )

Member Function Documentation

◆ Add()

void SelectMgr_Selection::Add ( const Handle< SelectBasics_SensitiveEntity > &  theSensitive)

Adds the sensitive primitive aprimitive 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

◆ Clear()

void SelectMgr_Selection::Clear ( )

empties the selection from all the stored entities

◆ Destroy()

void SelectMgr_Selection::Destroy ( )

◆ GetEntityById()

Handle< SelectMgr_SensitiveEntity >& SelectMgr_Selection::GetEntityById ( const Standard_Integer  theIdx)
protected

Returns sensitive entity stored by index theIdx in entites vector.

◆ GetSelectionState()

SelectMgr_StateOfSelection SelectMgr_Selection::GetSelectionState ( ) const

Returns status of selection.

◆ Init()

void SelectMgr_Selection::Init ( )

Begins an iteration scanning for sensitive primitives.

◆ IsEmpty()

Standard_Boolean SelectMgr_Selection::IsEmpty ( ) const

returns true if no sensitive entity is stored.

◆ Mode()

Standard_Integer SelectMgr_Selection::Mode ( ) const

returns the selection mode represented by this selection

◆ More()

Standard_Boolean SelectMgr_Selection::More ( ) const

Continues the iteration scanning for sensitive primitives with the mode defined in this framework.

◆ Next()

void SelectMgr_Selection::Next ( )

Returns the next sensitive primitive found in the iteration. This is a scan for entities with the mode defined in this framework.

◆ Sensitive()

const Handle< SelectMgr_SensitiveEntity >& SelectMgr_Selection::Sensitive ( ) const

Returns any sensitive primitive in this framework.

◆ Sensitivity()

Standard_Integer SelectMgr_Selection::Sensitivity ( ) const

Returns sensitivity of the selection.

◆ SetSelectionState()

void SelectMgr_Selection::SetSelectionState ( const SelectMgr_StateOfSelection  theState) const

Sets status of selection.

◆ SetSensitivity()

void SelectMgr_Selection::SetSensitivity ( const Standard_Integer  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)

◆ UpdateStatus() [1/2]

SelectMgr_TypeOfUpdate SelectMgr_Selection::UpdateStatus ( ) const

Returns the flag UpdateFlag. This flage 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)

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