Open CASCADE Technology  6.8.0
Public Member Functions | Protected Member Functions
StdSelect_ViewerSelector3d Class Reference

Selector Usable by Viewers from V3d Accepts Only Sensitive Entities inheriting Select3D entities... More...

#include <StdSelect_ViewerSelector3d.hxx>

Inheritance diagram for StdSelect_ViewerSelector3d:
Inheritance graph
[legend]

Public Member Functions

 StdSelect_ViewerSelector3d ()
 Constructs an empty 3D selector object. More...
 
 StdSelect_ViewerSelector3d (const Handle< Select3D_Projector > &theProj)
 Constructs a 3D selector object defined by the projector <theProj>. More...
 
void Convert (const Handle< SelectMgr_Selection > &theSel)
 Processes the projection of the sensitive primitives in the active view ; to be done before the selection action... More...
 
void Set (const Handle< Select3D_Projector > &theProj)
 Sets the new projector <theProj> to replace the one used at construction time. More...
 
void SetSensitivityMode (const StdSelect_SensitivityMode theMode)
 Sets the selection sensitivity mode. SM_WINDOW mode uses the specified pixel tolerance to compute the sensitivity value, SM_VIEW mode allows to define the sensitivity manually. More...
 
StdSelect_SensitivityMode SensitivityMode () const
 Returns the selection sensitivity mode. More...
 
void SetPixelTolerance (const Standard_Integer theTolerance)
 Sets the pixel tolerance <theTolerance>. More...
 
Standard_Integer PixelTolerance () const
 Returns the pixel tolerance. More...
 
void Pick (const Standard_Integer theXPix, const Standard_Integer theYPix, const Handle< V3d_View > &theView)
 Picks the sensitive entity at the pixel coordinates of the mouse <theXPix> and <theYPix>. The selector looks for touched areas and owners. More...
 
void Pick (const Standard_Integer theXPMin, const Standard_Integer theYPMin, const Standard_Integer theXPMax, const Standard_Integer theYPMax, const Handle< V3d_View > &theView)
 Picks the sensitive entity according to the minimum and maximum pixel values <theXPMin>, <theYPMin>, <theXPMax> and <theYPMax> defining a 2D area for selection in the 3D view aView. More...
 
void Pick (const TColgp_Array1OfPnt2d &thePolyline, const Handle< V3d_View > &theView)
 pick action - input pixel values for polyline selection for selection. More...
 
const Handle
< Select3D_Projector > & 
Projector () const
 Returns the current Projector. More...
 
void DisplayAreas (const Handle< V3d_View > &theView)
 Displays sensitive areas found in the view <theView>. More...
 
void ClearAreas (const Handle< V3d_View > &theView)
 Clears the view aView of sensitive areas found in it. More...
 
void DisplaySensitive (const Handle< V3d_View > &theView)
 Displays sensitives in view <theView>. More...
 
void ClearSensitive (const Handle< V3d_View > &theView)
 
void DisplaySensitive (const Handle< SelectMgr_Selection > &theSel, const Handle< V3d_View > &theView, const Standard_Boolean theToClearOthers=Standard_True)
 
void DisplayAreas (const Handle< SelectMgr_Selection > &theSel, const Handle< V3d_View > &theView, const Standard_Boolean theToClearOthers=Standard_True)
 
- Public Member Functions inherited from SelectMgr_ViewerSelector
void Clear ()
 Empties all the tables, removes all selections... More...
 
void UpdateConversion ()
 converts all the sensitive entities ; More...
 
void SetSensitivity (const Standard_Real aTol)
 changes the Sensitivity of picking Input value is Real. More...
 
Standard_Real Sensitivity () const
 returns the Sensitivity of picking More...
 
void SetClipping (const Standard_Real Xc, const Standard_Real Yc, const Standard_Real Height, const Standard_Real Width)
 sets the clipping limits of dynamic picking input value are Real More...
 
void SetClipping (const Bnd_Box2d &aRectangle)
 sets the clipping limits of dynamic picking input value are Real More...
 
void InitSelect (const Standard_Real Xr, const Standard_Real Yr)
 Performs a pick action. Xr, Yr are the real 2D mouse coordinates in the view. The selector looks for areas and owners that are touched. More...
 
void InitSelect (const Bnd_Box2d &aRect)
 Performs a pick action. aRect is a Box2d (real coordinates) for the selection. The selector looks for areas and owners that are touched. More...
 
void InitSelect (const Standard_Real Xmin, const Standard_Real Ymin, const Standard_Real Xmax, const Standard_Real Ymax)
 Performs a pick action. More...
 
void InitSelect (const TColgp_Array1OfPnt2d &Polyline)
 pick action - input values of a polyline selection for selection. More...
 
virtual void SortResult ()
 Sorts the detected entites by priority and distance. to be redefined if other criterion are used... More...
 
void Init ()
 Begins an iteration scanning for the owners detected at a position in the view. More...
 
Standard_Boolean More ()
 Continues the interation scanning for the owners detected at a position in the view, or. More...
 
void Next ()
 Returns the next owner found in the iteration. This is a scan for the owners detected at a position in the view. More...
 
Handle< SelectMgr_EntityOwnerPicked () const
 Returns the current selected entity detected by the selector;. More...
 
Handle< SelectMgr_EntityOwnerOnePicked ()
 Returns the picked element with the highest priority, and which is the closest to the last successful mouse position. More...
 
void SetPickClosest (const Standard_Boolean preferClosest)
 Set preference of selecting one object for OnePicked() method: More...
 
Standard_Integer NbPicked () const
 Returns the number of owners found at a position in the view by the Init - More - Next - Picked iteration. More...
 
Handle< SelectMgr_EntityOwnerPicked (const Standard_Integer aRank) const
 Returns the entity which is at rank <aRank> in the list of stored ones. More...
 
Standard_Boolean HasStored ()
 Returns True if a successful pick was stored, i.e. LastPosition method means something... More...
 
void LastPosition (Standard_Real &Xr, Standard_Real &Yr) const
 Gives the last successful pick position; is useful to get objects really picked. More...
 
Standard_Boolean Contains (const Handle< SelectMgr_SelectableObject > &aSelectableObject) const
 
Standard_Boolean Modes (const Handle< SelectMgr_SelectableObject > &aSelectableObject, TColStd_ListOfInteger &ModeList, const SelectMgr_StateOfSelection WantedState=SelectMgr_SOS_Any) const
 Returns the list of selection modes ModeList found in this selector for the selectable object aSelectableObject. Returns true if aSelectableObject is referenced inside this selector; returns false if the object is not present in this selector. More...
 
Standard_Boolean IsActive (const Handle< SelectMgr_SelectableObject > &aSelectableObject, const Standard_Integer aMode) const
 Returns true if the selectable object aSelectableObject having the selection mode aMode is active in this selector. More...
 
Standard_Boolean IsInside (const Handle< SelectMgr_SelectableObject > &aSelectableObject, const Standard_Integer aMode) const
 Returns true if the selectable object aSelectableObject having the selection mode aMode is in this selector. More...
 
SelectMgr_StateOfSelection Status (const Handle< SelectMgr_Selection > &aSelection) const
 Returns the selection status Status of the selection aSelection. More...
 
void Dump (Standard_OStream &S) const
 
TCollection_AsciiString Status (const Handle< SelectMgr_SelectableObject > &aSelectableObject) const
 
TCollection_AsciiString Status () const
 gives general information about the Selector More...
 
void UpdateSort ()
 
Handle
< SelectBasics_SensitiveEntity
Primitive (const Standard_Integer Rank) const
 
const
SelectMgr_DataMapOfIntegerSensitive
Primitives () const
 
void SetUpdateSortPossible (const Standard_Boolean possible)
 
Standard_Boolean IsUpdateSortPossible () const
 
const SelectBasics_PickArgsLastPickingArguments () const
 
- Public Member Functions inherited from MMgt_TShared
virtual void Delete () const
 Memory deallocator for transient classes. 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 const
Handle_Standard_Type & 
DynamicType () const
 Returns a type information object about this object. More...
 
Standard_Boolean IsInstance (const 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 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...
 
virtual Handle_Standard_Transient This () const
 Returns a Handle which references this object. Must never be called to objects created in stack. More...
 
Standard_Integer GetRefCount () const
 Get the reference counter of this object. More...
 

Protected Member Functions

void SetClipping (const Graphic3d_SequenceOfHClipPlane &thePlanes)
 Set view clipping for the selector. More...
 
void ComputeClipRange (const Graphic3d_SequenceOfHClipPlane &thePlanes, const gp_Lin &thePickLine, Standard_Real &theDepthMin, Standard_Real &theDepthMax) const
 Computed depth boundaries for the passed set of clipping planes and picking line. More...
 
virtual gp_Lin PickingLine (const Standard_Real theX, const Standard_Real theY) const
 For more details please refer to base class. More...
 
virtual void DepthClipping (const Standard_Real theX, const Standard_Real theY, Standard_Real &theMin, Standard_Real &theMax) const
 For more details please refer to base class. More...
 
virtual void DepthClipping (const Standard_Real theX, const Standard_Real theY, const Handle< SelectMgr_EntityOwner > &theOwner, Standard_Real &theMin, Standard_Real &theMax) const
 For more details please refer to base class. More...
 
virtual Standard_Boolean HasDepthClipping (const Handle< SelectMgr_EntityOwner > &theOwner) const
 For more details please refer to base class. More...
 
- Protected Member Functions inherited from SelectMgr_ViewerSelector
 SelectMgr_ViewerSelector ()
 
virtual void LoadResult ()
 
virtual void LoadResult (const Bnd_Box2d &aBox)
 
virtual void LoadResult (const TColgp_Array1OfPnt2d &Polyline)
 

Additional Inherited Members

- Protected Attributes inherited from SelectMgr_ViewerSelector
SelectMgr_DataMapOfIntegerSensitive myentities
 
SelectMgr_DataMapOfSelectionActivation myselections
 
Standard_Boolean toupdate
 
Standard_Boolean tosort
 
Standard_Boolean preferclosest
 
Standard_Real mytolerance
 
SelectBasics_SortAlgo myselector
 
Bnd_Box2d myclip
 
SelectMgr_IndexedDataMapOfOwnerCriterion mystored
 

Detailed Description

Selector Usable by Viewers from V3d Accepts Only Sensitive Entities inheriting Select3D entities...

Constructor & Destructor Documentation

StdSelect_ViewerSelector3d::StdSelect_ViewerSelector3d ( )

Constructs an empty 3D selector object.

StdSelect_ViewerSelector3d::StdSelect_ViewerSelector3d ( const Handle< Select3D_Projector > &  theProj)

Constructs a 3D selector object defined by the projector <theProj>.

Member Function Documentation

void StdSelect_ViewerSelector3d::ClearAreas ( const Handle< V3d_View > &  theView)

Clears the view aView of sensitive areas found in it.

void StdSelect_ViewerSelector3d::ClearSensitive ( const Handle< V3d_View > &  theView)
void StdSelect_ViewerSelector3d::ComputeClipRange ( const Graphic3d_SequenceOfHClipPlane thePlanes,
const gp_Lin thePickLine,
Standard_Real theDepthMin,
Standard_Real theDepthMax 
) const
protected

Computed depth boundaries for the passed set of clipping planes and picking line.

Parameters
thePlanes[in] the planes.
thePickLine[in] the picking line.
theDepthMin[out] minimum depth limit.
theDepthMax[out] maximum depth limit.
void StdSelect_ViewerSelector3d::Convert ( const Handle< SelectMgr_Selection > &  theSel)
virtual

Processes the projection of the sensitive primitives in the active view ; to be done before the selection action...

Reimplemented from SelectMgr_ViewerSelector.

virtual void StdSelect_ViewerSelector3d::DepthClipping ( const Standard_Real  theX,
const Standard_Real  theY,
Standard_Real theMin,
Standard_Real theMax 
) const
protectedvirtual

For more details please refer to base class.

Reimplemented from SelectMgr_ViewerSelector.

virtual void StdSelect_ViewerSelector3d::DepthClipping ( const Standard_Real  theX,
const Standard_Real  theY,
const Handle< SelectMgr_EntityOwner > &  theOwner,
Standard_Real theMin,
Standard_Real theMax 
) const
protectedvirtual

For more details please refer to base class.

Reimplemented from SelectMgr_ViewerSelector.

void StdSelect_ViewerSelector3d::DisplayAreas ( const Handle< V3d_View > &  theView)

Displays sensitive areas found in the view <theView>.

void StdSelect_ViewerSelector3d::DisplayAreas ( const Handle< SelectMgr_Selection > &  theSel,
const Handle< V3d_View > &  theView,
const Standard_Boolean  theToClearOthers = Standard_True 
)
void StdSelect_ViewerSelector3d::DisplaySensitive ( const Handle< V3d_View > &  theView)

Displays sensitives in view <theView>.

void StdSelect_ViewerSelector3d::DisplaySensitive ( const Handle< SelectMgr_Selection > &  theSel,
const Handle< V3d_View > &  theView,
const Standard_Boolean  theToClearOthers = Standard_True 
)
virtual Standard_Boolean StdSelect_ViewerSelector3d::HasDepthClipping ( const Handle< SelectMgr_EntityOwner > &  theOwner) const
protectedvirtual

For more details please refer to base class.

Reimplemented from SelectMgr_ViewerSelector.

void StdSelect_ViewerSelector3d::Pick ( const Standard_Integer  theXPix,
const Standard_Integer  theYPix,
const Handle< V3d_View > &  theView 
)

Picks the sensitive entity at the pixel coordinates of the mouse <theXPix> and <theYPix>. The selector looks for touched areas and owners.

void StdSelect_ViewerSelector3d::Pick ( const Standard_Integer  theXPMin,
const Standard_Integer  theYPMin,
const Standard_Integer  theXPMax,
const Standard_Integer  theYPMax,
const Handle< V3d_View > &  theView 
)

Picks the sensitive entity according to the minimum and maximum pixel values <theXPMin>, <theYPMin>, <theXPMax> and <theYPMax> defining a 2D area for selection in the 3D view aView.

void StdSelect_ViewerSelector3d::Pick ( const TColgp_Array1OfPnt2d thePolyline,
const Handle< V3d_View > &  theView 
)

pick action - input pixel values for polyline selection for selection.

virtual gp_Lin StdSelect_ViewerSelector3d::PickingLine ( const Standard_Real  theX,
const Standard_Real  theY 
) const
protectedvirtual

For more details please refer to base class.

Reimplemented from SelectMgr_ViewerSelector.

Standard_Integer StdSelect_ViewerSelector3d::PixelTolerance ( ) const

Returns the pixel tolerance.

const Handle< Select3D_Projector >& StdSelect_ViewerSelector3d::Projector ( ) const

Returns the current Projector.

StdSelect_SensitivityMode StdSelect_ViewerSelector3d::SensitivityMode ( ) const

Returns the selection sensitivity mode.

void StdSelect_ViewerSelector3d::Set ( const Handle< Select3D_Projector > &  theProj)

Sets the new projector <theProj> to replace the one used at construction time.

void StdSelect_ViewerSelector3d::SetClipping ( const Graphic3d_SequenceOfHClipPlane thePlanes)
protected

Set view clipping for the selector.

Parameters
thePlanes[in] the view planes.
void StdSelect_ViewerSelector3d::SetPixelTolerance ( const Standard_Integer  theTolerance)

Sets the pixel tolerance <theTolerance>.

void StdSelect_ViewerSelector3d::SetSensitivityMode ( const StdSelect_SensitivityMode  theMode)

Sets the selection sensitivity mode. SM_WINDOW mode uses the specified pixel tolerance to compute the sensitivity value, SM_VIEW mode allows to define the sensitivity manually.


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