A framework to define finding, sorting the sensitive primitives in a view. Services are also provided to define the return of the owners of those primitives selected. The primitives are sorted by criteria such as priority of the primitive or its depth in the view relative to that of other primitives. Note that in 3D, the inheriting framework StdSelect_ViewerSelector3d is only to be used if you do not want to use the services provided by AIS. Two tools are available to find and select objects found at a given position in the view. If you want to select the owners of all the objects detected at point x,y,z you use the Init - More - Next - Picked loop. If, on the other hand, you want to select only one object detected at that point, you use the Init - More - OnePicked loop. In this iteration, More is used to see if an object was picked and OnePicked, to get the object closest to the pick position. Viewer selectors are driven by SelectMgr_SelectionManager, and manipulate the SelectMgr_Selection objects given to them by the selection manager.
More...
|
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...
|
|
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...
|
|
A framework to define finding, sorting the sensitive primitives in a view. Services are also provided to define the return of the owners of those primitives selected. The primitives are sorted by criteria such as priority of the primitive or its depth in the view relative to that of other primitives. Note that in 3D, the inheriting framework StdSelect_ViewerSelector3d is only to be used if you do not want to use the services provided by AIS. Two tools are available to find and select objects found at a given position in the view. If you want to select the owners of all the objects detected at point x,y,z you use the Init - More - Next - Picked loop. If, on the other hand, you want to select only one object detected at that point, you use the Init - More - OnePicked loop. In this iteration, More is used to see if an object was picked and OnePicked, to get the object closest to the pick position. Viewer selectors are driven by SelectMgr_SelectionManager, and manipulate the SelectMgr_Selection objects given to them by the selection manager.
Tolerances are applied to the entities in the following way:
- tolerance value stored in mytolerance will be used to calculate initial selecting frustum, which will be applied for intersection testing during BVH traverse;
- if tolerance of sensitive entity is less than mytolerance, the frustum for intersection detection will be resized according to its sensitivity.