Open CASCADE Technology 7.8.0
|
The Interactive Context allows you to manage graphic behavior and selection of Interactive Objects in one or more viewers. Class methods make this highly transparent. It is essential to remember that an Interactive Object which is already known by the Interactive Context must be modified using Context methods. You can only directly call the methods available for an Interactive Object if it has not been loaded into an Interactive Context. More...
#include <AIS_InteractiveContext.hxx>
Public Member Functions | |
object display management | |
AIS_InteractiveContext (const Handle< V3d_Viewer > &MainViewer) | |
Constructs the interactive context object defined by the principal viewer MainViewer. | |
virtual | ~AIS_InteractiveContext () |
Destructor. | |
PrsMgr_DisplayStatus | DisplayStatus (const Handle< AIS_InteractiveObject > &anIobj) const |
Returns the display status of the entity anIobj. This will be one of the following: | |
void | Status (const Handle< AIS_InteractiveObject > &anObj, TCollection_ExtendedString &astatus) const |
Returns the status of the Interactive Context for the view of the Interactive Object. | |
Standard_Boolean | IsDisplayed (const Handle< AIS_InteractiveObject > &anIobj) const |
Returns true if Object is displayed in the interactive context. | |
Standard_Boolean | IsDisplayed (const Handle< AIS_InteractiveObject > &aniobj, const Standard_Integer aMode) const |
Constructs the interactive context object defined by the principal viewer MainViewer. | |
void | SetAutoActivateSelection (const Standard_Boolean theIsAuto) |
Enable or disable automatic activation of default selection mode while displaying the object. | |
Standard_Boolean | GetAutoActivateSelection () const |
Manages displaying the new object should also automatically activate default selection mode; TRUE by default. | |
void | Display (const Handle< AIS_InteractiveObject > &theIObj, const Standard_Boolean theToUpdateViewer) |
Displays the object in this Context using default Display Mode. This will be the object's default display mode, if there is one. Otherwise, it will be the context mode. The Interactive Object's default selection mode is activated if GetAutoActivateSelection() is TRUE. In general, this is 0. | |
void | Display (const Handle< AIS_InteractiveObject > &theIObj, const Standard_Integer theDispMode, const Standard_Integer theSelectionMode, const Standard_Boolean theToUpdateViewer, const PrsMgr_DisplayStatus theDispStatus=PrsMgr_DisplayStatus_None) |
Sets status, display mode and selection mode for specified Object If theSelectionMode equals -1, theIObj will not be activated: it will be displayed but will not be selectable. | |
void | Load (const Handle< AIS_InteractiveObject > &theObj, const Standard_Integer theSelectionMode=-1) |
Allows you to load the Interactive Object with a given selection mode, and/or with the desired decomposition option, whether the object is visualized or not. The loaded objects will be selectable but displayable in highlighting only when detected by the Selector. | |
void | Erase (const Handle< AIS_InteractiveObject > &theIObj, const Standard_Boolean theToUpdateViewer) |
Hides the object. The object's presentations are simply flagged as invisible and therefore excluded from redrawing. To show hidden objects, use Display(). | |
void | EraseAll (const Standard_Boolean theToUpdateViewer) |
Hides all objects. The object's presentations are simply flagged as invisible and therefore excluded from redrawing. To show all hidden objects, use DisplayAll(). | |
void | DisplayAll (const Standard_Boolean theToUpdateViewer) |
Displays all hidden objects. | |
void | EraseSelected (const Standard_Boolean theToUpdateViewer) |
Hides selected objects. The object's presentations are simply flagged as invisible and therefore excluded from redrawing. To show hidden objects, use Display(). | |
void | DisplaySelected (const Standard_Boolean theToUpdateViewer) |
Displays current objects. | |
void | ClearPrs (const Handle< AIS_InteractiveObject > &theIObj, const Standard_Integer theMode, const Standard_Boolean theToUpdateViewer) |
Empties the graphic presentation of the mode indexed by aMode. Warning! Removes theIObj. theIObj is still active if it was previously activated. | |
void | Remove (const Handle< AIS_InteractiveObject > &theIObj, const Standard_Boolean theToUpdateViewer) |
Removes Object from every viewer. | |
void | RemoveAll (const Standard_Boolean theToUpdateViewer) |
Removes all the objects from Context. | |
void | Redisplay (const Handle< AIS_InteractiveObject > &theIObj, const Standard_Boolean theToUpdateViewer, const Standard_Boolean theAllModes=Standard_False) |
Recomputes the seen parts presentation of the Object. If theAllModes equals true, all presentations are present in the object even if unseen. | |
void | Redisplay (const AIS_KindOfInteractive theTypeOfObject, const Standard_Integer theSignature, const Standard_Boolean theToUpdateViewer) |
Recomputes the Prs/Selection of displayed objects of a given type and a given signature. if signature = -1 doesn't take signature criterion. | |
void | RecomputePrsOnly (const Handle< AIS_InteractiveObject > &theIObj, const Standard_Boolean theToUpdateViewer, const Standard_Boolean theAllModes=Standard_False) |
Recomputes the displayed presentations, flags the others. Doesn't update presentations. | |
void | RecomputeSelectionOnly (const Handle< AIS_InteractiveObject > &anIObj) |
Recomputes the active selections, flags the others. Doesn't update presentations. | |
void | Update (const Handle< AIS_InteractiveObject > &theIObj, const Standard_Boolean theUpdateViewer) |
Updates displayed interactive object by checking and recomputing its flagged as "to be recomputed" presentation and selection structures. This method does not force any recomputation on its own. The method recomputes selections even if they are loaded without activation in particular selector. | |
highlighting management | |
const Handle< Prs3d_Drawer > & | HighlightStyle (const Prs3d_TypeOfHighlight theStyleType) const |
Returns default highlight style settings (could be overridden by PrsMgr_PresentableObject). | |
void | SetHighlightStyle (const Prs3d_TypeOfHighlight theStyleType, const Handle< Prs3d_Drawer > &theStyle) |
Setup highlight style settings. Tip: it is better modifying existing style returned by method HighlightStyle() instead of creating a new Prs3d_Drawer to avoid unexpected results due misconfiguration. | |
const Handle< Prs3d_Drawer > & | HighlightStyle () const |
Returns current dynamic highlight style settings corresponding to Prs3d_TypeOfHighlight_Dynamic. This is just a short-cut to HighlightStyle(Prs3d_TypeOfHighlight_Dynamic). | |
void | SetHighlightStyle (const Handle< Prs3d_Drawer > &theStyle) |
Setup the style of dynamic highlighting corrsponding to Prs3d_TypeOfHighlight_Selected. This is just a short-cut to SetHighlightStyle(Prs3d_TypeOfHighlight_Dynamic,theStyle). | |
const Handle< Prs3d_Drawer > & | SelectionStyle () const |
Returns current selection style settings corrsponding to Prs3d_TypeOfHighlight_Selected. This is just a short-cut to HighlightStyle(Prs3d_TypeOfHighlight_Selected). | |
void | SetSelectionStyle (const Handle< Prs3d_Drawer > &theStyle) |
Setup the style of selection highlighting. This is just a short-cut to SetHighlightStyle(Prs3d_TypeOfHighlight_Selected,theStyle). | |
Standard_Boolean | HighlightStyle (const Handle< AIS_InteractiveObject > &theObj, Handle< Prs3d_Drawer > &theStyle) const |
Returns highlight style of the object if it is marked as highlighted via global status. | |
Standard_Boolean | HighlightStyle (const Handle< SelectMgr_EntityOwner > &theOwner, Handle< Prs3d_Drawer > &theStyle) const |
Returns highlight style of the owner if it is selected. | |
Standard_Boolean | IsHilighted (const Handle< AIS_InteractiveObject > &theObj) const |
Returns true if the object is marked as highlighted via its global status. | |
Standard_Boolean | IsHilighted (const Handle< SelectMgr_EntityOwner > &theOwner) const |
Returns true if the owner is marked as selected. | |
void | HilightWithColor (const Handle< AIS_InteractiveObject > &theObj, const Handle< Prs3d_Drawer > &theStyle, const Standard_Boolean theToUpdateViewer) |
Changes the color of all the lines of the object in view. | |
void | Unhilight (const Handle< AIS_InteractiveObject > &theIObj, const Standard_Boolean theToUpdateViewer) |
Removes hilighting from the Object. | |
object presence management (View affinity, Layer, Priority) | |
Graphic3d_DisplayPriority | DisplayPriority (const Handle< AIS_InteractiveObject > &theIObj) const |
Returns the display priority of the Object. | |
void | SetDisplayPriority (const Handle< AIS_InteractiveObject > &theIObj, const Graphic3d_DisplayPriority thePriority) |
Sets the display priority of the seen parts presentation of the Object. | |
void | SetDisplayPriority (const Handle< AIS_InteractiveObject > &theIObj, const Standard_Integer thePriority) |
Graphic3d_ZLayerId | GetZLayer (const Handle< AIS_InteractiveObject > &theIObj) const |
Get Z layer id set for displayed interactive object. | |
void | SetZLayer (const Handle< AIS_InteractiveObject > &theIObj, const Graphic3d_ZLayerId theLayerId) |
Set Z layer id for interactive object. The Z layers can be used to display temporarily presentations of some object in front of the other objects in the scene. The ids for Z layers are generated by V3d_Viewer. | |
void | SetViewAffinity (const Handle< AIS_InteractiveObject > &theIObj, const Handle< V3d_View > &theView, const Standard_Boolean theIsVisible) |
Setup object visibility in specified view. Has no effect if object is not displayed in this context. | |
Display Mode management | |
Standard_Integer | DisplayMode () const |
Returns the Display Mode setting to be used by default. | |
void | SetDisplayMode (const Standard_Integer theMode, const Standard_Boolean theToUpdateViewer) |
Sets the display mode of seen Interactive Objects (which have no overridden Display Mode). | |
void | SetDisplayMode (const Handle< AIS_InteractiveObject > &theIObj, const Standard_Integer theMode, const Standard_Boolean theToUpdateViewer) |
Sets the display mode of seen Interactive Objects. theMode provides the display mode index of the entity theIObj. | |
void | UnsetDisplayMode (const Handle< AIS_InteractiveObject > &theIObj, const Standard_Boolean theToUpdateViewer) |
Unsets the display mode of seen Interactive Objects. | |
object local transformation management | |
void | SetLocation (const Handle< AIS_InteractiveObject > &theObject, const TopLoc_Location &theLocation) |
Puts the location on the initial graphic representation and the selection for the Object. | |
void | ResetLocation (const Handle< AIS_InteractiveObject > &theObject) |
Puts the Object back into its initial position. | |
Standard_Boolean | HasLocation (const Handle< AIS_InteractiveObject > &theObject) const |
Returns true if the Object has a location. | |
TopLoc_Location | Location (const Handle< AIS_InteractiveObject > &theObject) const |
Returns the location of the Object. | |
void | SetTransformPersistence (const Handle< AIS_InteractiveObject > &theObject, const Handle< Graphic3d_TransformPers > &theTrsfPers) |
Sets transform persistence. | |
mouse picking logic (detection and dynamic highlighting of entities under cursor) | |
void | SetPixelTolerance (const Standard_Integer thePrecision=2) |
Setup pixel tolerance for MoveTo() operation. | |
Standard_Integer | PixelTolerance () const |
Returns the pixel tolerance, default is 2. Pixel Tolerance extends sensitivity within MoveTo() operation (picking by point) and can be adjusted by application based on user input precision (e.g. screen pixel density, input device precision, etc.). | |
void | SetSelectionSensitivity (const Handle< AIS_InteractiveObject > &theObject, const Standard_Integer theMode, const Standard_Integer theNewSensitivity) |
Allows to manage sensitivity of a particular selection of interactive object theObject and changes previous sensitivity value of all sensitive entities in selection with theMode to the given theNewSensitivity. | |
Handle< V3d_View > | LastActiveView () const |
Returns last active View (argument of MoveTo()/Select() methods). | |
AIS_StatusOfDetection | MoveTo (const Standard_Integer theXPix, const Standard_Integer theYPix, const Handle< V3d_View > &theView, const Standard_Boolean theToRedrawOnUpdate) |
Relays mouse position in pixels theXPix and theYPix to the interactive context selectors. This is done by the view theView passing this position to the main viewer and updating it. If theToRedrawOnUpdate is set to false, callee should call RedrawImmediate() to highlight detected object. | |
AIS_StatusOfDetection | MoveTo (const gp_Ax1 &theAxis, const Handle< V3d_View > &theView, const Standard_Boolean theToRedrawOnUpdate) |
Relays axis theAxis to the interactive context selectors. This is done by the view theView passing this axis to the main viewer and updating it. If theToRedrawOnUpdate is set to false, callee should call RedrawImmediate() to highlight detected object. | |
Standard_Boolean | ClearDetected (Standard_Boolean theToRedrawImmediate=Standard_False) |
Clears the list of entities detected by MoveTo() and resets dynamic highlighting. | |
Standard_Boolean | HasDetected () const |
Returns true if there is a mouse-detected entity in context. | |
const Handle< SelectMgr_EntityOwner > & | DetectedOwner () const |
Returns the owner of the detected sensitive primitive which is currently dynamically highlighted. WARNING! This method is irrelevant to InitDetected()/MoreDetected()/NextDetected(). | |
Handle< AIS_InteractiveObject > | DetectedInteractive () const |
Returns the interactive objects last detected in context. In general this is just a wrapper for Handle(AIS_InteractiveObject)::DownCast(DetectedOwner()->Selectable()). | |
Standard_Boolean | HasDetectedShape () const |
Returns true if there is a detected shape in local context. | |
const TopoDS_Shape & | DetectedShape () const |
Returns the shape detected in local context. | |
Standard_Boolean | HasNextDetected () const |
returns True if other entities were detected in the last mouse detection | |
Standard_Integer | HilightNextDetected (const Handle< V3d_View > &theView, const Standard_Boolean theToRedrawImmediate=Standard_True) |
If more than 1 object is detected by the selector, only the "best" owner is hilighted at the mouse position. This Method allows the user to hilight one after another the other detected entities. If The method select is called, the selected entity will be the hilighted one! WARNING: Loop Method. When all the detected entities have been hilighted, the next call will hilight the first one again. | |
Standard_Integer | HilightPreviousDetected (const Handle< V3d_View > &theView, const Standard_Boolean theToRedrawImmediate=Standard_True) |
Same as previous methods in reverse direction. | |
iteration through detected entities | |
void | InitDetected () |
Initialization for iteration through mouse-detected objects in interactive context or in local context if it is opened. | |
Standard_Boolean | MoreDetected () const |
Return TRUE if there is more mouse-detected objects after the current one during iteration through mouse-detected interactive objects. | |
void | NextDetected () |
Gets next current object during iteration through mouse-detected interactive objects. | |
Handle< SelectMgr_EntityOwner > | DetectedCurrentOwner () const |
Returns the owner from detected list pointed by current iterator position. WARNING! This method is irrelevant to DetectedOwner() which returns last picked Owner regardless of iterator position! | |
Selection management | |
AIS_StatusOfPick | AddSelect (const Handle< SelectMgr_EntityOwner > &theObject) |
Adds object in the selection. | |
AIS_StatusOfPick | AddSelect (const Handle< AIS_InteractiveObject > &theObject) |
Adds object in the selection. | |
AIS_StatusOfPick | SelectRectangle (const Graphic3d_Vec2i &thePntMin, const Graphic3d_Vec2i &thePntMax, const Handle< V3d_View > &theView, const AIS_SelectionScheme theSelScheme=AIS_SelectionScheme_Replace) |
Selects objects within the bounding rectangle. Viewer should be explicitly redrawn after selection. | |
AIS_StatusOfPick | SelectPolygon (const TColgp_Array1OfPnt2d &thePolyline, const Handle< V3d_View > &theView, const AIS_SelectionScheme theSelScheme=AIS_SelectionScheme_Replace) |
Select everything found in the polygon defined by bounding polyline. Viewer should be explicitly redrawn after selection. | |
AIS_StatusOfPick | SelectPoint (const Graphic3d_Vec2i &thePnt, const Handle< V3d_View > &theView, const AIS_SelectionScheme theSelScheme=AIS_SelectionScheme_Replace) |
Selects the topmost object picked by the point in the view, Viewer should be explicitly redrawn after selection. | |
AIS_StatusOfPick | SelectDetected (const AIS_SelectionScheme theSelScheme=AIS_SelectionScheme_Replace) |
Select and hilights the previous detected via AIS_InteractiveContext::MoveTo() method; unhilights the previous picked. Viewer should be explicitly redrawn after selection. | |
Bnd_Box | BoundingBoxOfSelection (const Handle< V3d_View > &theView) const |
Returns bounding box of selected objects. | |
Bnd_Box | BoundingBoxOfSelection () const |
AIS_StatusOfPick | Select (const AIS_NArray1OfEntityOwner &theOwners, const AIS_SelectionScheme theSelScheme) |
Sets list of owner selected/deselected using specified selection scheme. | |
void | FitSelected (const Handle< V3d_View > &theView, const Standard_Real theMargin, const Standard_Boolean theToUpdate) |
Fits the view correspondingly to the bounds of selected objects. Infinite objects are ignored if infinite state of AIS_InteractiveObject is set to true. | |
void | FitSelected (const Handle< V3d_View > &theView) |
Fits the view correspondingly to the bounds of selected objects. Infinite objects are ignored if infinite state of AIS_InteractiveObject is set to true. | |
Standard_Boolean | ToHilightSelected () const |
Return value specified whether selected object must be hilighted when mouse cursor is moved above it. | |
void | SetToHilightSelected (const Standard_Boolean toHilight) |
Specify whether selected object must be hilighted when mouse cursor is moved above it (in MoveTo method). By default this value is false and selected object is not hilighted in this case. | |
Standard_Boolean | AutomaticHilight () const |
Returns true if the automatic highlight mode is active; TRUE by default. | |
void | SetAutomaticHilight (Standard_Boolean theStatus) |
Sets the highlighting status of detected and selected entities. This function allows you to disconnect the automatic mode. | |
void | SetSelected (const Handle< SelectMgr_EntityOwner > &theOwners, const Standard_Boolean theToUpdateViewer) |
Unhighlights previously selected owners and marks them as not selected. Marks owner given as selected and highlights it. Performs selection filters check. | |
void | SetSelected (const Handle< AIS_InteractiveObject > &theObject, const Standard_Boolean theToUpdateViewer) |
Puts the interactive object aniObj in the list of selected objects. Performs selection filters check. | |
void | AddOrRemoveSelected (const Handle< AIS_InteractiveObject > &theObject, const Standard_Boolean theToUpdateViewer) |
Allows to highlight or unhighlight the owner given depending on its selection status. | |
Standard_Boolean | SetSelectedState (const Handle< SelectMgr_EntityOwner > &theOwner, const Standard_Boolean theIsSelected) |
Updates Selected state of specified owner without calling HilightSelected(). Has no effect if Selected state is not changed, and redirects to AddOrRemoveSelected() otherwise. | |
void | HilightSelected (const Standard_Boolean theToUpdateViewer) |
Highlights selected objects. | |
void | UnhilightSelected (const Standard_Boolean theToUpdateViewer) |
Removes highlighting from selected objects. | |
void | UpdateSelected (Standard_Boolean theToUpdateViewer) |
Updates the list of selected objects: i.e. highlights the newly selected ones and unhighlights previously selected objects. | |
void | ClearSelected (const Standard_Boolean theToUpdateViewer) |
Empties previous selected objects in order to get the selected objects detected by the selector using UpdateSelected. | |
void | AddOrRemoveSelected (const Handle< SelectMgr_EntityOwner > &theOwner, const Standard_Boolean theToUpdateViewer) |
Allows to highlight or unhighlight the owner given depending on its selection status. | |
Standard_Boolean | IsSelected (const Handle< SelectMgr_EntityOwner > &theOwner) const |
Returns true is the owner given is selected. | |
Standard_Boolean | IsSelected (const Handle< AIS_InteractiveObject > &theObj) const |
Returns true is the object given is selected. | |
Handle< AIS_InteractiveObject > | FirstSelectedObject () const |
Returns the first selected object in the list of current selected. | |
Standard_Integer | NbSelected () |
Count a number of selected entities using InitSelected()+MoreSelected()+NextSelected() iterator. | |
void | InitSelected () |
Initializes a scan of the selected objects. | |
Standard_Boolean | MoreSelected () const |
Returns true if there is another object found by the scan of the list of selected objects. | |
void | NextSelected () |
Continues the scan to the next object in the list of selected objects. | |
Handle< SelectMgr_EntityOwner > | SelectedOwner () const |
Returns the owner of the selected entity. | |
Handle< AIS_InteractiveObject > | SelectedInteractive () const |
Return Handle(AIS_InteractiveObject)::DownCast (SelectedOwner()->Selectable()). | |
Standard_Boolean | HasSelectedShape () const |
Returns TRUE if the interactive context has a shape selected. | |
TopoDS_Shape | SelectedShape () const |
Returns the selected shape. Basically it is just a shape returned stored by StdSelect_BRepOwner with graphic transformation being applied: | |
Standard_Boolean | HasApplicative () const |
Returns SelectedInteractive()->HasOwner(). | |
Handle< Standard_Transient > | Applicative () const |
Returns SelectedInteractive()->GetOwner(). | |
immediate mode rendering | |
Standard_Boolean | BeginImmediateDraw () |
initializes the list of presentations to be displayed returns False if no local context is opened. | |
Standard_Boolean | ImmediateAdd (const Handle< AIS_InteractiveObject > &theObj, const Standard_Integer theMode=0) |
returns True if <anIObj> has been stored in the list. | |
Standard_Boolean | EndImmediateDraw (const Handle< V3d_View > &theView) |
returns True if the immediate display has been done. | |
Standard_Boolean | EndImmediateDraw () |
Uses the First Active View of Main Viewer! returns True if the immediate display has been done. | |
Standard_Boolean | IsImmediateModeOn () const |
initializes the list of presentations to be displayed returns False if no local context is opened. | |
void | RedrawImmediate (const Handle< V3d_Viewer > &theViewer) |
Redraws immediate structures in all views of the viewer given taking into account its visibility. | |
management of active Selection Modes | |
void | SetSelectionModeActive (const Handle< AIS_InteractiveObject > &theObj, const Standard_Integer theMode, const Standard_Boolean theToActivate, const AIS_SelectionModesConcurrency theConcurrency=AIS_SelectionModesConcurrency_Multiple, const Standard_Boolean theIsForce=Standard_False) |
Activates or deactivates the selection mode for specified object. Has no effect if selection mode was already active/deactivated. | |
void | Activate (const Handle< AIS_InteractiveObject > &theObj, const Standard_Integer theMode=0, const Standard_Boolean theIsForce=Standard_False) |
Activates the selection mode aMode whose index is given, for the given interactive entity anIobj. | |
void | Activate (const Standard_Integer theMode, const Standard_Boolean theIsForce=Standard_False) |
Activates the given selection mode for the all displayed objects. | |
void | Deactivate (const Handle< AIS_InteractiveObject > &theObj) |
Deactivates all the activated selection modes of an object. | |
void | Deactivate (const Handle< AIS_InteractiveObject > &theObj, const Standard_Integer theMode) |
Deactivates all the activated selection modes of the interactive object anIobj with a given selection mode aMode. | |
void | Deactivate (const Standard_Integer theMode) |
Deactivates the given selection mode for all displayed objects. | |
void | Deactivate () |
Deactivates all the activated selection mode at all displayed objects. | |
void | ActivatedModes (const Handle< AIS_InteractiveObject > &anIobj, TColStd_ListOfInteger &theList) const |
Returns the list of activated selection modes. | |
void | EntityOwners (Handle< SelectMgr_IndexedMapOfOwner > &theOwners, const Handle< AIS_InteractiveObject > &theIObj, const Standard_Integer theMode=-1) const |
Returns a collection containing all entity owners created for the interactive object in specified selection mode (in all active modes if the Mode == -1) | |
Selection Filters management | |
SelectMgr_FilterType | FilterType () const |
void | SetFilterType (const SelectMgr_FilterType theFilterType) |
Sets the context selection filter type. SelectMgr_TypeFilter_OR selection filter is used by default. | |
const SelectMgr_ListOfFilter & | Filters () const |
Returns the list of filters active in a local context. | |
const Handle< SelectMgr_AndOrFilter > & | GlobalFilter () const |
void | AddFilter (const Handle< SelectMgr_Filter > &theFilter) |
Allows you to add the filter. | |
void | RemoveFilter (const Handle< SelectMgr_Filter > &theFilter) |
Removes a filter from context. | |
void | RemoveFilters () |
Remove all filters from context. | |
SelectMgr_PickingStrategy | PickingStrategy () const |
Return picking strategy; SelectMgr_PickingStrategy_FirstAcceptable by default. | |
void | SetPickingStrategy (const SelectMgr_PickingStrategy theStrategy) |
Setup picking strategy - which entities detected by picking line will be accepted, considering Selection Filters. By default (SelectMgr_PickingStrategy_FirstAcceptable), Selection Filters reduce the list of entities so that the context accepts topmost in remaining. | |
common properties | |
const Handle< Prs3d_Drawer > & | DefaultDrawer () const |
Returns the default attribute manager. This contains all the color and line attributes which can be used by interactive objects which do not have their own attributes. | |
void | SetDefaultDrawer (const Handle< Prs3d_Drawer > &theDrawer) |
Sets the default attribute manager; should be set at context creation time. Warning - this setter doesn't update links to the default drawer of already displayed objects! | |
const Handle< V3d_Viewer > & | CurrentViewer () const |
Returns the current viewer. | |
const Handle< SelectMgr_SelectionManager > & | SelectionManager () const |
Returns the default attribute manager. This contains all the color and line attributes which can be used by interactive objects which do not have their own attributes. | |
const Handle< PrsMgr_PresentationManager > & | MainPrsMgr () const |
Returns the default attribute manager. This contains all the color and line attributes which can be used by interactive objects which do not have their own attributes. | |
const Handle< StdSelect_ViewerSelector3d > & | MainSelector () const |
Returns the default attribute manager. This contains all the color and line attributes which can be used by interactive objects which do not have their own attributes. | |
void | UpdateCurrentViewer () |
Updates the current viewer. | |
void | DisplayedObjects (AIS_ListOfInteractive &aListOfIO) const |
Returns the list of displayed objects of a particular Type WhichKind and Signature WhichSignature. By Default, WhichSignature equals -1. This means that there is a check on type only. | |
void | DisplayedObjects (const AIS_KindOfInteractive theWhichKind, const Standard_Integer theWhichSignature, AIS_ListOfInteractive &theListOfIO) const |
gives the list of displayed objects of a particular Type and signature. by Default, <WhichSignature> = -1 means control only on <WhichKind>. | |
void | ErasedObjects (AIS_ListOfInteractive &theListOfIO) const |
Returns the list theListOfIO of erased objects (hidden objects) particular Type WhichKind and Signature WhichSignature. By Default, WhichSignature equals 1. This means that there is a check on type only. | |
void | ErasedObjects (const AIS_KindOfInteractive theWhichKind, const Standard_Integer theWhichSignature, AIS_ListOfInteractive &theListOfIO) const |
gives the list of erased objects (hidden objects) Type and signature by Default, <WhichSignature> = -1 means control only on <WhichKind>. | |
void | ObjectsByDisplayStatus (const PrsMgr_DisplayStatus theStatus, AIS_ListOfInteractive &theListOfIO) const |
Returns the list theListOfIO of objects with indicated display status particular Type WhichKind and Signature WhichSignature. By Default, WhichSignature equals 1. This means that there is a check on type only. | |
void | ObjectsByDisplayStatus (const AIS_KindOfInteractive WhichKind, const Standard_Integer WhichSignature, const PrsMgr_DisplayStatus theStatus, AIS_ListOfInteractive &theListOfIO) const |
gives the list of objects with indicated display status Type and signature by Default, <WhichSignature> = -1 means control only on <WhichKind>. | |
void | ObjectsInside (AIS_ListOfInteractive &aListOfIO, const AIS_KindOfInteractive WhichKind=AIS_KindOfInteractive_None, const Standard_Integer WhichSignature=-1) const |
fills <aListOfIO> with objects of a particular Type and Signature with no consideration of display status. by Default, <WhichSignature> = -1 means control only on <WhichKind>. if <WhichKind> = AIS_KindOfInteractive_None and <WhichSignature> = -1, all the objects are put into the list. | |
AIS_DataMapIteratorOfDataMapOfIOStatus | ObjectIterator () const |
Create iterator through all objects registered in context. | |
void | RebuildSelectionStructs () |
Rebuilds 1st level of BVH selection forcibly. | |
void | Disconnect (const Handle< AIS_InteractiveObject > &theAssembly, const Handle< AIS_InteractiveObject > &theObjToDisconnect=NULL) |
Disconnects theObjToDisconnect from theAssembly and removes dependent selection structures. | |
void | ObjectsForView (AIS_ListOfInteractive &theListOfIO, const Handle< V3d_View > &theView, const Standard_Boolean theIsVisibleInView, const PrsMgr_DisplayStatus theStatus=PrsMgr_DisplayStatus_None) const |
Query objects visible or hidden in specified view due to affinity mask. | |
virtual gp_Pnt | GravityPoint (const Handle< V3d_View > &theView) const |
Return rotation gravity point. | |
debug visualization | |
void | DisplayActiveSensitive (const Handle< V3d_View > &aView) |
Visualization of sensitives - for debugging purposes! | |
void | ClearActiveSensitive (const Handle< V3d_View > &aView) |
Clear visualization of sensitives. | |
void | DisplayActiveSensitive (const Handle< AIS_InteractiveObject > &anObject, const Handle< V3d_View > &aView) |
Visualization of sensitives - for debugging purposes! | |
common object display attributes | |
void | SetLocalAttributes (const Handle< AIS_InteractiveObject > &theIObj, const Handle< Prs3d_Drawer > &theDrawer, const Standard_Boolean theToUpdateViewer) |
Sets the graphic attributes of the interactive object, such as visualization mode, color, and material. | |
void | UnsetLocalAttributes (const Handle< AIS_InteractiveObject > &theIObj, const Standard_Boolean theToUpdateViewer) |
Removes the settings for local attributes of the Object and returns to defaults. | |
void | SetCurrentFacingModel (const Handle< AIS_InteractiveObject > &aniobj, const Aspect_TypeOfFacingModel aModel=Aspect_TOFM_BOTH_SIDE) |
change the current facing model apply on polygons for SetColor(), SetTransparency(), SetMaterial() methods default facing model is Aspect_TOFM_TWO_SIDE. This mean that attributes is applying both on the front and back face. | |
Standard_Boolean | HasColor (const Handle< AIS_InteractiveObject > &aniobj) const |
Returns true if a view of the Interactive Object has color. | |
void | Color (const Handle< AIS_InteractiveObject > &aniobj, Quantity_Color &acolor) const |
Returns the color of the Object in the interactive context. | |
void | SetColor (const Handle< AIS_InteractiveObject > &theIObj, const Quantity_Color &theColor, const Standard_Boolean theToUpdateViewer) |
Sets the color of the selected entity. | |
void | UnsetColor (const Handle< AIS_InteractiveObject > &theIObj, const Standard_Boolean theToUpdateViewer) |
Removes the color selection for the selected entity. | |
virtual Standard_Real | Width (const Handle< AIS_InteractiveObject > &aniobj) const |
Returns the width of the Interactive Object in the interactive context. | |
virtual void | SetWidth (const Handle< AIS_InteractiveObject > &theIObj, const Standard_Real theValue, const Standard_Boolean theToUpdateViewer) |
Sets the width of the Object. | |
virtual void | UnsetWidth (const Handle< AIS_InteractiveObject > &theIObj, const Standard_Boolean theToUpdateViewer) |
Removes the width setting of the Object. | |
void | SetMaterial (const Handle< AIS_InteractiveObject > &theIObj, const Graphic3d_MaterialAspect &theMaterial, const Standard_Boolean theToUpdateViewer) |
Provides the type of material setting for the view of the Object. | |
void | UnsetMaterial (const Handle< AIS_InteractiveObject > &theIObj, const Standard_Boolean theToUpdateViewer) |
Removes the type of material setting for viewing the Object. | |
void | SetTransparency (const Handle< AIS_InteractiveObject > &theIObj, const Standard_Real theValue, const Standard_Boolean theToUpdateViewer) |
Provides the transparency settings for viewing the Object. The transparency value aValue may be between 0.0, opaque, and 1.0, fully transparent. | |
void | UnsetTransparency (const Handle< AIS_InteractiveObject > &theIObj, const Standard_Boolean theToUpdateViewer) |
Removes the transparency settings for viewing the Object. | |
void | SetPolygonOffsets (const Handle< AIS_InteractiveObject > &theIObj, const Standard_Integer theMode, const Standard_ShortReal theFactor, const Standard_ShortReal theUnits, const Standard_Boolean theToUpdateViewer) |
Sets up polygon offsets for the given AIS_InteractiveObject. It simply calls AIS_InteractiveObject::SetPolygonOffsets(). | |
Standard_Boolean | HasPolygonOffsets (const Handle< AIS_InteractiveObject > &anObj) const |
Simply calls AIS_InteractiveObject::HasPolygonOffsets(). | |
void | PolygonOffsets (const Handle< AIS_InteractiveObject > &anObj, Standard_Integer &aMode, Standard_ShortReal &aFactor, Standard_ShortReal &aUnits) const |
Retrieves current polygon offsets settings for Object. | |
trihedron display attributes | |
void | SetTrihedronSize (const Standard_Real theSize, const Standard_Boolean theToUpdateViewer) |
Sets the size aSize of the trihedron. Is used to change the default value 100 mm for display of trihedra. Use of this function in one of your own interactive objects requires a call to the Compute function of the new class. This will recalculate the presentation for every trihedron displayed. | |
Standard_Real | TrihedronSize () const |
returns the current value of trihedron size. | |
plane display attributes | |
void | SetPlaneSize (const Standard_Real theSizeX, const Standard_Real theSizeY, const Standard_Boolean theToUpdateViewer) |
Sets the plane size defined by the length in the X direction XSize and that in the Y direction YSize. | |
void | SetPlaneSize (const Standard_Real theSize, const Standard_Boolean theToUpdateViewer) |
Sets the plane size aSize. | |
Standard_Boolean | PlaneSize (Standard_Real &XSize, Standard_Real &YSize) const |
Returns true if the length in the X direction XSize is the same as that in the Y direction YSize. | |
tessellation deviation properties for automatic triangulation | |
void | SetDeviationCoefficient (const Handle< AIS_InteractiveObject > &theIObj, const Standard_Real theCoefficient, const Standard_Boolean theToUpdateViewer) |
Sets the deviation coefficient theCoefficient. Drawings of curves or patches are made with respect to a maximal chordal deviation. A Deviation coefficient is used in the shading display mode. The shape is seen decomposed into triangles. These are used to calculate reflection of light from the surface of the object. The triangles are formed from chords of the curves in the shape. The deviation coefficient theCoefficient gives the highest value of the angle with which a chord can deviate from a tangent to a curve. If this limit is reached, a new triangle is begun. This deviation is absolute and is set through the method: SetMaximalChordialDeviation. The default value is 0.001. In drawing shapes, however, you are allowed to ask for a relative deviation. This deviation will be: SizeOfObject * DeviationCoefficient. | |
void | SetDeviationAngle (const Handle< AIS_InteractiveObject > &theIObj, const Standard_Real theAngle, const Standard_Boolean theToUpdateViewer) |
Sets the deviation coefficient theCoefficient. Drawings of curves or patches are made with respect to a maximal chordal deviation. A Deviation coefficient is used in the shading display mode. The shape is seen decomposed into triangles. These are used to calculate reflection of light from the surface of the object. The triangles are formed from chords of the curves in the shape. The deviation coefficient theCoefficient gives the highest value of the angle with which a chord can deviate from a tangent to a curve. If this limit is reached, a new triangle is begun. This deviation is absolute and is set through the method: SetMaximalChordialDeviation. The default value is 0.001. In drawing shapes, however, you are allowed to ask for a relative deviation. This deviation will be: SizeOfObject * DeviationCoefficient. | |
void | SetAngleAndDeviation (const Handle< AIS_InteractiveObject > &theIObj, const Standard_Real theAngle, const Standard_Boolean theToUpdateViewer) |
Calls the AIS_Shape SetAngleAndDeviation to set both Angle and Deviation coefficients. | |
void | SetDeviationCoefficient (const Standard_Real theCoefficient) |
Sets the deviation coefficient theCoefficient. Drawings of curves or patches are made with respect to a maximal chordal deviation. A Deviation coefficient is used in the shading display mode. The shape is seen decomposed into triangles. These are used to calculate reflection of light from the surface of the object. The triangles are formed from chords of the curves in the shape. The deviation coefficient theCoefficient gives the highest value of the angle with which a chord can deviate from a tangent to a curve. If this limit is reached, a new triangle is begun. This deviation is absolute and is set through the method: SetMaximalChordialDeviation. The default value is 0.001. In drawing shapes, however, you are allowed to ask for a relative deviation. This deviation will be: SizeOfObject * DeviationCoefficient. | |
Standard_Real | DeviationCoefficient () const |
Returns the deviation coefficient. Drawings of curves or patches are made with respect to a maximal chordal deviation. A Deviation coefficient is used in the shading display mode. The shape is seen decomposed into triangles. These are used to calculate reflection of light from the surface of the object. The triangles are formed from chords of the curves in the shape. The deviation coefficient gives the highest value of the angle with which a chord can deviate from a tangent to a curve. If this limit is reached, a new triangle is begun. This deviation is absolute and is set through Prs3d_Drawer::SetMaximalChordialDeviation. The default value is 0.001. In drawing shapes, however, you are allowed to ask for a relative deviation. This deviation will be: SizeOfObject * DeviationCoefficient. | |
void | SetDeviationAngle (const Standard_Real theAngle) |
default 20 degrees | |
Standard_Real | DeviationAngle () const |
Sets the deviation coefficient theCoefficient. Drawings of curves or patches are made with respect to a maximal chordal deviation. A Deviation coefficient is used in the shading display mode. The shape is seen decomposed into triangles. These are used to calculate reflection of light from the surface of the object. The triangles are formed from chords of the curves in the shape. The deviation coefficient theCoefficient gives the highest value of the angle with which a chord can deviate from a tangent to a curve. If this limit is reached, a new triangle is begun. This deviation is absolute and is set through the method: SetMaximalChordialDeviation. The default value is 0.001. In drawing shapes, however, you are allowed to ask for a relative deviation. This deviation will be: SizeOfObject * DeviationCoefficient. | |
HLR (Hidden Line Removal) display attributes | |
const Handle< Prs3d_LineAspect > & | HiddenLineAspect () const |
Initializes hidden line aspect in the default drawing tool, or Drawer. The default values are: Color: Quantity_NOC_YELLOW Type of line: Aspect_TOL_DASH Width: 1. | |
void | SetHiddenLineAspect (const Handle< Prs3d_LineAspect > &theAspect) const |
Sets the hidden line aspect anAspect. Aspect defines display attributes for hidden lines in HLR projections. | |
Standard_Boolean | DrawHiddenLine () const |
returns Standard_True if the hidden lines are to be drawn. By default the hidden lines are not drawn. | |
void | EnableDrawHiddenLine () const |
Initializes hidden line aspect in the default drawing tool, or Drawer. The default values are: Color: Quantity_NOC_YELLOW Type of line: Aspect_TOL_DASH Width: 1. | |
void | DisableDrawHiddenLine () const |
Initializes hidden line aspect in the default drawing tool, or Drawer. The default values are: Color: Quantity_NOC_YELLOW Type of line: Aspect_TOL_DASH Width: 1. | |
iso-line display attributes | |
void | SetIsoNumber (const Standard_Integer NbIsos, const AIS_TypeOfIso WhichIsos=AIS_TOI_Both) |
Sets the number of U and V isoparameters displayed. | |
Standard_Integer | IsoNumber (const AIS_TypeOfIso WhichIsos=AIS_TOI_Both) |
Returns the number of U and V isoparameters displayed. | |
void | IsoOnPlane (const Standard_Boolean theToSwitchOn) |
Returns True if drawing isoparameters on planes is enabled. | |
Standard_Boolean | IsoOnPlane () const |
Returns True if drawing isoparameters on planes is enabled. if <forUIsos> = False,. | |
void | IsoOnTriangulation (const Standard_Boolean theIsEnabled, const Handle< AIS_InteractiveObject > &theObject) |
Enables or disables on-triangulation build for isolines for a particular object. In case if on-triangulation builder is disabled, default on-plane builder will compute isolines for the object given. | |
void | IsoOnTriangulation (const Standard_Boolean theToSwitchOn) |
Enables or disables on-triangulation build for isolines for default drawer. In case if on-triangulation builder is disabled, default on-plane builder will compute isolines for the object given. | |
Standard_Boolean | IsoOnTriangulation () const |
Returns true if drawing isolines on triangulation algorithm is enabled. | |
obsolete methods | |
void | Display (const Handle< AIS_InteractiveObject > &theIObj, const Standard_Integer theDispMode, const Standard_Integer theSelectionMode, const Standard_Boolean theToUpdateViewer, const Standard_Boolean theToAllowDecomposition, const PrsMgr_DisplayStatus theDispStatus=PrsMgr_DisplayStatus_None) |
void | Load (const Handle< AIS_InteractiveObject > &theObj, Standard_Integer theSelectionMode, Standard_Boolean) |
void | Hilight (const Handle< AIS_InteractiveObject > &theObj, const Standard_Boolean theIsToUpdateViewer) |
Updates the display in the viewer to take dynamic detection into account. On dynamic detection by the mouse cursor, sensitive primitives are highlighted. The highlight color of entities detected by mouse movement is white by default. | |
void | SetSelectedAspect (const Handle< Prs3d_BasicAspect > &theAspect, const Standard_Boolean theToUpdateViewer) |
Sets the graphic basic aspect to the current presentation of ALL selected objects. | |
AIS_StatusOfPick | Select (const Standard_Integer theXPMin, const Standard_Integer theYPMin, const Standard_Integer theXPMax, const Standard_Integer theYPMax, const Handle< V3d_View > &theView, const Standard_Boolean theToUpdateViewer) |
Selects everything found in the bounding rectangle defined by the pixel minima and maxima, XPMin, YPMin, XPMax, and YPMax in the view. The objects detected are passed to the main viewer, which is then updated. | |
AIS_StatusOfPick | Select (const TColgp_Array1OfPnt2d &thePolyline, const Handle< V3d_View > &theView, const Standard_Boolean theToUpdateViewer) |
polyline selection; clears the previous picked list | |
AIS_StatusOfPick | Select (const Standard_Boolean theToUpdateViewer) |
Stores and hilights the previous detected; Unhilights the previous picked. | |
AIS_StatusOfPick | ShiftSelect (const Standard_Boolean theToUpdateViewer) |
Adds the last detected to the list of previous picked. If the last detected was already declared as picked, removes it from the Picked List. | |
AIS_StatusOfPick | ShiftSelect (const TColgp_Array1OfPnt2d &thePolyline, const Handle< V3d_View > &theView, const Standard_Boolean theToUpdateViewer) |
Adds the last detected to the list of previous picked. If the last detected was already declared as picked, removes it from the Picked List. | |
AIS_StatusOfPick | ShiftSelect (const Standard_Integer theXPMin, const Standard_Integer theYPMin, const Standard_Integer theXPMax, const Standard_Integer theYPMax, const Handle< V3d_View > &theView, const Standard_Boolean theToUpdateViewer) |
Rectangle of selection; adds new detected entities into the picked list, removes the detected entities that were already stored. | |
void | SetCurrentObject (const Handle< AIS_InteractiveObject > &theIObj, const Standard_Boolean theToUpdateViewer) |
Updates the view of the current object in open context. Objects selected when there is no open local context are called current objects; those selected in open local context, selected objects. | |
void | AddOrRemoveCurrentObject (const Handle< AIS_InteractiveObject > &theObj, const Standard_Boolean theIsToUpdateViewer) |
Allows to add or remove the object given to the list of current and highlight/unhighlight it correspondingly. Is valid for global context only; for local context use method AddOrRemoveSelected. Since this method makes sense only for neutral point selection of a whole object, if 0 selection of the object is empty this method simply does nothing. | |
void | UpdateCurrent () |
Updates the list of current objects, i.e. hilights new current objects, removes hilighting from former current objects. Objects selected when there is no open local context are called current objects; those selected in open local context, selected objects. | |
Standard_Boolean | IsCurrent (const Handle< AIS_InteractiveObject > &theObject) const |
Returns true if there is a non-null interactive object in Neutral Point. Objects selected when there is no open local context are called current objects; those selected in open local context, selected objects. | |
void | InitCurrent () |
Initializes a scan of the current selected objects in Neutral Point. Objects selected when there is no open local context are called current objects; those selected in open local context, selected objects. | |
Standard_Boolean | MoreCurrent () const |
Returns true if there is another object found by the scan of the list of current objects. Objects selected when there is no open local context are called current objects; those selected in open local context, selected objects. | |
void | NextCurrent () |
Continues the scan to the next object in the list of current objects. Objects selected when there is no open local context are called current objects; those selected in open local context, selected objects. | |
Handle< AIS_InteractiveObject > | Current () const |
Returns the current interactive object. Objects selected when there is no open local context are called current objects; those selected in open local context, selected objects. | |
Standard_Integer | NbCurrents () |
void | HilightCurrents (const Standard_Boolean theToUpdateViewer) |
Highlights current objects. Objects selected when there is no open local context are called current objects; those selected in open local context, selected objects. | |
void | UnhilightCurrents (const Standard_Boolean theToUpdateViewer) |
Removes highlighting from current objects. Objects selected when there is no open local context are called current objects; those selected in open local context, selected objects. | |
void | ClearCurrents (const Standard_Boolean theToUpdateViewer) |
Empties previous current objects in order to get the current objects detected by the selector using UpdateCurrent. Objects selected when there is no open local context are called current objects; those selected in open local context, selected objects. | |
const TopoDS_Shape & | DetectedCurrentShape () const |
Handle< AIS_InteractiveObject > | DetectedCurrentObject () const |
sub-intensity management (deprecated) | |
const Quantity_Color & | SubIntensityColor () const |
Sub-intensity allows temporary highlighting of particular objects with specified color in a manner of selection highlight, but without actual selection (e.g., global status and owner's selection state will not be updated). The method returns the color of such highlighting. By default, it is Quantity_NOC_GRAY40. | |
void | SetSubIntensityColor (const Quantity_Color &theColor) |
Sub-intensity allows temporary highlighting of particular objects with specified color in a manner of selection highlight, but without actual selection (e.g., global status and owner's selection state will not be updated). The method sets up the color for such highlighting. By default, this is Quantity_NOC_GRAY40. | |
void | SubIntensityOn (const Handle< AIS_InteractiveObject > &theIObj, const Standard_Boolean theToUpdateViewer) |
Highlights, and removes highlights from, the displayed object which is displayed at Neutral Point with subintensity color. Available only for active local context. There is no effect if there is no local context. If a local context is open, the presentation of the Interactive Object activates the selection mode. | |
void | SubIntensityOff (const Handle< AIS_InteractiveObject > &theIObj, const Standard_Boolean theToUpdateViewer) |
Removes the subintensity option for the entity. If a local context is open, the presentation of the Interactive Object activates the selection mode. | |
const Handle< AIS_Selection > & | Selection () const |
Returns selection instance. | |
void | SetSelection (const Handle< AIS_Selection > &theSelection) |
Sets selection instance to manipulate a container of selected owners. | |
virtual void | DumpJson (Standard_OStream &theOStream, Standard_Integer theDepth=-1) const |
Dumps the content of me into the stream. | |
Public Member Functions inherited from Standard_Transient | |
Standard_Transient () | |
Empty constructor. | |
Standard_Transient (const Standard_Transient &) | |
Copy constructor – does nothing. | |
Standard_Transient & | operator= (const Standard_Transient &) |
Assignment operator, needed to avoid copying reference counter. | |
virtual | ~Standard_Transient () |
Destructor must be virtual. | |
virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
Returns a type descriptor about this object. | |
Standard_Boolean | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
Returns a true value if this is an instance of Type. | |
Standard_Boolean | IsInstance (const Standard_CString theTypeName) const |
Returns a true value if this is an instance of TypeName. | |
Standard_Boolean | IsKind (const opencascade::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. | |
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. | |
Standard_Transient * | This () const |
Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero. | |
Standard_Integer | GetRefCount () const noexcept |
Get the reference counter of this object. | |
void | IncrementRefCounter () noexcept |
Increments the reference counter of this object. | |
Standard_Integer | DecrementRefCounter () noexcept |
Decrements the reference counter of this object; returns the decremented value. | |
virtual void | Delete () const |
Memory deallocator for transient classes. | |
Protected Member Functions | |
internal methods | |
void | GetDefModes (const Handle< AIS_InteractiveObject > &anIobj, Standard_Integer &Dmode, Standard_Integer &HiMod, Standard_Integer &SelMode) const |
Highlights detected objects. If theToRedrawOnUpdate is set to false, callee should call RedrawImmediate() to update view. | |
void | EraseGlobal (const Handle< AIS_InteractiveObject > &theIObj, const Standard_Boolean theToUpdateViewer) |
Highlights detected objects. If theToRedrawOnUpdate is set to false, callee should call RedrawImmediate() to update view. | |
void | ClearGlobal (const Handle< AIS_InteractiveObject > &theIObj, const Standard_Boolean theToUpdateViewer) |
Highlights detected objects. If theToRedrawOnUpdate is set to false, callee should call RedrawImmediate() to update view. | |
void | ClearGlobalPrs (const Handle< AIS_InteractiveObject > &theObj, const Standard_Integer theMode, const Standard_Boolean theToUpdateViewer) |
Highlights detected objects. If theToRedrawOnUpdate is set to false, callee should call RedrawImmediate() to update view. | |
void | InitAttributes () |
Highlights detected objects. If theToRedrawOnUpdate is set to false, callee should call RedrawImmediate() to update view. | |
AIS_StatusOfDetection | moveTo (const Handle< V3d_View > &theView, const Standard_Boolean theToRedrawOnUpdate) |
Highlights detected objects. If theToRedrawOnUpdate is set to false, callee should call RedrawImmediate() to update view. | |
Standard_Boolean | isDetected (const Handle< AIS_InteractiveObject > &theObject) |
Returns True if the object is detected. | |
void | unselectOwners (const Handle< AIS_InteractiveObject > &theObject) |
Helper function to unhighlight all entity owners currently highlighted with seleciton color. | |
void | highlightWithColor (const Handle< SelectMgr_EntityOwner > &theOwner, const Handle< V3d_Viewer > &theViewer=NULL) |
Helper function that highlights the owner given with <theStyle> without performing AutoHighlight checks, e.g. is used for dynamic highlight. | |
void | highlightSelected (const Handle< SelectMgr_EntityOwner > &theOwner) |
Helper function that highlights the owner given with <theStyle> with check for AutoHighlight, e.g. is used for selection. | |
void | highlightOwners (const AIS_NListOfEntityOwner &theOwners, const Handle< Prs3d_Drawer > &theStyle) |
Helper function that highlights the owners with check for AutoHighlight, e.g. is used for selection. | |
void | highlightGlobal (const Handle< AIS_InteractiveObject > &theObj, const Handle< Prs3d_Drawer > &theStyle, const Standard_Integer theDispMode) |
Helper function that highlights global owner of the object given with <theStyle> with check for AutoHighlight, e.g. is used for selection. If global owner is null, it simply highlights the whole object. | |
void | unhighlightSelected (const Standard_Boolean theIsToHilightSubIntensity=Standard_False) |
Helper function that unhighlights all owners that are stored in current AIS_Selection. The function updates global status and selection state of owner and interactive object. If the parameter <theIsToHilightSubIntensity> is set to true, interactive objects with sub-intensity switched on in AIS_GlobalStatus will be highlighted with context's sub-intensity color. | |
void | unhighlightOwners (const AIS_NListOfEntityOwner &theOwners, const Standard_Boolean theIsToHilightSubIntensity=Standard_False) |
Helper function that unhighlights the owners with check for AutoHighlight, e.g. is used for selection. | |
void | unhighlightGlobal (const Handle< AIS_InteractiveObject > &theObj) |
Helper function that unhighlights global selection owner of given interactive. The function does not perform any updates of global or owner status. | |
void | turnOnSubintensity (const Handle< AIS_InteractiveObject > &theObject=NULL, const Standard_Integer theDispMode=-1, const Standard_Boolean theIsDisplayedOnly=Standard_True) const |
Helper function that turns on sub-intensity in global status and highlights given objects with sub-intensity color. | |
void | highlightWithSubintensity (const Handle< AIS_InteractiveObject > &theObject, const Standard_Integer theMode) const |
Helper function that highlights the object with sub-intensity color without any checks. | |
void | highlightWithSubintensity (const Handle< SelectMgr_EntityOwner > &theOwner, const Standard_Integer theMode) const |
Helper function that highlights the owner with sub-intensity color without any checks. | |
const Handle< Prs3d_Drawer > & | getHiStyle (const Handle< AIS_InteractiveObject > &theObj, const Handle< SelectMgr_EntityOwner > &theOwner) const |
Helper function that returns correct dynamic highlight style for the object: if custom style is defined via object's highlight drawer, it will be used. Otherwise, dynamic highlight style of interactive context will be returned. | |
Standard_Boolean | isSlowHiStyle (const Handle< SelectMgr_EntityOwner > &theOwner, const Handle< V3d_Viewer > &theViewer) const |
Return TRUE if highlight style of owner requires full viewer redraw. | |
const Handle< Prs3d_Drawer > & | getSelStyle (const Handle< AIS_InteractiveObject > &theObj, const Handle< SelectMgr_EntityOwner > &theOwner) const |
Helper function that returns correct selection style for the object: if custom style is defined via object's highlight drawer, it will be used. Otherwise, selection style of interactive context will be returned. | |
void | setContextToObject (const Handle< AIS_InteractiveObject > &theObj) |
Assign the context to the object or throw exception if object was already assigned to another context. | |
Standard_Integer | getHilightMode (const Handle< AIS_InteractiveObject > &theObj, const Handle< Prs3d_Drawer > &theStyle, const Standard_Integer theDispMode) const |
Return display mode for highlighting. | |
void | clearDynamicHighlight () const |
Removes dynamic highlight draw. | |
void | setObjectStatus (const Handle< AIS_InteractiveObject > &theIObj, const PrsMgr_DisplayStatus theStatus, const Standard_Integer theDispyMode, const Standard_Integer theSelectionMode) |
Bind/Unbind status to object and its children. | |
Protected Attributes | |
internal fields | |
AIS_DataMapOfIOStatus | myObjects |
context filter (the content active filters can be applied with AND or OR operation) | |
Handle< SelectMgr_SelectionManager > | mgrSelector |
context filter (the content active filters can be applied with AND or OR operation) | |
Handle< PrsMgr_PresentationManager > | myMainPM |
context filter (the content active filters can be applied with AND or OR operation) | |
Handle< V3d_Viewer > | myMainVwr |
context filter (the content active filters can be applied with AND or OR operation) | |
V3d_View * | myLastActiveView |
context filter (the content active filters can be applied with AND or OR operation) | |
Handle< SelectMgr_EntityOwner > | myLastPicked |
context filter (the content active filters can be applied with AND or OR operation) | |
Standard_Boolean | myToHilightSelected |
context filter (the content active filters can be applied with AND or OR operation) | |
Handle< AIS_Selection > | mySelection |
context filter (the content active filters can be applied with AND or OR operation) | |
Handle< SelectMgr_AndOrFilter > | myFilters |
context filter (the content active filters can be applied with AND or OR operation) | |
Handle< Prs3d_Drawer > | myDefaultDrawer |
context filter (the content active filters can be applied with AND or OR operation) | |
Handle< Prs3d_Drawer > | myStyles [Prs3d_TypeOfHighlight_NB] |
context filter (the content active filters can be applied with AND or OR operation) | |
TColStd_SequenceOfInteger | myDetectedSeq |
context filter (the content active filters can be applied with AND or OR operation) | |
Standard_Integer | myCurDetected |
context filter (the content active filters can be applied with AND or OR operation) | |
Standard_Integer | myCurHighlighted |
context filter (the content active filters can be applied with AND or OR operation) | |
SelectMgr_PickingStrategy | myPickingStrategy |
picking strategy to be applied within MoveTo() | |
Standard_Boolean | myAutoHilight |
context filter (the content active filters can be applied with AND or OR operation) | |
Standard_Boolean | myIsAutoActivateSelMode |
context filter (the content active filters can be applied with AND or OR operation) | |
Additional Inherited Members | |
Public Types inherited from Standard_Transient | |
typedef void | base_type |
Returns a type descriptor about this object. | |
Static Public Member Functions inherited from Standard_Transient | |
static constexpr const char * | get_type_name () |
Returns a type descriptor about this object. | |
static const opencascade::handle< Standard_Type > & | get_type_descriptor () |
Returns type descriptor of Standard_Transient class. | |
The Interactive Context allows you to manage graphic behavior and selection of Interactive Objects in one or more viewers. Class methods make this highly transparent. It is essential to remember that an Interactive Object which is already known by the Interactive Context must be modified using Context methods. You can only directly call the methods available for an Interactive Object if it has not been loaded into an Interactive Context.
Each selectable object must specify the selection mode that is responsible for selection of object as a whole (global selection mode). Interactive context itself supports decomposed object selection with selection filters support. By default, global selection mode is equal to 0, but it might be redefined if needed.
AIS_InteractiveContext::AIS_InteractiveContext | ( | const Handle< V3d_Viewer > & | MainViewer | ) |
Constructs the interactive context object defined by the principal viewer MainViewer.
|
virtual |
Destructor.
|
inline |
Activates the selection mode aMode whose index is given, for the given interactive entity anIobj.
void AIS_InteractiveContext::Activate | ( | const Standard_Integer | theMode, |
const Standard_Boolean | theIsForce = Standard_False |
||
) |
Activates the given selection mode for the all displayed objects.
void AIS_InteractiveContext::ActivatedModes | ( | const Handle< AIS_InteractiveObject > & | anIobj, |
TColStd_ListOfInteger & | theList | ||
) | const |
Returns the list of activated selection modes.
|
inline |
Allows you to add the filter.
|
inline |
Allows to add or remove the object given to the list of current and highlight/unhighlight it correspondingly. Is valid for global context only; for local context use method AddOrRemoveSelected. Since this method makes sense only for neutral point selection of a whole object, if 0 selection of the object is empty this method simply does nothing.
void AIS_InteractiveContext::AddOrRemoveSelected | ( | const Handle< AIS_InteractiveObject > & | theObject, |
const Standard_Boolean | theToUpdateViewer | ||
) |
Allows to highlight or unhighlight the owner given depending on its selection status.
void AIS_InteractiveContext::AddOrRemoveSelected | ( | const Handle< SelectMgr_EntityOwner > & | theOwner, |
const Standard_Boolean | theToUpdateViewer | ||
) |
Allows to highlight or unhighlight the owner given depending on its selection status.
|
inline |
Adds object in the selection.
AIS_StatusOfPick AIS_InteractiveContext::AddSelect | ( | const Handle< SelectMgr_EntityOwner > & | theObject | ) |
Adds object in the selection.
|
inline |
Returns SelectedInteractive()->GetOwner().
|
inline |
Returns true if the automatic highlight mode is active; TRUE by default.
Standard_Boolean AIS_InteractiveContext::BeginImmediateDraw | ( | ) |
initializes the list of presentations to be displayed returns False if no local context is opened.
|
inline |
Returns bounding box of selected objects.
Clear visualization of sensitives.
|
inline |
Empties previous current objects in order to get the current objects detected by the selector using UpdateCurrent. Objects selected when there is no open local context are called current objects; those selected in open local context, selected objects.
Standard_Boolean AIS_InteractiveContext::ClearDetected | ( | Standard_Boolean | theToRedrawImmediate = Standard_False | ) |
Clears the list of entities detected by MoveTo() and resets dynamic highlighting.
theToRedrawImmediate | if TRUE, the main Viewer will be redrawn on update |
|
inlineprotected |
Removes dynamic highlight draw.
|
protected |
Highlights detected objects. If theToRedrawOnUpdate is set to false, callee should call RedrawImmediate() to update view.
|
protected |
Highlights detected objects. If theToRedrawOnUpdate is set to false, callee should call RedrawImmediate() to update view.
|
inline |
Empties the graphic presentation of the mode indexed by aMode. Warning! Removes theIObj. theIObj is still active if it was previously activated.
void AIS_InteractiveContext::ClearSelected | ( | const Standard_Boolean | theToUpdateViewer | ) |
Empties previous selected objects in order to get the selected objects detected by the selector using UpdateSelected.
void AIS_InteractiveContext::Color | ( | const Handle< AIS_InteractiveObject > & | aniobj, |
Quantity_Color & | acolor | ||
) | const |
Returns the color of the Object in the interactive context.
|
inline |
Returns the current interactive object. Objects selected when there is no open local context are called current objects; those selected in open local context, selected objects.
|
inline |
Returns the current viewer.
void AIS_InteractiveContext::Deactivate | ( | ) |
Deactivates all the activated selection mode at all displayed objects.
|
inline |
Deactivates all the activated selection modes of an object.
|
inline |
Deactivates all the activated selection modes of the interactive object anIobj with a given selection mode aMode.
void AIS_InteractiveContext::Deactivate | ( | const Standard_Integer | theMode | ) |
Deactivates the given selection mode for all displayed objects.
|
inline |
Returns the default attribute manager. This contains all the color and line attributes which can be used by interactive objects which do not have their own attributes.
Handle< AIS_InteractiveObject > AIS_InteractiveContext::DetectedCurrentObject | ( | ) | const |
Handle< SelectMgr_EntityOwner > AIS_InteractiveContext::DetectedCurrentOwner | ( | ) | const |
Returns the owner from detected list pointed by current iterator position. WARNING! This method is irrelevant to DetectedOwner() which returns last picked Owner regardless of iterator position!
const TopoDS_Shape & AIS_InteractiveContext::DetectedCurrentShape | ( | ) | const |
|
inline |
Returns the interactive objects last detected in context. In general this is just a wrapper for Handle(AIS_InteractiveObject)::DownCast(DetectedOwner()->Selectable()).
|
inline |
Returns the owner of the detected sensitive primitive which is currently dynamically highlighted. WARNING! This method is irrelevant to InitDetected()/MoreDetected()/NextDetected().
const TopoDS_Shape & AIS_InteractiveContext::DetectedShape | ( | ) | const |
Returns the shape detected in local context.
|
inline |
Sets the deviation coefficient theCoefficient. Drawings of curves or patches are made with respect to a maximal chordal deviation. A Deviation coefficient is used in the shading display mode. The shape is seen decomposed into triangles. These are used to calculate reflection of light from the surface of the object. The triangles are formed from chords of the curves in the shape. The deviation coefficient theCoefficient gives the highest value of the angle with which a chord can deviate from a tangent to a curve. If this limit is reached, a new triangle is begun. This deviation is absolute and is set through the method: SetMaximalChordialDeviation. The default value is 0.001. In drawing shapes, however, you are allowed to ask for a relative deviation. This deviation will be: SizeOfObject * DeviationCoefficient.
|
inline |
Returns the deviation coefficient. Drawings of curves or patches are made with respect to a maximal chordal deviation. A Deviation coefficient is used in the shading display mode. The shape is seen decomposed into triangles. These are used to calculate reflection of light from the surface of the object. The triangles are formed from chords of the curves in the shape. The deviation coefficient gives the highest value of the angle with which a chord can deviate from a tangent to a curve. If this limit is reached, a new triangle is begun. This deviation is absolute and is set through Prs3d_Drawer::SetMaximalChordialDeviation. The default value is 0.001. In drawing shapes, however, you are allowed to ask for a relative deviation. This deviation will be: SizeOfObject * DeviationCoefficient.
|
inline |
Initializes hidden line aspect in the default drawing tool, or Drawer. The default values are: Color: Quantity_NOC_YELLOW Type of line: Aspect_TOL_DASH Width: 1.
void AIS_InteractiveContext::Disconnect | ( | const Handle< AIS_InteractiveObject > & | theAssembly, |
const Handle< AIS_InteractiveObject > & | theObjToDisconnect = NULL |
||
) |
Disconnects theObjToDisconnect from theAssembly and removes dependent selection structures.
void AIS_InteractiveContext::Display | ( | const Handle< AIS_InteractiveObject > & | theIObj, |
const Standard_Boolean | theToUpdateViewer | ||
) |
Displays the object in this Context using default Display Mode. This will be the object's default display mode, if there is one. Otherwise, it will be the context mode. The Interactive Object's default selection mode is activated if GetAutoActivateSelection() is TRUE. In general, this is 0.
void AIS_InteractiveContext::Display | ( | const Handle< AIS_InteractiveObject > & | theIObj, |
const Standard_Integer | theDispMode, | ||
const Standard_Integer | theSelectionMode, | ||
const Standard_Boolean | theToUpdateViewer, | ||
const PrsMgr_DisplayStatus | theDispStatus = PrsMgr_DisplayStatus_None |
||
) |
Sets status, display mode and selection mode for specified Object If theSelectionMode equals -1, theIObj will not be activated: it will be displayed but will not be selectable.
|
inline |
void AIS_InteractiveContext::DisplayActiveSensitive | ( | const Handle< AIS_InteractiveObject > & | anObject, |
const Handle< V3d_View > & | aView | ||
) |
Visualization of sensitives - for debugging purposes!
Visualization of sensitives - for debugging purposes!
void AIS_InteractiveContext::DisplayAll | ( | const Standard_Boolean | theToUpdateViewer | ) |
Displays all hidden objects.
void AIS_InteractiveContext::DisplayedObjects | ( | AIS_ListOfInteractive & | aListOfIO | ) | const |
Returns the list of displayed objects of a particular Type WhichKind and Signature WhichSignature. By Default, WhichSignature equals -1. This means that there is a check on type only.
void AIS_InteractiveContext::DisplayedObjects | ( | const AIS_KindOfInteractive | theWhichKind, |
const Standard_Integer | theWhichSignature, | ||
AIS_ListOfInteractive & | theListOfIO | ||
) | const |
gives the list of displayed objects of a particular Type and signature. by Default, <WhichSignature> = -1 means control only on <WhichKind>.
|
inline |
Returns the Display Mode setting to be used by default.
Graphic3d_DisplayPriority AIS_InteractiveContext::DisplayPriority | ( | const Handle< AIS_InteractiveObject > & | theIObj | ) | const |
Returns the display priority of the Object.
void AIS_InteractiveContext::DisplaySelected | ( | const Standard_Boolean | theToUpdateViewer | ) |
Displays current objects.
PrsMgr_DisplayStatus AIS_InteractiveContext::DisplayStatus | ( | const Handle< AIS_InteractiveObject > & | anIobj | ) | const |
Returns the display status of the entity anIobj. This will be one of the following:
|
inline |
returns Standard_True if the hidden lines are to be drawn. By default the hidden lines are not drawn.
|
virtual |
Dumps the content of me into the stream.
|
inline |
Initializes hidden line aspect in the default drawing tool, or Drawer. The default values are: Color: Quantity_NOC_YELLOW Type of line: Aspect_TOL_DASH Width: 1.
Standard_Boolean AIS_InteractiveContext::EndImmediateDraw | ( | ) |
Uses the First Active View of Main Viewer! returns True if the immediate display has been done.
Standard_Boolean AIS_InteractiveContext::EndImmediateDraw | ( | const Handle< V3d_View > & | theView | ) |
returns True if the immediate display has been done.
void AIS_InteractiveContext::EntityOwners | ( | Handle< SelectMgr_IndexedMapOfOwner > & | theOwners, |
const Handle< AIS_InteractiveObject > & | theIObj, | ||
const Standard_Integer | theMode = -1 |
||
) | const |
Returns a collection containing all entity owners created for the interactive object in specified selection mode (in all active modes if the Mode == -1)
void AIS_InteractiveContext::Erase | ( | const Handle< AIS_InteractiveObject > & | theIObj, |
const Standard_Boolean | theToUpdateViewer | ||
) |
Hides the object. The object's presentations are simply flagged as invisible and therefore excluded from redrawing. To show hidden objects, use Display().
void AIS_InteractiveContext::EraseAll | ( | const Standard_Boolean | theToUpdateViewer | ) |
Hides all objects. The object's presentations are simply flagged as invisible and therefore excluded from redrawing. To show all hidden objects, use DisplayAll().
void AIS_InteractiveContext::ErasedObjects | ( | AIS_ListOfInteractive & | theListOfIO | ) | const |
Returns the list theListOfIO of erased objects (hidden objects) particular Type WhichKind and Signature WhichSignature. By Default, WhichSignature equals 1. This means that there is a check on type only.
void AIS_InteractiveContext::ErasedObjects | ( | const AIS_KindOfInteractive | theWhichKind, |
const Standard_Integer | theWhichSignature, | ||
AIS_ListOfInteractive & | theListOfIO | ||
) | const |
gives the list of erased objects (hidden objects) Type and signature by Default, <WhichSignature> = -1 means control only on <WhichKind>.
|
protected |
Highlights detected objects. If theToRedrawOnUpdate is set to false, callee should call RedrawImmediate() to update view.
void AIS_InteractiveContext::EraseSelected | ( | const Standard_Boolean | theToUpdateViewer | ) |
Hides selected objects. The object's presentations are simply flagged as invisible and therefore excluded from redrawing. To show hidden objects, use Display().
|
inline |
Returns the list of filters active in a local context.
|
inline |
Handle< AIS_InteractiveObject > AIS_InteractiveContext::FirstSelectedObject | ( | ) | const |
Returns the first selected object in the list of current selected.
Fits the view correspondingly to the bounds of selected objects. Infinite objects are ignored if infinite state of AIS_InteractiveObject is set to true.
void AIS_InteractiveContext::FitSelected | ( | const Handle< V3d_View > & | theView, |
const Standard_Real | theMargin, | ||
const Standard_Boolean | theToUpdate | ||
) |
Fits the view correspondingly to the bounds of selected objects. Infinite objects are ignored if infinite state of AIS_InteractiveObject is set to true.
|
inline |
Manages displaying the new object should also automatically activate default selection mode; TRUE by default.
|
protected |
Highlights detected objects. If theToRedrawOnUpdate is set to false, callee should call RedrawImmediate() to update view.
|
inlineprotected |
Return display mode for highlighting.
|
inlineprotected |
Helper function that returns correct dynamic highlight style for the object: if custom style is defined via object's highlight drawer, it will be used. Otherwise, dynamic highlight style of interactive context will be returned.
theObj | [in] the object to check |
|
inlineprotected |
Helper function that returns correct selection style for the object: if custom style is defined via object's highlight drawer, it will be used. Otherwise, selection style of interactive context will be returned.
theObj | [in] the object to check |
Graphic3d_ZLayerId AIS_InteractiveContext::GetZLayer | ( | const Handle< AIS_InteractiveObject > & | theIObj | ) | const |
Get Z layer id set for displayed interactive object.
|
inline |
|
virtual |
Return rotation gravity point.
|
inline |
Returns SelectedInteractive()->HasOwner().
Standard_Boolean AIS_InteractiveContext::HasColor | ( | const Handle< AIS_InteractiveObject > & | aniobj | ) | const |
Returns true if a view of the Interactive Object has color.
|
inline |
Returns true if there is a mouse-detected entity in context.
Standard_Boolean AIS_InteractiveContext::HasDetectedShape | ( | ) | const |
Returns true if there is a detected shape in local context.
Standard_Boolean AIS_InteractiveContext::HasLocation | ( | const Handle< AIS_InteractiveObject > & | theObject | ) | const |
Returns true if the Object has a location.
|
inline |
returns True if other entities were detected in the last mouse detection
Standard_Boolean AIS_InteractiveContext::HasPolygonOffsets | ( | const Handle< AIS_InteractiveObject > & | anObj | ) | const |
Simply calls AIS_InteractiveObject::HasPolygonOffsets().
Standard_Boolean AIS_InteractiveContext::HasSelectedShape | ( | ) | const |
Returns TRUE if the interactive context has a shape selected.
|
inline |
Initializes hidden line aspect in the default drawing tool, or Drawer. The default values are: Color: Quantity_NOC_YELLOW Type of line: Aspect_TOL_DASH Width: 1.
|
protected |
Helper function that highlights global owner of the object given with <theStyle> with check for AutoHighlight, e.g. is used for selection. If global owner is null, it simply highlights the whole object.
|
protected |
Helper function that highlights the owners with check for AutoHighlight, e.g. is used for selection.
theOwners | [in] list of owners to highlight |
theStyle | [in] highlight style to apply or NULL to apply selection style |
|
protected |
Helper function that highlights the owner given with <theStyle> with check for AutoHighlight, e.g. is used for selection.
|
inline |
Returns current dynamic highlight style settings corresponding to Prs3d_TypeOfHighlight_Dynamic. This is just a short-cut to HighlightStyle(Prs3d_TypeOfHighlight_Dynamic).
Standard_Boolean AIS_InteractiveContext::HighlightStyle | ( | const Handle< AIS_InteractiveObject > & | theObj, |
Handle< Prs3d_Drawer > & | theStyle | ||
) | const |
Returns highlight style of the object if it is marked as highlighted via global status.
theObj | [in] the object to check |
Standard_Boolean AIS_InteractiveContext::HighlightStyle | ( | const Handle< SelectMgr_EntityOwner > & | theOwner, |
Handle< Prs3d_Drawer > & | theStyle | ||
) | const |
Returns highlight style of the owner if it is selected.
theOwner | [in] the owner to check |
|
inline |
Returns default highlight style settings (could be overridden by PrsMgr_PresentableObject).
Tip: although highlighting style is defined by Prs3d_Drawer, only a small set of properties derived from it's base class Graphic3d_PresentationAttributes will be actually used in most cases.
Default highlight style for all types is Aspect_TOHM_COLOR. Other defaults:
[in] | theStyleType | highlight style to modify |
|
protected |
Helper function that highlights the owner given with <theStyle> without performing AutoHighlight checks, e.g. is used for dynamic highlight.
|
protected |
Helper function that highlights the object with sub-intensity color without any checks.
theObject | [in] the object that will be highlighted |
theMode | [in] display mode |
|
protected |
Helper function that highlights the owner with sub-intensity color without any checks.
theOwner | [in] the owner that will be highlighted |
theMode | [in] display mode |
|
inline |
Updates the display in the viewer to take dynamic detection into account. On dynamic detection by the mouse cursor, sensitive primitives are highlighted. The highlight color of entities detected by mouse movement is white by default.
|
inline |
Highlights current objects. Objects selected when there is no open local context are called current objects; those selected in open local context, selected objects.
Standard_Integer AIS_InteractiveContext::HilightNextDetected | ( | const Handle< V3d_View > & | theView, |
const Standard_Boolean | theToRedrawImmediate = Standard_True |
||
) |
If more than 1 object is detected by the selector, only the "best" owner is hilighted at the mouse position. This Method allows the user to hilight one after another the other detected entities. If The method select is called, the selected entity will be the hilighted one! WARNING: Loop Method. When all the detected entities have been hilighted, the next call will hilight the first one again.
Standard_Integer AIS_InteractiveContext::HilightPreviousDetected | ( | const Handle< V3d_View > & | theView, |
const Standard_Boolean | theToRedrawImmediate = Standard_True |
||
) |
Same as previous methods in reverse direction.
void AIS_InteractiveContext::HilightSelected | ( | const Standard_Boolean | theToUpdateViewer | ) |
Highlights selected objects.
void AIS_InteractiveContext::HilightWithColor | ( | const Handle< AIS_InteractiveObject > & | theObj, |
const Handle< Prs3d_Drawer > & | theStyle, | ||
const Standard_Boolean | theToUpdateViewer | ||
) |
Changes the color of all the lines of the object in view.
Standard_Boolean AIS_InteractiveContext::ImmediateAdd | ( | const Handle< AIS_InteractiveObject > & | theObj, |
const Standard_Integer | theMode = 0 |
||
) |
returns True if <anIObj> has been stored in the list.
|
protected |
Highlights detected objects. If theToRedrawOnUpdate is set to false, callee should call RedrawImmediate() to update view.
|
inline |
Initializes a scan of the current selected objects in Neutral Point. Objects selected when there is no open local context are called current objects; those selected in open local context, selected objects.
|
inline |
Initialization for iteration through mouse-detected objects in interactive context or in local context if it is opened.
|
inline |
Initializes a scan of the selected objects.
|
inline |
Returns true if there is a non-null interactive object in Neutral Point. Objects selected when there is no open local context are called current objects; those selected in open local context, selected objects.
|
protected |
Returns True if the object is detected.
Standard_Boolean AIS_InteractiveContext::IsDisplayed | ( | const Handle< AIS_InteractiveObject > & | anIobj | ) | const |
Returns true if Object is displayed in the interactive context.
Standard_Boolean AIS_InteractiveContext::IsDisplayed | ( | const Handle< AIS_InteractiveObject > & | aniobj, |
const Standard_Integer | aMode | ||
) | const |
Constructs the interactive context object defined by the principal viewer MainViewer.
Standard_Boolean AIS_InteractiveContext::IsHilighted | ( | const Handle< AIS_InteractiveObject > & | theObj | ) | const |
Returns true if the object is marked as highlighted via its global status.
theObj | [in] the object to check |
Standard_Boolean AIS_InteractiveContext::IsHilighted | ( | const Handle< SelectMgr_EntityOwner > & | theOwner | ) | const |
Returns true if the owner is marked as selected.
theOwner | [in] the owner to check |
Standard_Boolean AIS_InteractiveContext::IsImmediateModeOn | ( | ) | const |
initializes the list of presentations to be displayed returns False if no local context is opened.
Standard_Integer AIS_InteractiveContext::IsoNumber | ( | const AIS_TypeOfIso | WhichIsos = AIS_TOI_Both | ) |
Returns the number of U and V isoparameters displayed.
|
inline |
Returns True if drawing isoparameters on planes is enabled. if <forUIsos> = False,.
|
inline |
Returns True if drawing isoparameters on planes is enabled.
|
inline |
Returns true if drawing isolines on triangulation algorithm is enabled.
void AIS_InteractiveContext::IsoOnTriangulation | ( | const Standard_Boolean | theIsEnabled, |
const Handle< AIS_InteractiveObject > & | theObject | ||
) |
Enables or disables on-triangulation build for isolines for a particular object. In case if on-triangulation builder is disabled, default on-plane builder will compute isolines for the object given.
|
inline |
Enables or disables on-triangulation build for isolines for default drawer. In case if on-triangulation builder is disabled, default on-plane builder will compute isolines for the object given.
Standard_Boolean AIS_InteractiveContext::IsSelected | ( | const Handle< AIS_InteractiveObject > & | theObj | ) | const |
Returns true is the object given is selected.
|
inline |
Returns true is the owner given is selected.
|
protected |
Return TRUE if highlight style of owner requires full viewer redraw.
Returns last active View (argument of MoveTo()/Select() methods).
void AIS_InteractiveContext::Load | ( | const Handle< AIS_InteractiveObject > & | theObj, |
const Standard_Integer | theSelectionMode = -1 |
||
) |
Allows you to load the Interactive Object with a given selection mode, and/or with the desired decomposition option, whether the object is visualized or not. The loaded objects will be selectable but displayable in highlighting only when detected by the Selector.
|
inline |
TopLoc_Location AIS_InteractiveContext::Location | ( | const Handle< AIS_InteractiveObject > & | theObject | ) | const |
Returns the location of the Object.
|
inline |
Returns the default attribute manager. This contains all the color and line attributes which can be used by interactive objects which do not have their own attributes.
|
inline |
Returns the default attribute manager. This contains all the color and line attributes which can be used by interactive objects which do not have their own attributes.
|
inline |
Returns true if there is another object found by the scan of the list of current objects. Objects selected when there is no open local context are called current objects; those selected in open local context, selected objects.
|
inline |
Return TRUE if there is more mouse-detected objects after the current one during iteration through mouse-detected interactive objects.
|
inline |
Returns true if there is another object found by the scan of the list of selected objects.
AIS_StatusOfDetection AIS_InteractiveContext::MoveTo | ( | const gp_Ax1 & | theAxis, |
const Handle< V3d_View > & | theView, | ||
const Standard_Boolean | theToRedrawOnUpdate | ||
) |
Relays axis theAxis to the interactive context selectors. This is done by the view theView passing this axis to the main viewer and updating it. If theToRedrawOnUpdate is set to false, callee should call RedrawImmediate() to highlight detected object.
|
protected |
Highlights detected objects. If theToRedrawOnUpdate is set to false, callee should call RedrawImmediate() to update view.
AIS_StatusOfDetection AIS_InteractiveContext::MoveTo | ( | const Standard_Integer | theXPix, |
const Standard_Integer | theYPix, | ||
const Handle< V3d_View > & | theView, | ||
const Standard_Boolean | theToRedrawOnUpdate | ||
) |
Relays mouse position in pixels theXPix and theYPix to the interactive context selectors. This is done by the view theView passing this position to the main viewer and updating it. If theToRedrawOnUpdate is set to false, callee should call RedrawImmediate() to highlight detected object.
|
inline |
|
inline |
Count a number of selected entities using InitSelected()+MoreSelected()+NextSelected() iterator.
|
inline |
Continues the scan to the next object in the list of current objects. Objects selected when there is no open local context are called current objects; those selected in open local context, selected objects.
|
inline |
Gets next current object during iteration through mouse-detected interactive objects.
|
inline |
Continues the scan to the next object in the list of selected objects.
|
inline |
Create iterator through all objects registered in context.
void AIS_InteractiveContext::ObjectsByDisplayStatus | ( | const AIS_KindOfInteractive | WhichKind, |
const Standard_Integer | WhichSignature, | ||
const PrsMgr_DisplayStatus | theStatus, | ||
AIS_ListOfInteractive & | theListOfIO | ||
) | const |
gives the list of objects with indicated display status Type and signature by Default, <WhichSignature> = -1 means control only on <WhichKind>.
void AIS_InteractiveContext::ObjectsByDisplayStatus | ( | const PrsMgr_DisplayStatus | theStatus, |
AIS_ListOfInteractive & | theListOfIO | ||
) | const |
Returns the list theListOfIO of objects with indicated display status particular Type WhichKind and Signature WhichSignature. By Default, WhichSignature equals 1. This means that there is a check on type only.
void AIS_InteractiveContext::ObjectsForView | ( | AIS_ListOfInteractive & | theListOfIO, |
const Handle< V3d_View > & | theView, | ||
const Standard_Boolean | theIsVisibleInView, | ||
const PrsMgr_DisplayStatus | theStatus = PrsMgr_DisplayStatus_None |
||
) | const |
Query objects visible or hidden in specified view due to affinity mask.
void AIS_InteractiveContext::ObjectsInside | ( | AIS_ListOfInteractive & | aListOfIO, |
const AIS_KindOfInteractive | WhichKind = AIS_KindOfInteractive_None , |
||
const Standard_Integer | WhichSignature = -1 |
||
) | const |
fills <aListOfIO> with objects of a particular Type and Signature with no consideration of display status. by Default, <WhichSignature> = -1 means control only on <WhichKind>. if <WhichKind> = AIS_KindOfInteractive_None and <WhichSignature> = -1, all the objects are put into the list.
|
inline |
Standard_Integer AIS_InteractiveContext::PixelTolerance | ( | ) | const |
Returns the pixel tolerance, default is 2. Pixel Tolerance extends sensitivity within MoveTo() operation (picking by point) and can be adjusted by application based on user input precision (e.g. screen pixel density, input device precision, etc.).
Standard_Boolean AIS_InteractiveContext::PlaneSize | ( | Standard_Real & | XSize, |
Standard_Real & | YSize | ||
) | const |
Returns true if the length in the X direction XSize is the same as that in the Y direction YSize.
void AIS_InteractiveContext::PolygonOffsets | ( | const Handle< AIS_InteractiveObject > & | anObj, |
Standard_Integer & | aMode, | ||
Standard_ShortReal & | aFactor, | ||
Standard_ShortReal & | aUnits | ||
) | const |
Retrieves current polygon offsets settings for Object.
void AIS_InteractiveContext::RebuildSelectionStructs | ( | ) |
Rebuilds 1st level of BVH selection forcibly.
void AIS_InteractiveContext::RecomputePrsOnly | ( | const Handle< AIS_InteractiveObject > & | theIObj, |
const Standard_Boolean | theToUpdateViewer, | ||
const Standard_Boolean | theAllModes = Standard_False |
||
) |
Recomputes the displayed presentations, flags the others. Doesn't update presentations.
void AIS_InteractiveContext::RecomputeSelectionOnly | ( | const Handle< AIS_InteractiveObject > & | anIObj | ) |
Recomputes the active selections, flags the others. Doesn't update presentations.
void AIS_InteractiveContext::Redisplay | ( | const AIS_KindOfInteractive | theTypeOfObject, |
const Standard_Integer | theSignature, | ||
const Standard_Boolean | theToUpdateViewer | ||
) |
Recomputes the Prs/Selection of displayed objects of a given type and a given signature. if signature = -1 doesn't take signature criterion.
void AIS_InteractiveContext::Redisplay | ( | const Handle< AIS_InteractiveObject > & | theIObj, |
const Standard_Boolean | theToUpdateViewer, | ||
const Standard_Boolean | theAllModes = Standard_False |
||
) |
Recomputes the seen parts presentation of the Object. If theAllModes equals true, all presentations are present in the object even if unseen.
|
inline |
Redraws immediate structures in all views of the viewer given taking into account its visibility.
void AIS_InteractiveContext::Remove | ( | const Handle< AIS_InteractiveObject > & | theIObj, |
const Standard_Boolean | theToUpdateViewer | ||
) |
Removes Object from every viewer.
void AIS_InteractiveContext::RemoveAll | ( | const Standard_Boolean | theToUpdateViewer | ) |
Removes all the objects from Context.
|
inline |
Removes a filter from context.
|
inline |
Remove all filters from context.
void AIS_InteractiveContext::ResetLocation | ( | const Handle< AIS_InteractiveObject > & | theObject | ) |
Puts the Object back into its initial position.
AIS_StatusOfPick AIS_InteractiveContext::Select | ( | const AIS_NArray1OfEntityOwner & | theOwners, |
const AIS_SelectionScheme | theSelScheme | ||
) |
Sets list of owner selected/deselected using specified selection scheme.
theOwners | owners to change selection state |
theSelScheme | selection scheme |
AIS_StatusOfPick AIS_InteractiveContext::Select | ( | const Standard_Boolean | theToUpdateViewer | ) |
Stores and hilights the previous detected; Unhilights the previous picked.
AIS_StatusOfPick AIS_InteractiveContext::Select | ( | const Standard_Integer | theXPMin, |
const Standard_Integer | theYPMin, | ||
const Standard_Integer | theXPMax, | ||
const Standard_Integer | theYPMax, | ||
const Handle< V3d_View > & | theView, | ||
const Standard_Boolean | theToUpdateViewer | ||
) |
Selects everything found in the bounding rectangle defined by the pixel minima and maxima, XPMin, YPMin, XPMax, and YPMax in the view. The objects detected are passed to the main viewer, which is then updated.
AIS_StatusOfPick AIS_InteractiveContext::Select | ( | const TColgp_Array1OfPnt2d & | thePolyline, |
const Handle< V3d_View > & | theView, | ||
const Standard_Boolean | theToUpdateViewer | ||
) |
polyline selection; clears the previous picked list
AIS_StatusOfPick AIS_InteractiveContext::SelectDetected | ( | const AIS_SelectionScheme | theSelScheme = AIS_SelectionScheme_Replace | ) |
Select and hilights the previous detected via AIS_InteractiveContext::MoveTo() method; unhilights the previous picked. Viewer should be explicitly redrawn after selection.
theSelScheme | [in] selection scheme |
|
inline |
Return Handle(AIS_InteractiveObject)::DownCast (SelectedOwner()->Selectable()).
|
inline |
Returns the owner of the selected entity.
TopoDS_Shape AIS_InteractiveContext::SelectedShape | ( | ) | const |
Returns the selected shape. Basically it is just a shape returned stored by StdSelect_BRepOwner with graphic transformation being applied:
|
inline |
Returns selection instance.
|
inline |
Returns the default attribute manager. This contains all the color and line attributes which can be used by interactive objects which do not have their own attributes.
|
inline |
Returns current selection style settings corrsponding to Prs3d_TypeOfHighlight_Selected. This is just a short-cut to HighlightStyle(Prs3d_TypeOfHighlight_Selected).
AIS_StatusOfPick AIS_InteractiveContext::SelectPoint | ( | const Graphic3d_Vec2i & | thePnt, |
const Handle< V3d_View > & | theView, | ||
const AIS_SelectionScheme | theSelScheme = AIS_SelectionScheme_Replace |
||
) |
Selects the topmost object picked by the point in the view, Viewer should be explicitly redrawn after selection.
thePnt | [in] point pixel coordinates within the view |
theView | [in] active view where point is defined |
theSelScheme | [in] selection scheme |
AIS_StatusOfPick AIS_InteractiveContext::SelectPolygon | ( | const TColgp_Array1OfPnt2d & | thePolyline, |
const Handle< V3d_View > & | theView, | ||
const AIS_SelectionScheme | theSelScheme = AIS_SelectionScheme_Replace |
||
) |
Select everything found in the polygon defined by bounding polyline. Viewer should be explicitly redrawn after selection.
thePolyline | [in] polyline defining polygon bounds (in pixels) |
theView | [in] active view where polyline is defined |
theSelScheme | [in] selection scheme |
AIS_StatusOfPick AIS_InteractiveContext::SelectRectangle | ( | const Graphic3d_Vec2i & | thePntMin, |
const Graphic3d_Vec2i & | thePntMax, | ||
const Handle< V3d_View > & | theView, | ||
const AIS_SelectionScheme | theSelScheme = AIS_SelectionScheme_Replace |
||
) |
Selects objects within the bounding rectangle. Viewer should be explicitly redrawn after selection.
thePntMin | [in] rectangle lower point (in pixels) |
thePntMax | [in] rectangle upper point (in pixels) |
theView | [in] active view where rectangle is defined |
theSelScheme | [in] selection scheme |
void AIS_InteractiveContext::SetAngleAndDeviation | ( | const Handle< AIS_InteractiveObject > & | theIObj, |
const Standard_Real | theAngle, | ||
const Standard_Boolean | theToUpdateViewer | ||
) |
Calls the AIS_Shape SetAngleAndDeviation to set both Angle and Deviation coefficients.
|
inline |
Enable or disable automatic activation of default selection mode while displaying the object.
|
inline |
Sets the highlighting status of detected and selected entities. This function allows you to disconnect the automatic mode.
MoveTo() will fill the list of detected entities and Select() will set selected state to detected objects regardless of this flag, but with disabled AutomaticHiligh() their highlighting state will be left unaffected, so that application will be able performing custom highlighting in a different way, if needed.
This API should be distinguished from SelectMgr_SelectableObject::SetAutoHilight() that is used to implement custom highlighting logic for a specific interactive object class.
void AIS_InteractiveContext::SetColor | ( | const Handle< AIS_InteractiveObject > & | theIObj, |
const Quantity_Color & | theColor, | ||
const Standard_Boolean | theToUpdateViewer | ||
) |
Sets the color of the selected entity.
|
protected |
Assign the context to the object or throw exception if object was already assigned to another context.
void AIS_InteractiveContext::SetCurrentFacingModel | ( | const Handle< AIS_InteractiveObject > & | aniobj, |
const Aspect_TypeOfFacingModel | aModel = Aspect_TOFM_BOTH_SIDE |
||
) |
change the current facing model apply on polygons for SetColor(), SetTransparency(), SetMaterial() methods default facing model is Aspect_TOFM_TWO_SIDE. This mean that attributes is applying both on the front and back face.
|
inline |
Updates the view of the current object in open context. Objects selected when there is no open local context are called current objects; those selected in open local context, selected objects.
|
inline |
Sets the default attribute manager; should be set at context creation time. Warning - this setter doesn't update links to the default drawer of already displayed objects!
void AIS_InteractiveContext::SetDeviationAngle | ( | const Handle< AIS_InteractiveObject > & | theIObj, |
const Standard_Real | theAngle, | ||
const Standard_Boolean | theToUpdateViewer | ||
) |
Sets the deviation coefficient theCoefficient. Drawings of curves or patches are made with respect to a maximal chordal deviation. A Deviation coefficient is used in the shading display mode. The shape is seen decomposed into triangles. These are used to calculate reflection of light from the surface of the object. The triangles are formed from chords of the curves in the shape. The deviation coefficient theCoefficient gives the highest value of the angle with which a chord can deviate from a tangent to a curve. If this limit is reached, a new triangle is begun. This deviation is absolute and is set through the method: SetMaximalChordialDeviation. The default value is 0.001. In drawing shapes, however, you are allowed to ask for a relative deviation. This deviation will be: SizeOfObject * DeviationCoefficient.
|
inline |
default 20 degrees
void AIS_InteractiveContext::SetDeviationCoefficient | ( | const Handle< AIS_InteractiveObject > & | theIObj, |
const Standard_Real | theCoefficient, | ||
const Standard_Boolean | theToUpdateViewer | ||
) |
Sets the deviation coefficient theCoefficient. Drawings of curves or patches are made with respect to a maximal chordal deviation. A Deviation coefficient is used in the shading display mode. The shape is seen decomposed into triangles. These are used to calculate reflection of light from the surface of the object. The triangles are formed from chords of the curves in the shape. The deviation coefficient theCoefficient gives the highest value of the angle with which a chord can deviate from a tangent to a curve. If this limit is reached, a new triangle is begun. This deviation is absolute and is set through the method: SetMaximalChordialDeviation. The default value is 0.001. In drawing shapes, however, you are allowed to ask for a relative deviation. This deviation will be: SizeOfObject * DeviationCoefficient.
|
inline |
Sets the deviation coefficient theCoefficient. Drawings of curves or patches are made with respect to a maximal chordal deviation. A Deviation coefficient is used in the shading display mode. The shape is seen decomposed into triangles. These are used to calculate reflection of light from the surface of the object. The triangles are formed from chords of the curves in the shape. The deviation coefficient theCoefficient gives the highest value of the angle with which a chord can deviate from a tangent to a curve. If this limit is reached, a new triangle is begun. This deviation is absolute and is set through the method: SetMaximalChordialDeviation. The default value is 0.001. In drawing shapes, however, you are allowed to ask for a relative deviation. This deviation will be: SizeOfObject * DeviationCoefficient.
void AIS_InteractiveContext::SetDisplayMode | ( | const Handle< AIS_InteractiveObject > & | theIObj, |
const Standard_Integer | theMode, | ||
const Standard_Boolean | theToUpdateViewer | ||
) |
Sets the display mode of seen Interactive Objects. theMode provides the display mode index of the entity theIObj.
void AIS_InteractiveContext::SetDisplayMode | ( | const Standard_Integer | theMode, |
const Standard_Boolean | theToUpdateViewer | ||
) |
Sets the display mode of seen Interactive Objects (which have no overridden Display Mode).
void AIS_InteractiveContext::SetDisplayPriority | ( | const Handle< AIS_InteractiveObject > & | theIObj, |
const Graphic3d_DisplayPriority | thePriority | ||
) |
Sets the display priority of the seen parts presentation of the Object.
|
inline |
|
inline |
Sets the context selection filter type. SelectMgr_TypeFilter_OR selection filter is used by default.
theFilterType | the filter type. |
|
inline |
Sets the hidden line aspect anAspect. Aspect defines display attributes for hidden lines in HLR projections.
|
inline |
Setup the style of dynamic highlighting corrsponding to Prs3d_TypeOfHighlight_Selected. This is just a short-cut to SetHighlightStyle(Prs3d_TypeOfHighlight_Dynamic,theStyle).
|
inline |
Setup highlight style settings. Tip: it is better modifying existing style returned by method HighlightStyle() instead of creating a new Prs3d_Drawer to avoid unexpected results due misconfiguration.
If a new highlight style is created, its presentation Zlayer should be checked, otherwise highlighting might not work as expected.
void AIS_InteractiveContext::SetIsoNumber | ( | const Standard_Integer | NbIsos, |
const AIS_TypeOfIso | WhichIsos = AIS_TOI_Both |
||
) |
Sets the number of U and V isoparameters displayed.
void AIS_InteractiveContext::SetLocalAttributes | ( | const Handle< AIS_InteractiveObject > & | theIObj, |
const Handle< Prs3d_Drawer > & | theDrawer, | ||
const Standard_Boolean | theToUpdateViewer | ||
) |
Sets the graphic attributes of the interactive object, such as visualization mode, color, and material.
void AIS_InteractiveContext::SetLocation | ( | const Handle< AIS_InteractiveObject > & | theObject, |
const TopLoc_Location & | theLocation | ||
) |
Puts the location on the initial graphic representation and the selection for the Object.
void AIS_InteractiveContext::SetMaterial | ( | const Handle< AIS_InteractiveObject > & | theIObj, |
const Graphic3d_MaterialAspect & | theMaterial, | ||
const Standard_Boolean | theToUpdateViewer | ||
) |
Provides the type of material setting for the view of the Object.
|
protected |
Bind/Unbind status to object and its children.
[in] | theIObj | the object to change status |
[in] | theStatus | status, if NULL, unbind object |
|
inline |
Setup picking strategy - which entities detected by picking line will be accepted, considering Selection Filters. By default (SelectMgr_PickingStrategy_FirstAcceptable), Selection Filters reduce the list of entities so that the context accepts topmost in remaining.
This means that entities behind non-selectable (by filters) parts can be picked by user. If this behavior is undesirable, and user wants that non-selectable (by filters) parts should remain an obstacle for picking, SelectMgr_PickingStrategy_OnlyTopmost can be set instead.
Notice, that since Selection Manager operates only objects registered in it, SelectMgr_PickingStrategy_OnlyTopmost will NOT prevent picking entities behind visible by unregistered in Selection Manager presentations (e.g. deactivated). Hence, SelectMgr_PickingStrategy_OnlyTopmost changes behavior only with Selection Filters enabled.
void AIS_InteractiveContext::SetPixelTolerance | ( | const Standard_Integer | thePrecision = 2 | ) |
void AIS_InteractiveContext::SetPlaneSize | ( | const Standard_Real | theSize, |
const Standard_Boolean | theToUpdateViewer | ||
) |
Sets the plane size aSize.
void AIS_InteractiveContext::SetPlaneSize | ( | const Standard_Real | theSizeX, |
const Standard_Real | theSizeY, | ||
const Standard_Boolean | theToUpdateViewer | ||
) |
Sets the plane size defined by the length in the X direction XSize and that in the Y direction YSize.
void AIS_InteractiveContext::SetPolygonOffsets | ( | const Handle< AIS_InteractiveObject > & | theIObj, |
const Standard_Integer | theMode, | ||
const Standard_ShortReal | theFactor, | ||
const Standard_ShortReal | theUnits, | ||
const Standard_Boolean | theToUpdateViewer | ||
) |
Sets up polygon offsets for the given AIS_InteractiveObject. It simply calls AIS_InteractiveObject::SetPolygonOffsets().
void AIS_InteractiveContext::SetSelected | ( | const Handle< AIS_InteractiveObject > & | theObject, |
const Standard_Boolean | theToUpdateViewer | ||
) |
Puts the interactive object aniObj in the list of selected objects. Performs selection filters check.
void AIS_InteractiveContext::SetSelected | ( | const Handle< SelectMgr_EntityOwner > & | theOwners, |
const Standard_Boolean | theToUpdateViewer | ||
) |
Unhighlights previously selected owners and marks them as not selected. Marks owner given as selected and highlights it. Performs selection filters check.
void AIS_InteractiveContext::SetSelectedAspect | ( | const Handle< Prs3d_BasicAspect > & | theAspect, |
const Standard_Boolean | theToUpdateViewer | ||
) |
Sets the graphic basic aspect to the current presentation of ALL selected objects.
Standard_Boolean AIS_InteractiveContext::SetSelectedState | ( | const Handle< SelectMgr_EntityOwner > & | theOwner, |
const Standard_Boolean | theIsSelected | ||
) |
Updates Selected state of specified owner without calling HilightSelected(). Has no effect if Selected state is not changed, and redirects to AddOrRemoveSelected() otherwise.
theOwner | owner object to set selected state |
theIsSelected | new selected state |
|
inline |
Sets selection instance to manipulate a container of selected owners.
theSelection | an instance of the selection |
void AIS_InteractiveContext::SetSelectionModeActive | ( | const Handle< AIS_InteractiveObject > & | theObj, |
const Standard_Integer | theMode, | ||
const Standard_Boolean | theToActivate, | ||
const AIS_SelectionModesConcurrency | theConcurrency = AIS_SelectionModesConcurrency_Multiple , |
||
const Standard_Boolean | theIsForce = Standard_False |
||
) |
Activates or deactivates the selection mode for specified object. Has no effect if selection mode was already active/deactivated.
theObj | object to activate/deactivate selection mode |
theMode | selection mode to activate/deactivate; deactivation of -1 selection mode will effectively deactivate all selection modes; activation of -1 selection mode with AIS_SelectionModesConcurrency_Single will deactivate all selection modes, and will has no effect otherwise |
theToActivate | activation/deactivation flag |
theConcurrency | specifies how to handle already activated selection modes; default value (AIS_SelectionModesConcurrency_Multiple) means active selection modes should be left as is, AIS_SelectionModesConcurrency_Single can be used if only one selection mode is expected to be active and AIS_SelectionModesConcurrency_GlobalOrLocal can be used if either AIS_InteractiveObject::GlobalSelectionMode() or any combination of Local selection modes is acceptable; this value is considered only if theToActivate set to TRUE |
theIsForce | when set to TRUE, the display status will be ignored while activating selection mode |
void AIS_InteractiveContext::SetSelectionSensitivity | ( | const Handle< AIS_InteractiveObject > & | theObject, |
const Standard_Integer | theMode, | ||
const Standard_Integer | theNewSensitivity | ||
) |
Allows to manage sensitivity of a particular selection of interactive object theObject and changes previous sensitivity value of all sensitive entities in selection with theMode to the given theNewSensitivity.
|
inline |
Setup the style of selection highlighting. This is just a short-cut to SetHighlightStyle(Prs3d_TypeOfHighlight_Selected,theStyle).
|
inline |
Sub-intensity allows temporary highlighting of particular objects with specified color in a manner of selection highlight, but without actual selection (e.g., global status and owner's selection state will not be updated). The method sets up the color for such highlighting. By default, this is Quantity_NOC_GRAY40.
|
inline |
Specify whether selected object must be hilighted when mouse cursor is moved above it (in MoveTo method). By default this value is false and selected object is not hilighted in this case.
void AIS_InteractiveContext::SetTransformPersistence | ( | const Handle< AIS_InteractiveObject > & | theObject, |
const Handle< Graphic3d_TransformPers > & | theTrsfPers | ||
) |
Sets transform persistence.
void AIS_InteractiveContext::SetTransparency | ( | const Handle< AIS_InteractiveObject > & | theIObj, |
const Standard_Real | theValue, | ||
const Standard_Boolean | theToUpdateViewer | ||
) |
void AIS_InteractiveContext::SetTrihedronSize | ( | const Standard_Real | theSize, |
const Standard_Boolean | theToUpdateViewer | ||
) |
Sets the size aSize of the trihedron. Is used to change the default value 100 mm for display of trihedra. Use of this function in one of your own interactive objects requires a call to the Compute function of the new class. This will recalculate the presentation for every trihedron displayed.
void AIS_InteractiveContext::SetViewAffinity | ( | const Handle< AIS_InteractiveObject > & | theIObj, |
const Handle< V3d_View > & | theView, | ||
const Standard_Boolean | theIsVisible | ||
) |
Setup object visibility in specified view. Has no effect if object is not displayed in this context.
|
virtual |
Sets the width of the Object.
void AIS_InteractiveContext::SetZLayer | ( | const Handle< AIS_InteractiveObject > & | theIObj, |
const Graphic3d_ZLayerId | theLayerId | ||
) |
Set Z layer id for interactive object. The Z layers can be used to display temporarily presentations of some object in front of the other objects in the scene. The ids for Z layers are generated by V3d_Viewer.
AIS_StatusOfPick AIS_InteractiveContext::ShiftSelect | ( | const Standard_Boolean | theToUpdateViewer | ) |
Adds the last detected to the list of previous picked. If the last detected was already declared as picked, removes it from the Picked List.
AIS_StatusOfPick AIS_InteractiveContext::ShiftSelect | ( | const Standard_Integer | theXPMin, |
const Standard_Integer | theYPMin, | ||
const Standard_Integer | theXPMax, | ||
const Standard_Integer | theYPMax, | ||
const Handle< V3d_View > & | theView, | ||
const Standard_Boolean | theToUpdateViewer | ||
) |
Rectangle of selection; adds new detected entities into the picked list, removes the detected entities that were already stored.
AIS_StatusOfPick AIS_InteractiveContext::ShiftSelect | ( | const TColgp_Array1OfPnt2d & | thePolyline, |
const Handle< V3d_View > & | theView, | ||
const Standard_Boolean | theToUpdateViewer | ||
) |
Adds the last detected to the list of previous picked. If the last detected was already declared as picked, removes it from the Picked List.
void AIS_InteractiveContext::Status | ( | const Handle< AIS_InteractiveObject > & | anObj, |
TCollection_ExtendedString & | astatus | ||
) | const |
Returns the status of the Interactive Context for the view of the Interactive Object.
|
inline |
Sub-intensity allows temporary highlighting of particular objects with specified color in a manner of selection highlight, but without actual selection (e.g., global status and owner's selection state will not be updated). The method returns the color of such highlighting. By default, it is Quantity_NOC_GRAY40.
void AIS_InteractiveContext::SubIntensityOff | ( | const Handle< AIS_InteractiveObject > & | theIObj, |
const Standard_Boolean | theToUpdateViewer | ||
) |
Removes the subintensity option for the entity. If a local context is open, the presentation of the Interactive Object activates the selection mode.
void AIS_InteractiveContext::SubIntensityOn | ( | const Handle< AIS_InteractiveObject > & | theIObj, |
const Standard_Boolean | theToUpdateViewer | ||
) |
Highlights, and removes highlights from, the displayed object which is displayed at Neutral Point with subintensity color. Available only for active local context. There is no effect if there is no local context. If a local context is open, the presentation of the Interactive Object activates the selection mode.
|
inline |
Return value specified whether selected object must be hilighted when mouse cursor is moved above it.
Standard_Real AIS_InteractiveContext::TrihedronSize | ( | ) | const |
returns the current value of trihedron size.
|
protected |
Helper function that turns on sub-intensity in global status and highlights given objects with sub-intensity color.
theObject | [in] the object. If NULL is given, than sub-intensity will be turned on for all inveractive objects of the context |
theDispMode | [in] display mode. If -1 is given, sub-intensity will be turned on for all display modes in global status's list of modes |
theIsDisplayedOnly | [in] is true if sub-intensity should be applied only to objects with status AIS_DS_Displayed |
|
protected |
Helper function that unhighlights global selection owner of given interactive. The function does not perform any updates of global or owner status.
|
protected |
Helper function that unhighlights the owners with check for AutoHighlight, e.g. is used for selection.
|
protected |
Helper function that unhighlights all owners that are stored in current AIS_Selection. The function updates global status and selection state of owner and interactive object. If the parameter <theIsToHilightSubIntensity> is set to true, interactive objects with sub-intensity switched on in AIS_GlobalStatus will be highlighted with context's sub-intensity color.
void AIS_InteractiveContext::Unhilight | ( | const Handle< AIS_InteractiveObject > & | theIObj, |
const Standard_Boolean | theToUpdateViewer | ||
) |
Removes hilighting from the Object.
|
inline |
Removes highlighting from current objects. Objects selected when there is no open local context are called current objects; those selected in open local context, selected objects.
void AIS_InteractiveContext::UnhilightSelected | ( | const Standard_Boolean | theToUpdateViewer | ) |
Removes highlighting from selected objects.
|
protected |
Helper function to unhighlight all entity owners currently highlighted with seleciton color.
void AIS_InteractiveContext::UnsetColor | ( | const Handle< AIS_InteractiveObject > & | theIObj, |
const Standard_Boolean | theToUpdateViewer | ||
) |
Removes the color selection for the selected entity.
void AIS_InteractiveContext::UnsetDisplayMode | ( | const Handle< AIS_InteractiveObject > & | theIObj, |
const Standard_Boolean | theToUpdateViewer | ||
) |
Unsets the display mode of seen Interactive Objects.
void AIS_InteractiveContext::UnsetLocalAttributes | ( | const Handle< AIS_InteractiveObject > & | theIObj, |
const Standard_Boolean | theToUpdateViewer | ||
) |
Removes the settings for local attributes of the Object and returns to defaults.
void AIS_InteractiveContext::UnsetMaterial | ( | const Handle< AIS_InteractiveObject > & | theIObj, |
const Standard_Boolean | theToUpdateViewer | ||
) |
Removes the type of material setting for viewing the Object.
void AIS_InteractiveContext::UnsetTransparency | ( | const Handle< AIS_InteractiveObject > & | theIObj, |
const Standard_Boolean | theToUpdateViewer | ||
) |
Removes the transparency settings for viewing the Object.
|
virtual |
Removes the width setting of the Object.
void AIS_InteractiveContext::Update | ( | const Handle< AIS_InteractiveObject > & | theIObj, |
const Standard_Boolean | theUpdateViewer | ||
) |
Updates displayed interactive object by checking and recomputing its flagged as "to be recomputed" presentation and selection structures. This method does not force any recomputation on its own. The method recomputes selections even if they are loaded without activation in particular selector.
|
inline |
Updates the list of current objects, i.e. hilights new current objects, removes hilighting from former current objects. Objects selected when there is no open local context are called current objects; those selected in open local context, selected objects.
void AIS_InteractiveContext::UpdateCurrentViewer | ( | ) |
Updates the current viewer.
|
inline |
Updates the list of selected objects: i.e. highlights the newly selected ones and unhighlights previously selected objects.
|
virtual |
Returns the width of the Interactive Object in the interactive context.
|
protected |
context filter (the content active filters can be applied with AND or OR operation)
|
protected |
context filter (the content active filters can be applied with AND or OR operation)
|
protected |
context filter (the content active filters can be applied with AND or OR operation)
|
protected |
context filter (the content active filters can be applied with AND or OR operation)
|
protected |
context filter (the content active filters can be applied with AND or OR operation)
|
protected |
context filter (the content active filters can be applied with AND or OR operation)
|
protected |
context filter (the content active filters can be applied with AND or OR operation)
|
protected |
context filter (the content active filters can be applied with AND or OR operation)
|
protected |
context filter (the content active filters can be applied with AND or OR operation)
|
protected |
context filter (the content active filters can be applied with AND or OR operation)
|
protected |
context filter (the content active filters can be applied with AND or OR operation)
|
protected |
context filter (the content active filters can be applied with AND or OR operation)
|
protected |
context filter (the content active filters can be applied with AND or OR operation)
|
protected |
picking strategy to be applied within MoveTo()
|
protected |
context filter (the content active filters can be applied with AND or OR operation)
|
protected |
context filter (the content active filters can be applied with AND or OR operation)
|
protected |
context filter (the content active filters can be applied with AND or OR operation)