Open CASCADE Technology 7.8.0
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 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 ()
 
void Destroy ()
 
void Add (const 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
 
Standard_Boolean IsEmpty () const
 returns true if no sensitive entity is stored.
 
Standard_Integer Mode () const
 returns the selection mode represented by this selection
 
const NCollection_Vector< Handle< SelectMgr_SensitiveEntity > > & Entities () const
 Return entities.
 
NCollection_Vector< Handle< SelectMgr_SensitiveEntity > > & ChangeEntities ()
 Return entities.
 
SelectMgr_TypeOfUpdate UpdateStatus () const
 Returns the flag UpdateFlag. This flage 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.
 
Standard_Integer Sensitivity () const
 Returns sensitivity of the selection.
 
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.
 
virtual void DumpJson (Standard_OStream &theOStream, Standard_Integer 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 ()
 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.
 

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 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< 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_Vector< 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,
Standard_Integer  theDepth = -1 
) const
virtual

Dumps the content of me into the stream.

◆ Entities()

const NCollection_Vector< Handle< SelectMgr_SensitiveEntity > > & SelectMgr_Selection::Entities ( ) const
inline

Return entities.

◆ GetSelectionState()

SelectMgr_StateOfSelection SelectMgr_Selection::GetSelectionState ( ) const
inline

Returns status of selection.

◆ IsEmpty()

Standard_Boolean SelectMgr_Selection::IsEmpty ( ) const
inline

returns true if no sensitive entity is stored.

◆ Mode()

Standard_Integer SelectMgr_Selection::Mode ( ) const
inline

returns the selection mode represented by this selection

◆ Sensitivity()

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

◆ UpdateStatus() [1/2]

SelectMgr_TypeOfUpdate SelectMgr_Selection::UpdateStatus ( ) const
inline

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)
inline

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