Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes
AIS_Selection Class Reference

Class holding the list of selected owners. More...

#include <AIS_Selection.hxx>

Inheritance diagram for AIS_Selection:
Inheritance graph
[legend]

Public Member Functions

 AIS_Selection ()
 creates a new selection.
 
virtual void Clear ()
 removes all the object of the selection.
 
virtual AIS_SelectStatus Select (const occ::handle< SelectMgr_EntityOwner > &theOwner, const occ::handle< SelectMgr_Filter > &theFilter, const AIS_SelectionScheme theSelScheme, const bool theIsDetected)
 if the object is not yet in the selection, it will be added. if the object is already in the selection, it will be removed.
 
virtual AIS_SelectStatus AddSelect (const occ::handle< SelectMgr_EntityOwner > &theObject)
 the object is always add int the selection. faster when the number of objects selected is great.
 
virtual void ClearAndSelect (const occ::handle< SelectMgr_EntityOwner > &theObject, const occ::handle< SelectMgr_Filter > &theFilter, const bool theIsDetected)
 clears the selection and adds the object in the selection.
 
bool IsSelected (const occ::handle< SelectMgr_EntityOwner > &theObject) const
 checks if the object is in the selection.
 
const NCollection_List< occ::handle< SelectMgr_EntityOwner > > & Objects () const
 Return the list of selected objects.
 
int Extent () const
 Return the number of selected objects.
 
bool IsEmpty () const
 Return true if list of selected objects is empty.
 
void Init ()
 Start iteration through selected objects.
 
bool More () const
 Return true if iterator points to selected object.
 
void Next ()
 Continue iteration through selected objects.
 
const occ::handle< SelectMgr_EntityOwner > & Value () const
 Return selected object at iterator position.
 
virtual void SelectOwners (const NCollection_Array1< occ::handle< SelectMgr_EntityOwner > > &thePickedOwners, const AIS_SelectionScheme theSelScheme, const bool theToAllowSelOverlap, const occ::handle< SelectMgr_Filter > &theFilter)
 Select or deselect owners depending on the selection scheme.
 
- 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.
 

Protected Member Functions

virtual AIS_SelectStatus appendOwner (const occ::handle< SelectMgr_EntityOwner > &theOwner, const occ::handle< SelectMgr_Filter > &theFilter)
 Append the owner into the current selection if filter is Ok.
 

Protected Attributes

NCollection_List< occ::handle< SelectMgr_EntityOwner > > myresult
 
NCollection_List< occ::handle< SelectMgr_EntityOwner > >::Iterator myIterator
 
NCollection_DataMap< occ::handle< SelectMgr_EntityOwner >, NCollection_List< occ::handle< SelectMgr_EntityOwner > >::Iterator > myResultMap
 

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

Class holding the list of selected owners.

Constructor & Destructor Documentation

◆ AIS_Selection()

AIS_Selection::AIS_Selection ( )

creates a new selection.

Member Function Documentation

◆ AddSelect()

virtual AIS_SelectStatus AIS_Selection::AddSelect ( const occ::handle< SelectMgr_EntityOwner > & theObject)
virtual

the object is always add int the selection. faster when the number of objects selected is great.

◆ appendOwner()

virtual AIS_SelectStatus AIS_Selection::appendOwner ( const occ::handle< SelectMgr_EntityOwner > & theOwner,
const occ::handle< SelectMgr_Filter > & theFilter )
protectedvirtual

Append the owner into the current selection if filter is Ok.

Parameters
[in]theOwnerelement to change selection state
[in]theFiltercontext filter to skip not acceptable owners
Returns
result of selection

◆ Clear()

virtual void AIS_Selection::Clear ( )
virtual

removes all the object of the selection.

◆ ClearAndSelect()

virtual void AIS_Selection::ClearAndSelect ( const occ::handle< SelectMgr_EntityOwner > & theObject,
const occ::handle< SelectMgr_Filter > & theFilter,
const bool theIsDetected )
inlinevirtual

clears the selection and adds the object in the selection.

Parameters
[in]theObjectelement to change selection state
[in]theFiltercontext filter
[in]theIsDetectedflag of object detection

◆ Extent()

int AIS_Selection::Extent ( ) const
inline

Return the number of selected objects.

◆ Init()

void AIS_Selection::Init ( )
inline

Start iteration through selected objects.

◆ IsEmpty()

bool AIS_Selection::IsEmpty ( ) const
inline

Return true if list of selected objects is empty.

◆ IsSelected()

bool AIS_Selection::IsSelected ( const occ::handle< SelectMgr_EntityOwner > & theObject) const
inline

checks if the object is in the selection.

◆ More()

bool AIS_Selection::More ( ) const
inline

Return true if iterator points to selected object.

◆ Next()

void AIS_Selection::Next ( )
inline

Continue iteration through selected objects.

◆ Objects()

const NCollection_List< occ::handle< SelectMgr_EntityOwner > > & AIS_Selection::Objects ( ) const
inline

Return the list of selected objects.

◆ Select()

virtual AIS_SelectStatus AIS_Selection::Select ( const occ::handle< SelectMgr_EntityOwner > & theOwner,
const occ::handle< SelectMgr_Filter > & theFilter,
const AIS_SelectionScheme theSelScheme,
const bool theIsDetected )
virtual

if the object is not yet in the selection, it will be added. if the object is already in the selection, it will be removed.

Parameters
[in]theOwnerelement to change selection state
[in]theFiltercontext filter
[in]theSelSchemeselection scheme
[in]theIsDetectedflag of object detection
Returns
result of selection

◆ SelectOwners()

virtual void AIS_Selection::SelectOwners ( const NCollection_Array1< occ::handle< SelectMgr_EntityOwner > > & thePickedOwners,
const AIS_SelectionScheme theSelScheme,
const bool theToAllowSelOverlap,
const occ::handle< SelectMgr_Filter > & theFilter )
virtual

Select or deselect owners depending on the selection scheme.

Parameters
[in]thePickedOwnerselements to change selection state
[in]theSelSchemeselection scheme, defines how owner is selected
[in]theToAllowSelOverlapselection flag, if true - overlapped entities are allowed
[in]theFiltercontext filter to skip not acceptable owners

◆ Value()

const occ::handle< SelectMgr_EntityOwner > & AIS_Selection::Value ( ) const
inline

Return selected object at iterator position.

Field Documentation

◆ myIterator

NCollection_List<occ::handle<SelectMgr_EntityOwner>>::Iterator AIS_Selection::myIterator
protected

◆ myresult

NCollection_List<occ::handle<SelectMgr_EntityOwner> > AIS_Selection::myresult
protected

◆ myResultMap


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