Open CASCADE Technology
6.9.0
|
Selector Usable by Viewers from V3d. More...
#include <StdSelect_ViewerSelector3d.hxx>
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_SelectingVolumeManager & | GetManager () |
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_Transient & | operator= (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 |
Selector Usable by Viewers from V3d.
StdSelect_ViewerSelector3d::StdSelect_ViewerSelector3d | ( | ) |
Constructs an empty 3D selector object.
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.
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 |
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.
theOwner | [in] the onwer to check. |
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.
|
protected |
Set view clipping for the selector.
thePlanes | [in] the view planes. |
void StdSelect_ViewerSelector3d::SetPixelTolerance | ( | const Standard_Real | theTolerance | ) |
Sets the pixel tolerance <theTolerance>.