Open CASCADE Technology  6.9.0
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...
 
void SetPixelTolerance (const Standard_Real theTolerance)
 Sets the pixel tolerance <theTolerance>. More...
 
Standard_Real 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...
 
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 gp_Trsf &theTrsf, const Handle< V3d_View > &theView, const Standard_Boolean theToClearOthers=Standard_True)
 
void ResetSelectionActivationStatus ()
 Marks all sensitive entities, stored in viewer selector, as inactive for selection. More...
 
virtual Standard_Boolean HasDepthClipping (const Handle< SelectMgr_EntityOwner > &theOwner) const Standard_OVERRIDE
 Returns True if the owner provides clipping by depth for its sensitives. Override this method to tell the selector to use the DepthClipping method for the owner. Default implementation returns False for every owner. More...
 
void AllowOverlapDetection (const Standard_Boolean theIsToAllow)
 Is used for rectangular selection only If theIsToAllow is false, only fully included sensitives will be detected, otherwise the algorithm will mark both included and overlapped entities as matched. More...
 
- Public Member Functions inherited from SelectMgr_ViewerSelector
void Clear ()
 Empties all the tables, removes all selections... More...
 
Standard_Real Sensitivity () const
 returns the Sensitivity of picking More...
 
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_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, 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_EntityOwner Picked (const Standard_Integer aRank) const
 Returns the entity which is at rank <aRank> in the list of stored ones. More...
 
Standard_Boolean Contains (const Handle< SelectMgr_SelectableObject > &theObject) const
 
Standard_Boolean Modes (const Handle< SelectMgr_SelectableObject > &theSelectableObject, TColStd_ListOfInteger &theModeList, const SelectMgr_StateOfSelection theWantedState=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 > &theSelectableObject, const Standard_Integer theMode) 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 > &theSelectableObject, const Standard_Integer theMode) 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 > &theSelection) const
 Returns the selection status Status of the selection aSelection. More...
 
TCollection_AsciiString Status (const Handle< SelectMgr_SelectableObject > &theSelectableObject) const
 
NCollection_List< Handle
< SelectBasics_EntityOwner > > 
ActiveOwners () const
 Returns the list of active entity owners. More...
 
void AddSelectableObject (const Handle< SelectMgr_SelectableObject > &theObject)
 Adds new object to the map of selectable objects. More...
 
void AddSelectionToObject (const Handle< SelectMgr_SelectableObject > &theObject, const Handle< SelectMgr_Selection > &theSelection)
 Adds new selection to the object and builds its BVH tree. More...
 
void RemoveSelectableObject (const Handle< SelectMgr_SelectableObject > &theObject)
 Removes selectable object from map of selectable ones. More...
 
void RemoveSelectionOfObject (const Handle< SelectMgr_SelectableObject > &theObject, const Handle< SelectMgr_Selection > &theSelection)
 Removes selection of the object and marks its BVH tree for rebuild. More...
 
void RebuildObjectsTree (const Standard_Boolean theIsForce=Standard_False)
 Marks BVH of selectable objects for rebuild. Parameter theIsForce set as true guarantees that 1st level BVH for the viewer selector will be rebuilt during this call. More...
 
void RebuildSensitivesTree (const Handle< SelectMgr_SelectableObject > &theObject, const Standard_Boolean theIsForce=Standard_False)
 Marks BVH of sensitive entities of particular selectable object for rebuild. Parameter theIsForce set as true guarantees that 2nd level BVH for the object given will be rebuilt during this call. More...
 
void InitDetected ()
 Initializes internal iterator for stored detected sensitive entities. More...
 
void NextDetected ()
 Makes a step along the map of detected sensitive entities and their owners. More...
 
Standard_Boolean MoreDetected ()
 Returns true if iterator of map of detected sensitive entities has reached its end. More...
 
const Handle
< SelectBasics_SensitiveEntity > & 
DetectedEntity () const
 Returns sensitive entity that was detected during the previous run of selection algorithm. More...
 
SelectMgr_SelectingVolumeManagerGetManager ()
 Returns instance of selecting volume manager of the viewer selector. More...
 
- 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...
 
- Protected Member Functions inherited from SelectMgr_ViewerSelector
 SelectMgr_ViewerSelector ()
 
void TraverseSensitives ()
 Traverses BVH containing all added selectable objects and finds candidates for further search of overlap. More...
 
void traverseObject (const Handle< SelectMgr_SelectableObject > &theObject)
 Internal function that checks if there is possible overlap between some entity of selectable object theObject and current selecting volume. More...
 
void checkOverlap (const Handle< SelectBasics_SensitiveEntity > &theEntity, const Standard_Integer theEntityIdx, SelectMgr_SelectingVolumeManager &theMgr)
 Internal function that checks if a particular sensitive entity theEntity overlaps current selecting volume precisely. More...
 
void resetSelectionActivationStatus ()
 Marks all added sensitive entities of all objects as non-selectable. More...
 
Standard_Boolean isToScaleFrustum (const Handle< SelectBasics_SensitiveEntity > &theEntity)
 Checks if the entity given requires to scale current selecting frustum. More...
 
SelectMgr_SelectingVolumeManager scaleAndTransform (const Standard_Real theScale, const gp_Trsf &theTrsf)
 Applies given scale and transformation matrices to the default selecting volume manager. More...
 

Additional Inherited Members

- Protected Attributes inherited from SelectMgr_ViewerSelector
Standard_Boolean preferclosest
 
Standard_Real mytolerance
 
Standard_Boolean myToUpdateTolerance
 
SelectMgr_IndexedDataMapOfOwnerCriterion mystored
 
SelectMgr_SelectingVolumeManager mySelectingVolumeMgr
 
NCollection_Handle
< SelectMgr_SelectableObjectSet
mySelectableObjects
 
SelectMgr_ToleranceMap myTolerances
 

Detailed Description

Selector Usable by Viewers from V3d.

Constructor & Destructor Documentation

StdSelect_ViewerSelector3d::StdSelect_ViewerSelector3d ( )

Constructs an empty 3D selector object.

Member Function Documentation

void StdSelect_ViewerSelector3d::AllowOverlapDetection ( const Standard_Boolean  theIsToAllow)

Is used for rectangular selection only If theIsToAllow is false, only fully included sensitives will be detected, otherwise the algorithm will mark both included and overlapped entities as matched.

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

Displays sensitives in view <theView>.

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

Returns True if the owner provides clipping by depth for its sensitives. Override this method to tell the selector to use the DepthClipping method for the owner. Default implementation returns False for every owner.

Parameters
theOwner[in] the onwer to check.
Returns
True if owner provides depth limits for sensitive clipping.

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.

Standard_Real StdSelect_ViewerSelector3d::PixelTolerance ( ) const

Returns the pixel tolerance.

void StdSelect_ViewerSelector3d::ResetSelectionActivationStatus ( )

Marks all sensitive entities, stored in viewer selector, as inactive for selection.

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_Real  theTolerance)

Sets the pixel tolerance <theTolerance>.


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