Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions
IVtkOCC_ShapePickerAlgo Class Reference

OCC implementation of 3D shapes picking algorithm. More...

#include <IVtkOCC_ShapePickerAlgo.hxx>

Inheritance diagram for IVtkOCC_ShapePickerAlgo:
Inheritance graph
[legend]

Public Types

typedef occ::handle< IVtkOCC_ShapePickerAlgoHandle
 
- Public Types inherited from IVtk_IShapePickerAlgo
typedef occ::handle< IVtk_IShapePickerAlgoHandle
 
- Public Types inherited from IVtk_Interface
typedef occ::handle< IVtk_InterfaceHandle
 
- Public Types inherited from Standard_Transient
typedef void base_type
 Returns a type descriptor about this object.
 

Public Member Functions

 IVtkOCC_ShapePickerAlgo ()
 Constructor.
 
 ~IVtkOCC_ShapePickerAlgo () override
 Destructor.
 
void SetView (const IVtk_IView::Handle &theView) override
 Sets the picker's view interface. The picker uses the view to obtain parameters of the 3D view projection.
 
int NbPicked () override
 Get number of picked entities.
 
void SetPixelTolerance (const int theTolerance)
 Sets the pixel-space selection tolerance used by every subsequent Pick call. Forwards to SelectMgr_ViewerSelector::SetPixelTolerance.
 
int PixelTolerance () const
 Returns the current pixel-space selection tolerance.
 
NCollection_List< IVtk_SelectionModeGetSelectionModes (const IVtk_IShape::Handle &theShape) const override
 Get activated selection modes for a shape.
 
Set selectable shapes and selection modes

Activates/deactivates the given selection mode for the shape. If mode == SM_None, the shape becomes non-selectable and is removed from the internal selection data.

Parameters
[in]theShapeShape for which the selection mode should be activated
[in]theModeSelection mode to be activated
[in]theIsTurnOnFlag to turn on/off the selection mode
void SetSelectionMode (const IVtk_IShape::Handle &theShape, const IVtk_SelectionMode theMode, const bool theIsTurnOn=true) override
 Activates/deactivates the given selection mode for the shape. If mode == SM_None, the shape becomes non-selectable and is removed from the internal selection data.
 
void SetSelectionMode (const NCollection_List< IVtk_IShape::Handle > &theShapes, const IVtk_SelectionMode theMode, const bool theIsTurnOn=true) override
 Activates/deactivates the given selection mode for the shape. If mode == SM_None, the shape becomes non-selectable and is removed from the internal selection data.
 
Picking methods
bool Pick (const double theX, const double theY) override
 
bool Pick (const double theXMin, const double theYMin, const double theXMax, const double theYMax) override
 
bool Pick (double **thePolyLine, const int theNbPoints) override
 
- Public Member Functions inherited from IVtk_IShapePickerAlgo
 ~IVtk_IShapePickerAlgo () override=default
 
- Public Member Functions inherited from IVtk_Interface
 ~IVtk_Interface () override=default
 
- 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.
 

Obtain picking results

Returns
the list of picked top-level shape IDs, in the order of increasing depth (the ID of the shape closest to the eye is the first in the list)
const NCollection_List< IVtk_IdType > & ShapesPicked () const override
 
void SubShapesPicked (const IVtk_IdType theId, NCollection_List< IVtk_IdType > &theShapeList) const override
 
virtual void RemoveSelectableObject (const IVtk_IShape::Handle &theShape)
 Remove selectable object from the picker (from internal maps).
 
const gp_PntTopPickedPoint () const
 Return topmost picked 3D point or (Inf, Inf, Inf) if undefined.
 

Additional Inherited Members

- 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

OCC implementation of 3D shapes picking algorithm.

Member Typedef Documentation

◆ Handle

Constructor & Destructor Documentation

◆ IVtkOCC_ShapePickerAlgo()

IVtkOCC_ShapePickerAlgo::IVtkOCC_ShapePickerAlgo ( )

Constructor.

◆ ~IVtkOCC_ShapePickerAlgo()

IVtkOCC_ShapePickerAlgo::~IVtkOCC_ShapePickerAlgo ( )
override

Destructor.

Member Function Documentation

◆ GetSelectionModes()

NCollection_List< IVtk_SelectionMode > IVtkOCC_ShapePickerAlgo::GetSelectionModes ( const IVtk_IShape::Handle & theShape) const
overridevirtual

Get activated selection modes for a shape.

Parameters
[in]theShapea shape with activated selection mode(s)
Returns
list of active selection modes

Implements IVtk_IShapePickerAlgo.

◆ NbPicked()

int IVtkOCC_ShapePickerAlgo::NbPicked ( )
overridevirtual

Get number of picked entities.

Implements IVtk_IShapePickerAlgo.

◆ Pick() [1/3]

bool IVtkOCC_ShapePickerAlgo::Pick ( const double theX,
const double theY )
overridevirtual

Implements IVtk_IShapePickerAlgo.

◆ Pick() [2/3]

bool IVtkOCC_ShapePickerAlgo::Pick ( const double theXMin,
const double theYMin,
const double theXMax,
const double theYMax )
overridevirtual

Implements IVtk_IShapePickerAlgo.

◆ Pick() [3/3]

bool IVtkOCC_ShapePickerAlgo::Pick ( double ** thePolyLine,
const int theNbPoints )
overridevirtual

Implements IVtk_IShapePickerAlgo.

◆ PixelTolerance()

int IVtkOCC_ShapePickerAlgo::PixelTolerance ( ) const

Returns the current pixel-space selection tolerance.

◆ RemoveSelectableObject()

virtual void IVtkOCC_ShapePickerAlgo::RemoveSelectableObject ( const IVtk_IShape::Handle & theShape)
virtual

Remove selectable object from the picker (from internal maps).

Parameters
[in]theShapethe selectable shape

◆ SetPixelTolerance()

void IVtkOCC_ShapePickerAlgo::SetPixelTolerance ( const int theTolerance)

Sets the pixel-space selection tolerance used by every subsequent Pick call. Forwards to SelectMgr_ViewerSelector::SetPixelTolerance.

◆ SetSelectionMode() [1/2]

void IVtkOCC_ShapePickerAlgo::SetSelectionMode ( const IVtk_IShape::Handle & theShape,
const IVtk_SelectionMode theMode,
const bool theIsTurnOn = true )
overridevirtual

Activates/deactivates the given selection mode for the shape. If mode == SM_None, the shape becomes non-selectable and is removed from the internal selection data.

Parameters
[in]theShapesList of shapes for which the selection mode should be activated
[in]theModeSelection mode to be activated
[in]theIsTurnOnFlag to turn on/off the selection mode

Implements IVtk_IShapePickerAlgo.

◆ SetSelectionMode() [2/2]

void IVtkOCC_ShapePickerAlgo::SetSelectionMode ( const NCollection_List< IVtk_IShape::Handle > & theShapes,
const IVtk_SelectionMode theMode,
const bool theIsTurnOn = true )
overridevirtual

Activates/deactivates the given selection mode for the shape. If mode == SM_None, the shape becomes non-selectable and is removed from the internal selection data.

Parameters
[in]theShapesList of shapes for which the selection mode should be activated
[in]theModeSelection mode to be activated
[in]theIsTurnOnFlag to turn on/off the selection mode

Implements IVtk_IShapePickerAlgo.

◆ SetView()

void IVtkOCC_ShapePickerAlgo::SetView ( const IVtk_IView::Handle & theView)
overridevirtual

Sets the picker's view interface. The picker uses the view to obtain parameters of the 3D view projection.

Implements IVtk_IShapePickerAlgo.

◆ ShapesPicked()

const NCollection_List< IVtk_IdType > & IVtkOCC_ShapePickerAlgo::ShapesPicked ( ) const
overridevirtual
Parameters
[in]theIdTop-level shape ID
[out]theShapeListthe list of picked sub-shape IDs for the given top-level shape ID, in the order of increasing depth (the ID of the sub-shape closest to the eye is the first in the list)

Implements IVtk_IShapePickerAlgo.

◆ SubShapesPicked()

void IVtkOCC_ShapePickerAlgo::SubShapesPicked ( const IVtk_IdType theId,
NCollection_List< IVtk_IdType > & theShapeList ) const
overridevirtual
Parameters
[in]theIdTop-level shape ID
[out]theShapeListthe list of picked sub-shape IDs for the given top-level shape ID, in the order of increasing depth (the ID of the sub-shape closest to the eye is the first in the list)

Implements IVtk_IShapePickerAlgo.

◆ TopPickedPoint()

const gp_Pnt & IVtkOCC_ShapePickerAlgo::TopPickedPoint ( ) const
inline

Return topmost picked 3D point or (Inf, Inf, Inf) if undefined.


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