Open CASCADE Technology  6.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Member Functions
StdSelect_ViewerSelector3d Class Reference

Selector Usable by Viewers from V3d

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 > &aProj)
 Constructs a 3D selector object defined by the projector aProj.
More...
 
void Convert (const Handle< SelectMgr_Selection > &aSelection)
 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 > &aProj)
 Sets the new projector aProj to replace the one used at construction time.
More...
 
void SetSensitivityMode (const StdSelect_SensitivityMode aMode)
 
 Sets the selection sensitivity mode. SM_WINDOW mode <br>

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 aTolerance)
 Sets the pixel tolerance aTolerance.
More...
 
Standard_Integer PixelTolerance () const
 Returns the pixel tolerance.
More...
 
void Pick (const Standard_Integer XPix, const Standard_Integer YPix, const Handle< V3d_View > &aView)
 
 Picks the sensitive entity at the pixel coordinates of <br>

the mouse Xpix and Ypix. The selector looks for touched areas and owners.
More...

 
void Pick (const Standard_Integer XPMin, const Standard_Integer YPMin, const Standard_Integer XPMax, const Standard_Integer YPMax, const Handle< V3d_View > &aView)
 
 Picks the sensitive entity according to the minimum <br>

and maximum pixel values XPMin, YPMin, XPMax
and YPMax defining a 2D area for selection in the 3D view aView.
More...

 
void Pick (const TColgp_Array1OfPnt2d &Polyline, const Handle< V3d_View > &aView)
 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 > &aView)
 Displays sensitive areas found in the view aView.
More...
 
void ClearAreas (const Handle< V3d_View > &aView)
 Clears the view aView of sensitive areas found in it.
More...
 
void DisplaySensitive (const Handle< V3d_View > &aView)
 Displays the selection aSel found in the view aView.
More...
 
void ClearSensitive (const Handle< V3d_View > &aView)
 
void DisplaySensitive (const Handle< SelectMgr_Selection > &aSel, const Handle< V3d_View > &aView, const Standard_Boolean ClearOthers=Standard_True)
 
void DisplayAreas (const Handle< SelectMgr_Selection > &aSel, const Handle< V3d_View > &aView, const Standard_Boolean ClearOthers=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 <br>

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 <br>

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 <br>

detected at a position in the view, or
More...

 
void Next ()
 
 Returns the next owner found in the iteration. This is <br>

a scan for the owners detected at a position in the view.
More...

 
Handle_SelectMgr_EntityOwner Picked () const
 Returns the current selected entity detected by the selector;
More...
 
Handle_SelectMgr_EntityOwner OnePicked ()
 
 Returns the picked element with the highest priority, <br>

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 <br>

the view by the Init - More - Next - Picked iteration.
More...

 
Handle_SelectMgr_EntityOwner Picked (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 <br>

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 <br>

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 <br>

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
 
- 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 void ShallowDump (Standard_OStream &) const
 
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

Constructor & Destructor Documentation

StdSelect_ViewerSelector3d::StdSelect_ViewerSelector3d ( )

Constructs an empty 3D selector object.

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

Constructs a 3D selector object defined by the projector aProj.

Member Function Documentation

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

Clears the view aView of sensitive areas found in it.

void StdSelect_ViewerSelector3d::ClearSensitive ( const Handle< V3d_View > &  aView)
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 > &  aSelection)
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 > &  aView)

Displays sensitive areas found in the view aView.

void StdSelect_ViewerSelector3d::DisplayAreas ( const Handle< SelectMgr_Selection > &  aSel,
const Handle< V3d_View > &  aView,
const Standard_Boolean  ClearOthers = Standard_True 
)
void StdSelect_ViewerSelector3d::DisplaySensitive ( const Handle< V3d_View > &  aView)

Displays the selection aSel found in the view aView.

void StdSelect_ViewerSelector3d::DisplaySensitive ( const Handle< SelectMgr_Selection > &  aSel,
const Handle< V3d_View > &  aView,
const Standard_Boolean  ClearOthers = 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  XPix,
const Standard_Integer  YPix,
const Handle< V3d_View > &  aView 
)

 Picks the sensitive entity at the pixel coordinates of <br>

the mouse Xpix and Ypix. The selector looks for touched areas and owners.

void StdSelect_ViewerSelector3d::Pick ( const Standard_Integer  XPMin,
const Standard_Integer  YPMin,
const Standard_Integer  XPMax,
const Standard_Integer  YPMax,
const Handle< V3d_View > &  aView 
)

 Picks the sensitive entity according to the minimum <br>

and maximum pixel values XPMin, YPMin, XPMax
and YPMax defining a 2D area for selection in the 3D view aView.

void StdSelect_ViewerSelector3d::Pick ( const TColgp_Array1OfPnt2d Polyline,
const Handle< V3d_View > &  aView 
)

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 > &  aProj)

Sets the new projector aProj 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  aTolerance)

Sets the pixel tolerance aTolerance.

void StdSelect_ViewerSelector3d::SetSensitivityMode ( const StdSelect_SensitivityMode  aMode)

 Sets the selection sensitivity mode. SM_WINDOW mode <br>

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: