Open CASCADE Technology 7.8.0
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 Handle< IVtkOCC_ShapePickerAlgoHandle
 
- Public Types inherited from IVtk_IShapePickerAlgo
typedef Handle< IVtk_IShapePickerAlgoHandle
 
- Public Types inherited from IVtk_Interface
typedef 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.
 
virtual ~IVtkOCC_ShapePickerAlgo ()
 Destructor.
 
virtual 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.
 
virtual int NbPicked () override
 Get number of picked entities.
 
virtual IVtk_SelectionModeList GetSelectionModes (const IVtk_IShape::Handle &theShape) const override
 Get activated selection modes for a shape.
 
Set selectable shapes and selection modes
virtual 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.
 
virtual void SetSelectionMode (const IVtk_ShapePtrList &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
virtual bool Pick (const double theX, const double theY) override
 
virtual bool Pick (const double theXMin, const double theYMin, const double theXMax, const double theYMax) override
 
virtual bool Pick (double **thePolyLine, const int theNbPoints) override
 
- Public Member Functions inherited from IVtk_IShapePickerAlgo
virtual ~IVtk_IShapePickerAlgo ()
 
- Public Member Functions inherited from IVtk_Interface
virtual ~IVtk_Interface ()
 
- 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.
 

Obtain picking results

virtual const IVtk_ShapeIdListShapesPicked () const override
 
virtual void SubShapesPicked (const IVtk_IdType theId, IVtk_ShapeIdList &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()

virtual IVtkOCC_ShapePickerAlgo::~IVtkOCC_ShapePickerAlgo ( )
virtual

Destructor.

Member Function Documentation

◆ GetSelectionModes()

virtual IVtk_SelectionModeList 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()

virtual int IVtkOCC_ShapePickerAlgo::NbPicked ( )
overridevirtual

Get number of picked entities.

Implements IVtk_IShapePickerAlgo.

◆ Pick() [1/3]

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

Implements IVtk_IShapePickerAlgo.

◆ Pick() [2/3]

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

Implements IVtk_IShapePickerAlgo.

◆ Pick() [3/3]

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

Implements IVtk_IShapePickerAlgo.

◆ 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

◆ SetSelectionMode() [1/2]

virtual 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]theShapeShape 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]

virtual void IVtkOCC_ShapePickerAlgo::SetSelectionMode ( const IVtk_ShapePtrList 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()

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

virtual const IVtk_ShapeIdList & IVtkOCC_ShapePickerAlgo::ShapesPicked ( ) const
overridevirtual
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)

Implements IVtk_IShapePickerAlgo.

◆ SubShapesPicked()

virtual void IVtkOCC_ShapePickerAlgo::SubShapesPicked ( const IVtk_IdType  theId,
IVtk_ShapeIdList 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: