Open CASCADE Technology 7.8.2.dev
AIS_InteractiveContext Class Reference

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>

Inheritance diagram for AIS_InteractiveContext:

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_ViewLastActiveView () 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_InteractiveObjectDetectedInteractive () 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_ShapeDetectedShape () 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_EntityOwnerDetectedCurrentOwner () 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_InteractiveObjectFirstSelectedObject () 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_EntityOwnerSelectedOwner () const
 Returns the owner of the selected entity.
 
Handle< AIS_InteractiveObjectSelectedInteractive () 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_TransientApplicative () 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_ListOfFilterFilters () 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_InteractiveObjectCurrent () 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_ShapeDetectedCurrentShape () const
 
Handle< AIS_InteractiveObjectDetectedCurrentObject () const
 
sub-intensity management (deprecated)
const Quantity_ColorSubIntensityColor () 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_Transientoperator= (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_TransientThis () 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_SelectionManagermgrSelector
 context filter (the content active filters can be applied with AND or OR operation)
 
Handle< PrsMgr_PresentationManagermyMainPM
 context filter (the content active filters can be applied with AND or OR operation)
 
Handle< V3d_ViewermyMainVwr
 context filter (the content active filters can be applied with AND or OR operation)
 
V3d_ViewmyLastActiveView
 context filter (the content active filters can be applied with AND or OR operation)
 
Handle< SelectMgr_EntityOwnermyLastPicked
 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_SelectionmySelection
 context filter (the content active filters can be applied with AND or OR operation)
 
Handle< SelectMgr_AndOrFiltermyFilters
 context filter (the content active filters can be applied with AND or OR operation)
 
Handle< Prs3d_DrawermyDefaultDrawer
 context filter (the content active filters can be applied with AND or OR operation)
 
Handle< Prs3d_DrawermyStyles [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.
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ AIS_InteractiveContext()

AIS_InteractiveContext::AIS_InteractiveContext ( const Handle< V3d_Viewer > & MainViewer)

Constructs the interactive context object defined by the principal viewer MainViewer.

◆ ~AIS_InteractiveContext()

virtual AIS_InteractiveContext::~AIS_InteractiveContext ( )
virtual

Destructor.

Member Function Documentation

◆ Activate() [1/2]

void AIS_InteractiveContext::Activate ( const Handle< AIS_InteractiveObject > & theObj,
const Standard_Integer theMode = 0,
const Standard_Boolean theIsForce = Standard_False )
inline

Activates the selection mode aMode whose index is given, for the given interactive entity anIobj.

◆ Activate() [2/2]

void AIS_InteractiveContext::Activate ( const Standard_Integer theMode,
const Standard_Boolean theIsForce = Standard_False )

Activates the given selection mode for the all displayed objects.

◆ ActivatedModes()

void AIS_InteractiveContext::ActivatedModes ( const Handle< AIS_InteractiveObject > & anIobj,
TColStd_ListOfInteger & theList ) const

Returns the list of activated selection modes.

◆ AddFilter()

void AIS_InteractiveContext::AddFilter ( const Handle< SelectMgr_Filter > & theFilter)
inline

Allows you to add the filter.

◆ AddOrRemoveCurrentObject()

void AIS_InteractiveContext::AddOrRemoveCurrentObject ( const Handle< AIS_InteractiveObject > & theObj,
const Standard_Boolean theIsToUpdateViewer )
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.

Deprecated
("Local Context is deprecated - local selection should be used without Local Context")

◆ AddOrRemoveSelected() [1/2]

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.

◆ AddOrRemoveSelected() [2/2]

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.

◆ AddSelect() [1/2]

AIS_StatusOfPick AIS_InteractiveContext::AddSelect ( const Handle< AIS_InteractiveObject > & theObject)
inline

Adds object in the selection.

◆ AddSelect() [2/2]

AIS_StatusOfPick AIS_InteractiveContext::AddSelect ( const Handle< SelectMgr_EntityOwner > & theObject)

Adds object in the selection.

◆ Applicative()

Handle< Standard_Transient > AIS_InteractiveContext::Applicative ( ) const
inline

Returns SelectedInteractive()->GetOwner().

See also
SelectedOwner().

◆ AutomaticHilight()

Standard_Boolean AIS_InteractiveContext::AutomaticHilight ( ) const
inline

Returns true if the automatic highlight mode is active; TRUE by default.

See also
MoveTo(), Select(), HilightWithColor(), Unhilight()

◆ BeginImmediateDraw()

Standard_Boolean AIS_InteractiveContext::BeginImmediateDraw ( )

initializes the list of presentations to be displayed returns False if no local context is opened.

◆ BoundingBoxOfSelection() [1/2]

Bnd_Box AIS_InteractiveContext::BoundingBoxOfSelection ( ) const
inline
Deprecated
("BoundingBoxOfSelection() should be called with View argument")

◆ BoundingBoxOfSelection() [2/2]

Bnd_Box AIS_InteractiveContext::BoundingBoxOfSelection ( const Handle< V3d_View > & theView) const

Returns bounding box of selected objects.

◆ ClearActiveSensitive()

void AIS_InteractiveContext::ClearActiveSensitive ( const Handle< V3d_View > & aView)

Clear visualization of sensitives.

◆ ClearCurrents()

void AIS_InteractiveContext::ClearCurrents ( const Standard_Boolean theToUpdateViewer)
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.

Deprecated
("Local Context is deprecated - local selection should be used without Local Context")

◆ ClearDetected()

Standard_Boolean AIS_InteractiveContext::ClearDetected ( Standard_Boolean theToRedrawImmediate = Standard_False)

Clears the list of entities detected by MoveTo() and resets dynamic highlighting.

Parameters
theToRedrawImmediateif TRUE, the main Viewer will be redrawn on update
Returns
TRUE if viewer needs to be updated (e.g. there were actually dynamically highlighted entities)

◆ clearDynamicHighlight()

void AIS_InteractiveContext::clearDynamicHighlight ( ) const
inlineprotected

Removes dynamic highlight draw.

◆ ClearGlobal()

void AIS_InteractiveContext::ClearGlobal ( const Handle< AIS_InteractiveObject > & theIObj,
const Standard_Boolean theToUpdateViewer )
protected

Highlights detected objects. If theToRedrawOnUpdate is set to false, callee should call RedrawImmediate() to update view.

◆ ClearGlobalPrs()

void AIS_InteractiveContext::ClearGlobalPrs ( const Handle< AIS_InteractiveObject > & theObj,
const Standard_Integer theMode,
const Standard_Boolean theToUpdateViewer )
protected

Highlights detected objects. If theToRedrawOnUpdate is set to false, callee should call RedrawImmediate() to update view.

◆ ClearPrs()

void AIS_InteractiveContext::ClearPrs ( const Handle< AIS_InteractiveObject > & theIObj,
const Standard_Integer theMode,
const Standard_Boolean theToUpdateViewer )
inline

Empties the graphic presentation of the mode indexed by aMode. Warning! Removes theIObj. theIObj is still active if it was previously activated.

◆ ClearSelected()

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.

◆ Color()

void AIS_InteractiveContext::Color ( const Handle< AIS_InteractiveObject > & aniobj,
Quantity_Color & acolor ) const

Returns the color of the Object in the interactive context.

◆ Current()

Handle< AIS_InteractiveObject > AIS_InteractiveContext::Current ( ) const
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.

Deprecated
("Local Context is deprecated - local selection should be used without Local Context")

◆ CurrentViewer()

const Handle< V3d_Viewer > & AIS_InteractiveContext::CurrentViewer ( ) const
inline

Returns the current viewer.

◆ Deactivate() [1/4]

void AIS_InteractiveContext::Deactivate ( )

Deactivates all the activated selection mode at all displayed objects.

◆ Deactivate() [2/4]

void AIS_InteractiveContext::Deactivate ( const Handle< AIS_InteractiveObject > & theObj)
inline

Deactivates all the activated selection modes of an object.

◆ Deactivate() [3/4]

void AIS_InteractiveContext::Deactivate ( const Handle< AIS_InteractiveObject > & theObj,
const Standard_Integer theMode )
inline

Deactivates all the activated selection modes of the interactive object anIobj with a given selection mode aMode.

◆ Deactivate() [4/4]

void AIS_InteractiveContext::Deactivate ( const Standard_Integer theMode)

Deactivates the given selection mode for all displayed objects.

◆ DefaultDrawer()

const Handle< Prs3d_Drawer > & AIS_InteractiveContext::DefaultDrawer ( ) const
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.

◆ DetectedCurrentObject()

Handle< AIS_InteractiveObject > AIS_InteractiveContext::DetectedCurrentObject ( ) const
Returns
current mouse-detected interactive object or null object, if there is no currently detected interactives
See also
DetectedCurrentOwner(), InitDetected(), MoreDetected(), NextDetected().
Deprecated
("Local Context is deprecated - ::DetectedCurrentOwner() should be called instead")

◆ DetectedCurrentOwner()

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!

See also
InitDetected(), MoreDetected(), NextDetected().

◆ DetectedCurrentShape()

const TopoDS_Shape & AIS_InteractiveContext::DetectedCurrentShape ( ) const
Returns
current mouse-detected shape or empty (null) shape, if current interactive object is not a shape (AIS_Shape) or there is no current mouse-detected interactive object at all.
See also
DetectedCurrentOwner(), InitDetected(), MoreDetected(), NextDetected().
Deprecated
("Local Context is deprecated - ::DetectedCurrentOwner() should be called instead")

◆ DetectedInteractive()

Handle< AIS_InteractiveObject > AIS_InteractiveContext::DetectedInteractive ( ) const
inline

Returns the interactive objects last detected in context. In general this is just a wrapper for Handle(AIS_InteractiveObject)::DownCast(DetectedOwner()->Selectable()).

See also
DetectedOwner()

◆ DetectedOwner()

const Handle< SelectMgr_EntityOwner > & AIS_InteractiveContext::DetectedOwner ( ) const
inline

Returns the owner of the detected sensitive primitive which is currently dynamically highlighted. WARNING! This method is irrelevant to InitDetected()/MoreDetected()/NextDetected().

See also
HasDetected(), HasNextDetected(), HilightPreviousDetected(), HilightNextDetected().

◆ DetectedShape()

const TopoDS_Shape & AIS_InteractiveContext::DetectedShape ( ) const

Returns the shape detected in local context.

See also
DetectedOwner()
Deprecated
("Local Context is deprecated - local selection should be used without Local Context")

◆ DeviationAngle()

Standard_Real AIS_InteractiveContext::DeviationAngle ( ) const
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.

◆ DeviationCoefficient()

Standard_Real AIS_InteractiveContext::DeviationCoefficient ( ) const
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.

◆ DisableDrawHiddenLine()

void AIS_InteractiveContext::DisableDrawHiddenLine ( ) const
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.

◆ Disconnect()

void AIS_InteractiveContext::Disconnect ( const Handle< AIS_InteractiveObject > & theAssembly,
const Handle< AIS_InteractiveObject > & theObjToDisconnect = NULL )

Disconnects theObjToDisconnect from theAssembly and removes dependent selection structures.

◆ Display() [1/3]

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.

◆ Display() [2/3]

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.

◆ Display() [3/3]

void AIS_InteractiveContext::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 )
inline
Deprecated
("Deprecated method Display() with obsolete argument theToAllowDecomposition")

◆ DisplayActiveSensitive() [1/2]

void AIS_InteractiveContext::DisplayActiveSensitive ( const Handle< AIS_InteractiveObject > & anObject,
const Handle< V3d_View > & aView )

Visualization of sensitives - for debugging purposes!

◆ DisplayActiveSensitive() [2/2]

void AIS_InteractiveContext::DisplayActiveSensitive ( const Handle< V3d_View > & aView)

Visualization of sensitives - for debugging purposes!

◆ DisplayAll()

void AIS_InteractiveContext::DisplayAll ( const Standard_Boolean theToUpdateViewer)

Displays all hidden objects.

◆ DisplayedObjects() [1/2]

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.

◆ DisplayedObjects() [2/2]

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

◆ DisplayMode()

Standard_Integer AIS_InteractiveContext::DisplayMode ( ) const
inline

Returns the Display Mode setting to be used by default.

◆ DisplayPriority()

Graphic3d_DisplayPriority AIS_InteractiveContext::DisplayPriority ( const Handle< AIS_InteractiveObject > & theIObj) const

Returns the display priority of the Object.

◆ DisplaySelected()

void AIS_InteractiveContext::DisplaySelected ( const Standard_Boolean theToUpdateViewer)

Displays current objects.

◆ DisplayStatus()

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:

  • AIS_DS_Displayed displayed in main viewer
  • AIS_DS_Erased hidden in main viewer
  • AIS_DS_Temporary temporarily displayed
  • AIS_DS_None nowhere displayed.

◆ DrawHiddenLine()

Standard_Boolean AIS_InteractiveContext::DrawHiddenLine ( ) const
inline

returns Standard_True if the hidden lines are to be drawn. By default the hidden lines are not drawn.

◆ DumpJson()

virtual void AIS_InteractiveContext::DumpJson ( Standard_OStream & theOStream,
Standard_Integer theDepth = -1 ) const
virtual

Dumps the content of me into the stream.

◆ EnableDrawHiddenLine()

void AIS_InteractiveContext::EnableDrawHiddenLine ( ) const
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.

◆ EndImmediateDraw() [1/2]

Standard_Boolean AIS_InteractiveContext::EndImmediateDraw ( )

Uses the First Active View of Main Viewer! returns True if the immediate display has been done.

◆ EndImmediateDraw() [2/2]

Standard_Boolean AIS_InteractiveContext::EndImmediateDraw ( const Handle< V3d_View > & theView)

returns True if the immediate display has been done.

◆ EntityOwners()

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)

◆ Erase()

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().

◆ EraseAll()

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().

◆ ErasedObjects() [1/2]

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.

◆ ErasedObjects() [2/2]

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

◆ EraseGlobal()

void AIS_InteractiveContext::EraseGlobal ( const Handle< AIS_InteractiveObject > & theIObj,
const Standard_Boolean theToUpdateViewer )
protected

Highlights detected objects. If theToRedrawOnUpdate is set to false, callee should call RedrawImmediate() to update view.

◆ EraseSelected()

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().

◆ Filters()

const SelectMgr_ListOfFilter & AIS_InteractiveContext::Filters ( ) const
inline

Returns the list of filters active in a local context.

◆ FilterType()

SelectMgr_FilterType AIS_InteractiveContext::FilterType ( ) const
inline
Returns
the context selection filter type.

◆ FirstSelectedObject()

Handle< AIS_InteractiveObject > AIS_InteractiveContext::FirstSelectedObject ( ) const

Returns the first selected object in the list of current selected.

◆ FitSelected() [1/2]

void AIS_InteractiveContext::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.

◆ FitSelected() [2/2]

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.

◆ GetAutoActivateSelection()

Standard_Boolean AIS_InteractiveContext::GetAutoActivateSelection ( ) const
inline

Manages displaying the new object should also automatically activate default selection mode; TRUE by default.

◆ GetDefModes()

void AIS_InteractiveContext::GetDefModes ( const Handle< AIS_InteractiveObject > & anIobj,
Standard_Integer & Dmode,
Standard_Integer & HiMod,
Standard_Integer & SelMode ) const
protected

Highlights detected objects. If theToRedrawOnUpdate is set to false, callee should call RedrawImmediate() to update view.

◆ getHilightMode()

Standard_Integer AIS_InteractiveContext::getHilightMode ( const Handle< AIS_InteractiveObject > & theObj,
const Handle< Prs3d_Drawer > & theStyle,
const Standard_Integer theDispMode ) const
inlineprotected

Return display mode for highlighting.

◆ getHiStyle()

const Handle< Prs3d_Drawer > & AIS_InteractiveContext::getHiStyle ( const Handle< AIS_InteractiveObject > & theObj,
const Handle< SelectMgr_EntityOwner > & theOwner ) const
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.

Parameters
theObj[in] the object to check

◆ getSelStyle()

const Handle< Prs3d_Drawer > & AIS_InteractiveContext::getSelStyle ( const Handle< AIS_InteractiveObject > & theObj,
const Handle< SelectMgr_EntityOwner > & theOwner ) const
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.

Parameters
theObj[in] the object to check

◆ GetZLayer()

Graphic3d_ZLayerId AIS_InteractiveContext::GetZLayer ( const Handle< AIS_InteractiveObject > & theIObj) const

Get Z layer id set for displayed interactive object.

◆ GlobalFilter()

const Handle< SelectMgr_AndOrFilter > & AIS_InteractiveContext::GlobalFilter ( ) const
inline
Returns
the context selection global context filter.

◆ GravityPoint()

virtual gp_Pnt AIS_InteractiveContext::GravityPoint ( const Handle< V3d_View > & theView) const
virtual

Return rotation gravity point.

◆ HasApplicative()

Standard_Boolean AIS_InteractiveContext::HasApplicative ( ) const
inline

Returns SelectedInteractive()->HasOwner().

See also
SelectedOwner().

◆ HasColor()

Standard_Boolean AIS_InteractiveContext::HasColor ( const Handle< AIS_InteractiveObject > & aniobj) const

Returns true if a view of the Interactive Object has color.

◆ HasDetected()

Standard_Boolean AIS_InteractiveContext::HasDetected ( ) const
inline

Returns true if there is a mouse-detected entity in context.

See also
DetectedOwner(), HasNextDetected(), HilightPreviousDetected(), HilightNextDetected().

◆ HasDetectedShape()

Standard_Boolean AIS_InteractiveContext::HasDetectedShape ( ) const

Returns true if there is a detected shape in local context.

See also
HasDetected(), DetectedShape()
Deprecated
("Local Context is deprecated - local selection should be used without Local Context")

◆ HasLocation()

Standard_Boolean AIS_InteractiveContext::HasLocation ( const Handle< AIS_InteractiveObject > & theObject) const

Returns true if the Object has a location.

◆ HasNextDetected()

Standard_Boolean AIS_InteractiveContext::HasNextDetected ( ) const
inline

returns True if other entities were detected in the last mouse detection

See also
HilightPreviousDetected(), HilightNextDetected().

◆ HasPolygonOffsets()

Standard_Boolean AIS_InteractiveContext::HasPolygonOffsets ( const Handle< AIS_InteractiveObject > & anObj) const

◆ HasSelectedShape()

Standard_Boolean AIS_InteractiveContext::HasSelectedShape ( ) const

Returns TRUE if the interactive context has a shape selected.

See also
SelectedShape().

◆ HiddenLineAspect()

const Handle< Prs3d_LineAspect > & AIS_InteractiveContext::HiddenLineAspect ( ) const
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.

◆ highlightGlobal()

void AIS_InteractiveContext::highlightGlobal ( const Handle< AIS_InteractiveObject > & theObj,
const Handle< Prs3d_Drawer > & theStyle,
const Standard_Integer theDispMode )
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.

◆ highlightOwners()

void AIS_InteractiveContext::highlightOwners ( const AIS_NListOfEntityOwner & theOwners,
const Handle< Prs3d_Drawer > & theStyle )
protected

Helper function that highlights the owners with check for AutoHighlight, e.g. is used for selection.

Parameters
theOwners[in] list of owners to highlight
theStyle[in] highlight style to apply or NULL to apply selection style

◆ highlightSelected()

void AIS_InteractiveContext::highlightSelected ( const Handle< SelectMgr_EntityOwner > & theOwner)
protected

Helper function that highlights the owner given with <theStyle> with check for AutoHighlight, e.g. is used for selection.

◆ HighlightStyle() [1/4]

const Handle< Prs3d_Drawer > & AIS_InteractiveContext::HighlightStyle ( ) const
inline

Returns current dynamic highlight style settings corresponding to Prs3d_TypeOfHighlight_Dynamic. This is just a short-cut to HighlightStyle(Prs3d_TypeOfHighlight_Dynamic).

◆ HighlightStyle() [2/4]

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.

Parameters
theObj[in] the object to check

◆ HighlightStyle() [3/4]

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.

Parameters
theOwner[in] the owner to check

◆ HighlightStyle() [4/4]

const Handle< Prs3d_Drawer > & AIS_InteractiveContext::HighlightStyle ( const Prs3d_TypeOfHighlight theStyleType) const
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:

  • Prs3d_TypeOfHighlight_Dynamic
    • Color: Quantity_NOC_CYAN1;
    • Layer: Graphic3d_ZLayerId_Top, object highlighting is drawn on top of main scene within Immediate Layers, so that V3d_View::RedrawImmediate() will be enough to see update;
  • Prs3d_TypeOfHighlight_LocalDynamic
    • Color: Quantity_NOC_CYAN1;
    • Layer: Graphic3d_ZLayerId_Topmost, object parts highlighting is drawn on top of main scene within Immediate Layers with depth cleared (even overlapped geometry will be revealed);
  • Prs3d_TypeOfHighlight_Selected
    • Color: Quantity_NOC_GRAY80;
    • Layer: Graphic3d_ZLayerId_UNKNOWN, object highlighting is drawn on top of main scene within the same layer as object itself (e.g. Graphic3d_ZLayerId_Default by default) and increased priority.
Parameters
[in]theStyleTypehighlight style to modify
Returns
drawer associated to specified highlight type
See also
MoveTo() using Prs3d_TypeOfHighlight_Dynamic and Prs3d_TypeOfHighlight_LocalDynamic types
SelectDetected() using Prs3d_TypeOfHighlight_Selected and Prs3d_TypeOfHighlight_LocalSelected types
PrsMgr_PresentableObject::DynamicHilightAttributes() overriding Prs3d_TypeOfHighlight_Dynamic and Prs3d_TypeOfHighlight_LocalDynamic defaults on object level
PrsMgr_PresentableObject::HilightAttributes() overriding Prs3d_TypeOfHighlight_Selected and Prs3d_TypeOfHighlight_LocalSelected defaults on object level

◆ highlightWithColor()

void AIS_InteractiveContext::highlightWithColor ( const Handle< SelectMgr_EntityOwner > & theOwner,
const Handle< V3d_Viewer > & theViewer = NULL )
protected

Helper function that highlights the owner given with <theStyle> without performing AutoHighlight checks, e.g. is used for dynamic highlight.

◆ highlightWithSubintensity() [1/2]

void AIS_InteractiveContext::highlightWithSubintensity ( const Handle< AIS_InteractiveObject > & theObject,
const Standard_Integer theMode ) const
protected

Helper function that highlights the object with sub-intensity color without any checks.

Parameters
theObject[in] the object that will be highlighted
theMode[in] display mode

◆ highlightWithSubintensity() [2/2]

void AIS_InteractiveContext::highlightWithSubintensity ( const Handle< SelectMgr_EntityOwner > & theOwner,
const Standard_Integer theMode ) const
protected

Helper function that highlights the owner with sub-intensity color without any checks.

Parameters
theOwner[in] the owner that will be highlighted
theMode[in] display mode

◆ Hilight()

void AIS_InteractiveContext::Hilight ( const Handle< AIS_InteractiveObject > & theObj,
const Standard_Boolean theIsToUpdateViewer )
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.

Deprecated
("Deprecated method Hilight()")

◆ HilightCurrents()

void AIS_InteractiveContext::HilightCurrents ( const Standard_Boolean theToUpdateViewer)
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.

Deprecated
("Local Context is deprecated - local selection should be used without Local Context")

◆ HilightNextDetected()

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.

Returns
the Rank of hilighted entity
See also
HasNextDetected(), HilightPreviousDetected().

◆ HilightPreviousDetected()

Standard_Integer AIS_InteractiveContext::HilightPreviousDetected ( const Handle< V3d_View > & theView,
const Standard_Boolean theToRedrawImmediate = Standard_True )

Same as previous methods in reverse direction.

See also
HasNextDetected(), HilightNextDetected().

◆ HilightSelected()

void AIS_InteractiveContext::HilightSelected ( const Standard_Boolean theToUpdateViewer)

Highlights selected objects.

◆ HilightWithColor()

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.

◆ ImmediateAdd()

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.

◆ InitAttributes()

void AIS_InteractiveContext::InitAttributes ( )
protected

Highlights detected objects. If theToRedrawOnUpdate is set to false, callee should call RedrawImmediate() to update view.

◆ InitCurrent()

void AIS_InteractiveContext::InitCurrent ( )
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.

Deprecated
("Local Context is deprecated - local selection should be used without Local Context")

◆ InitDetected()

void AIS_InteractiveContext::InitDetected ( )
inline

Initialization for iteration through mouse-detected objects in interactive context or in local context if it is opened.

See also
DetectedCurrentOwner(), MoreDetected(), NextDetected().

◆ InitSelected()

void AIS_InteractiveContext::InitSelected ( )
inline

Initializes a scan of the selected objects.

See also
SelectedOwner(), MoreSelected(), NextSelected().

◆ IsCurrent()

Standard_Boolean AIS_InteractiveContext::IsCurrent ( const Handle< AIS_InteractiveObject > & theObject) const
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.

Deprecated
("Local Context is deprecated - local selection should be used without Local Context")

◆ isDetected()

Standard_Boolean AIS_InteractiveContext::isDetected ( const Handle< AIS_InteractiveObject > & theObject)
protected

Returns True if the object is detected.

◆ IsDisplayed() [1/2]

Standard_Boolean AIS_InteractiveContext::IsDisplayed ( const Handle< AIS_InteractiveObject > & anIobj) const

Returns true if Object is displayed in the interactive context.

◆ IsDisplayed() [2/2]

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.

◆ IsHilighted() [1/2]

Standard_Boolean AIS_InteractiveContext::IsHilighted ( const Handle< AIS_InteractiveObject > & theObj) const

Returns true if the object is marked as highlighted via its global status.

Parameters
theObj[in] the object to check

◆ IsHilighted() [2/2]

Standard_Boolean AIS_InteractiveContext::IsHilighted ( const Handle< SelectMgr_EntityOwner > & theOwner) const

Returns true if the owner is marked as selected.

Parameters
theOwner[in] the owner to check

◆ IsImmediateModeOn()

Standard_Boolean AIS_InteractiveContext::IsImmediateModeOn ( ) const

initializes the list of presentations to be displayed returns False if no local context is opened.

◆ IsoNumber()

Standard_Integer AIS_InteractiveContext::IsoNumber ( const AIS_TypeOfIso WhichIsos = AIS_TOI_Both)

Returns the number of U and V isoparameters displayed.

◆ IsoOnPlane() [1/2]

Standard_Boolean AIS_InteractiveContext::IsoOnPlane ( ) const
inline

Returns True if drawing isoparameters on planes is enabled. if <forUIsos> = False,.

◆ IsoOnPlane() [2/2]

void AIS_InteractiveContext::IsoOnPlane ( const Standard_Boolean theToSwitchOn)
inline

Returns True if drawing isoparameters on planes is enabled.

◆ IsoOnTriangulation() [1/3]

Standard_Boolean AIS_InteractiveContext::IsoOnTriangulation ( ) const
inline

Returns true if drawing isolines on triangulation algorithm is enabled.

◆ IsoOnTriangulation() [2/3]

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.

◆ IsoOnTriangulation() [3/3]

void AIS_InteractiveContext::IsoOnTriangulation ( const Standard_Boolean theToSwitchOn)
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.

◆ IsSelected() [1/2]

Standard_Boolean AIS_InteractiveContext::IsSelected ( const Handle< AIS_InteractiveObject > & theObj) const

Returns true is the object given is selected.

◆ IsSelected() [2/2]

Standard_Boolean AIS_InteractiveContext::IsSelected ( const Handle< SelectMgr_EntityOwner > & theOwner) const
inline

Returns true is the owner given is selected.

◆ isSlowHiStyle()

Standard_Boolean AIS_InteractiveContext::isSlowHiStyle ( const Handle< SelectMgr_EntityOwner > & theOwner,
const Handle< V3d_Viewer > & theViewer ) const
protected

Return TRUE if highlight style of owner requires full viewer redraw.

◆ LastActiveView()

Handle< V3d_View > AIS_InteractiveContext::LastActiveView ( ) const

Returns last active View (argument of MoveTo()/Select() methods).

◆ Load() [1/2]

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.

◆ Load() [2/2]

void AIS_InteractiveContext::Load ( const Handle< AIS_InteractiveObject > & theObj,
Standard_Integer theSelectionMode,
Standard_Boolean  )
inline
Deprecated
("Deprecated method Load() with obsolete last argument theToAllowDecomposition")

◆ Location()

TopLoc_Location AIS_InteractiveContext::Location ( const Handle< AIS_InteractiveObject > & theObject) const

Returns the location of the Object.

◆ MainPrsMgr()

const Handle< PrsMgr_PresentationManager > & AIS_InteractiveContext::MainPrsMgr ( ) const
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.

◆ MainSelector()

const Handle< StdSelect_ViewerSelector3d > & AIS_InteractiveContext::MainSelector ( ) const
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.

◆ MoreCurrent()

Standard_Boolean AIS_InteractiveContext::MoreCurrent ( ) const
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.

Deprecated
("Local Context is deprecated - local selection should be used without Local Context")

◆ MoreDetected()

Standard_Boolean AIS_InteractiveContext::MoreDetected ( ) const
inline

Return TRUE if there is more mouse-detected objects after the current one during iteration through mouse-detected interactive objects.

See also
DetectedCurrentOwner(), InitDetected(), NextDetected().

◆ MoreSelected()

Standard_Boolean AIS_InteractiveContext::MoreSelected ( ) const
inline

Returns true if there is another object found by the scan of the list of selected objects.

See also
SelectedOwner(), InitSelected(), NextSelected().

◆ MoveTo() [1/2]

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.

See also
PickingStrategy()

◆ MoveTo() [2/2]

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.

See also
PickingStrategy()
HighlightStyle() defining default dynamic highlight styles of detected owners (Prs3d_TypeOfHighlight_Dynamic and Prs3d_TypeOfHighlight_LocalDynamic)
PrsMgr_PresentableObject::DynamicHilightAttributes() defining per-object dynamic highlight style of detected owners (overrides defaults)

◆ moveTo()

AIS_StatusOfDetection AIS_InteractiveContext::moveTo ( const Handle< V3d_View > & theView,
const Standard_Boolean theToRedrawOnUpdate )
protected

Highlights detected objects. If theToRedrawOnUpdate is set to false, callee should call RedrawImmediate() to update view.

◆ NbCurrents()

Standard_Integer AIS_InteractiveContext::NbCurrents ( )
inline
Deprecated
("Local Context is deprecated - local selection should be used without Local Context")

◆ NbSelected()

Standard_Integer AIS_InteractiveContext::NbSelected ( )
inline

Count a number of selected entities using InitSelected()+MoreSelected()+NextSelected() iterator.

See also
SelectedOwner(), InitSelected(), MoreSelected(), NextSelected().

◆ NextCurrent()

void AIS_InteractiveContext::NextCurrent ( )
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.

Deprecated
("Local Context is deprecated - local selection should be used without Local Context")

◆ NextDetected()

void AIS_InteractiveContext::NextDetected ( )
inline

Gets next current object during iteration through mouse-detected interactive objects.

See also
DetectedCurrentOwner(), InitDetected(), MoreDetected().

◆ NextSelected()

void AIS_InteractiveContext::NextSelected ( )
inline

Continues the scan to the next object in the list of selected objects.

See also
SelectedOwner(), InitSelected(), MoreSelected().

◆ ObjectIterator()

AIS_DataMapIteratorOfDataMapOfIOStatus AIS_InteractiveContext::ObjectIterator ( ) const
inline

Create iterator through all objects registered in context.

◆ ObjectsByDisplayStatus() [1/2]

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

◆ ObjectsByDisplayStatus() [2/2]

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.

◆ ObjectsForView()

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.

◆ ObjectsInside()

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.

◆ PickingStrategy()

SelectMgr_PickingStrategy AIS_InteractiveContext::PickingStrategy ( ) const
inline

Return picking strategy; SelectMgr_PickingStrategy_FirstAcceptable by default.

See also
MoveTo(), Filters()

◆ PixelTolerance()

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.).

◆ PlaneSize()

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.

◆ PolygonOffsets()

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.

◆ RebuildSelectionStructs()

void AIS_InteractiveContext::RebuildSelectionStructs ( )

Rebuilds 1st level of BVH selection forcibly.

◆ RecomputePrsOnly()

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.

◆ RecomputeSelectionOnly()

void AIS_InteractiveContext::RecomputeSelectionOnly ( const Handle< AIS_InteractiveObject > & anIObj)

Recomputes the active selections, flags the others. Doesn't update presentations.

◆ Redisplay() [1/2]

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.

◆ Redisplay() [2/2]

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.

◆ RedrawImmediate()

void AIS_InteractiveContext::RedrawImmediate ( const Handle< V3d_Viewer > & theViewer)
inline

Redraws immediate structures in all views of the viewer given taking into account its visibility.

◆ Remove()

void AIS_InteractiveContext::Remove ( const Handle< AIS_InteractiveObject > & theIObj,
const Standard_Boolean theToUpdateViewer )

Removes Object from every viewer.

◆ RemoveAll()

void AIS_InteractiveContext::RemoveAll ( const Standard_Boolean theToUpdateViewer)

Removes all the objects from Context.

◆ RemoveFilter()

void AIS_InteractiveContext::RemoveFilter ( const Handle< SelectMgr_Filter > & theFilter)
inline

Removes a filter from context.

◆ RemoveFilters()

void AIS_InteractiveContext::RemoveFilters ( )
inline

Remove all filters from context.

◆ ResetLocation()

void AIS_InteractiveContext::ResetLocation ( const Handle< AIS_InteractiveObject > & theObject)

Puts the Object back into its initial position.

◆ Select() [1/4]

AIS_StatusOfPick AIS_InteractiveContext::Select ( const AIS_NArray1OfEntityOwner & theOwners,
const AIS_SelectionScheme theSelScheme )

Sets list of owner selected/deselected using specified selection scheme.

Parameters
theOwnersowners to change selection state
theSelSchemeselection scheme
Returns
picking status

◆ Select() [2/4]

AIS_StatusOfPick AIS_InteractiveContext::Select ( const Standard_Boolean theToUpdateViewer)

Stores and hilights the previous detected; Unhilights the previous picked.

See also
MoveTo().
Deprecated
("This method is deprecated - SelectDetected() taking AIS_SelectionScheme_Replace should be called instead")

◆ Select() [3/4]

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.

Deprecated
("This method is deprecated - SelectRectangle() taking AIS_SelectionScheme_Replace should be called instead")

◆ Select() [4/4]

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

Deprecated
("This method is deprecated - SelectPolygon() taking AIS_SelectionScheme_Replace should be called instead")

◆ SelectDetected()

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.

Parameters
theSelScheme[in] selection scheme
Returns
picking status
See also
HighlightStyle() defining default highlight styles of selected owners (Prs3d_TypeOfHighlight_Selected and Prs3d_TypeOfHighlight_LocalSelected)
PrsMgr_PresentableObject::HilightAttributes() defining per-object highlight style of selected owners (overrides defaults)

◆ SelectedInteractive()

Handle< AIS_InteractiveObject > AIS_InteractiveContext::SelectedInteractive ( ) const
inline

Return Handle(AIS_InteractiveObject)::DownCast (SelectedOwner()->Selectable()).

See also
SelectedOwner().

◆ SelectedOwner()

Handle< SelectMgr_EntityOwner > AIS_InteractiveContext::SelectedOwner ( ) const
inline

Returns the owner of the selected entity.

See also
InitSelected(), MoreSelected(), NextSelected().

◆ SelectedShape()

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:

TopoDS_Shape aSelShape = aBRepOwner->Shape();
TopoDS_Shape aLocatedShape = aSelShape.Located (aBRepOwner->Location() * aSelShape.Location());
#define Handle(Class)
Define Handle() macro.
Definition Standard_Handle.hxx:399
Handle< SelectMgr_EntityOwner > SelectedOwner() const
Returns the owner of the selected entity.
Definition AIS_InteractiveContext.hxx:623
Defines Specific Owners for Sensitive Primitives (Sensitive Segments,Circles...). Used in Dynamic Sel...
Definition StdSelect_BRepOwner.hxx:42
Describes a shape which.
Definition TopoDS_Shape.hxx:41
TopoDS_Shape Located(const TopLoc_Location &theLoc, const Standard_Boolean theRaiseExc=Standard_True) const
Returns a shape similar to <me> with the local coordinate system set to <Loc>.
Definition TopoDS_Shape.hxx:104
const TopLoc_Location & Location() const
Returns the shape local coordinate system.
Definition TopoDS_Shape.hxx:85
See also
SelectedOwner(), HasSelectedShape().

◆ Selection()

const Handle< AIS_Selection > & AIS_InteractiveContext::Selection ( ) const
inline

Returns selection instance.

◆ SelectionManager()

const Handle< SelectMgr_SelectionManager > & AIS_InteractiveContext::SelectionManager ( ) const
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.

◆ SelectionStyle()

const Handle< Prs3d_Drawer > & AIS_InteractiveContext::SelectionStyle ( ) const
inline

Returns current selection style settings corrsponding to Prs3d_TypeOfHighlight_Selected. This is just a short-cut to HighlightStyle(Prs3d_TypeOfHighlight_Selected).

◆ SelectPoint()

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.

Parameters
thePnt[in] point pixel coordinates within the view
theView[in] active view where point is defined
theSelScheme[in] selection scheme
Returns
picking status

◆ SelectPolygon()

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.

Parameters
thePolyline[in] polyline defining polygon bounds (in pixels)
theView[in] active view where polyline is defined
theSelScheme[in] selection scheme
Returns
picking status

◆ SelectRectangle()

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.

Parameters
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
Returns
picking status
See also
StdSelect_ViewerSelector3d::AllowOverlapDetection()

◆ SetAngleAndDeviation()

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.

◆ SetAutoActivateSelection()

void AIS_InteractiveContext::SetAutoActivateSelection ( const Standard_Boolean theIsAuto)
inline

Enable or disable automatic activation of default selection mode while displaying the object.

◆ SetAutomaticHilight()

void AIS_InteractiveContext::SetAutomaticHilight ( Standard_Boolean theStatus)
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.

See also
MoveTo(), Select(), HilightWithColor(), Unhilight()

◆ SetColor()

void AIS_InteractiveContext::SetColor ( const Handle< AIS_InteractiveObject > & theIObj,
const Quantity_Color & theColor,
const Standard_Boolean theToUpdateViewer )

Sets the color of the selected entity.

◆ setContextToObject()

void AIS_InteractiveContext::setContextToObject ( const Handle< AIS_InteractiveObject > & theObj)
protected

Assign the context to the object or throw exception if object was already assigned to another context.

◆ SetCurrentFacingModel()

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.

◆ SetCurrentObject()

void AIS_InteractiveContext::SetCurrentObject ( const Handle< AIS_InteractiveObject > & theIObj,
const Standard_Boolean theToUpdateViewer )
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.

Deprecated
("Local Context is deprecated - local selection should be used without Local Context")

◆ SetDefaultDrawer()

void AIS_InteractiveContext::SetDefaultDrawer ( const Handle< Prs3d_Drawer > & theDrawer)
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!

◆ SetDeviationAngle() [1/2]

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.

◆ SetDeviationAngle() [2/2]

void AIS_InteractiveContext::SetDeviationAngle ( const Standard_Real theAngle)
inline

default 20 degrees

◆ SetDeviationCoefficient() [1/2]

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.

◆ SetDeviationCoefficient() [2/2]

void AIS_InteractiveContext::SetDeviationCoefficient ( const Standard_Real theCoefficient)
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.

◆ SetDisplayMode() [1/2]

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.

◆ SetDisplayMode() [2/2]

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).

◆ SetDisplayPriority() [1/2]

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.

◆ SetDisplayPriority() [2/2]

void AIS_InteractiveContext::SetDisplayPriority ( const Handle< AIS_InteractiveObject > & theIObj,
const Standard_Integer thePriority )
inline
Deprecated
("Deprecated since OCCT7.7, Graphic3d_DisplayPriority should be passed instead of integer number to SetDisplayPriority()")

◆ SetFilterType()

void AIS_InteractiveContext::SetFilterType ( const SelectMgr_FilterType theFilterType)
inline

Sets the context selection filter type. SelectMgr_TypeFilter_OR selection filter is used by default.

Parameters
theFilterTypethe filter type.

◆ SetHiddenLineAspect()

void AIS_InteractiveContext::SetHiddenLineAspect ( const Handle< Prs3d_LineAspect > & theAspect) const
inline

Sets the hidden line aspect anAspect. Aspect defines display attributes for hidden lines in HLR projections.

◆ SetHighlightStyle() [1/2]

void AIS_InteractiveContext::SetHighlightStyle ( const Handle< Prs3d_Drawer > & theStyle)
inline

Setup the style of dynamic highlighting corrsponding to Prs3d_TypeOfHighlight_Selected. This is just a short-cut to SetHighlightStyle(Prs3d_TypeOfHighlight_Dynamic,theStyle).

◆ SetHighlightStyle() [2/2]

void AIS_InteractiveContext::SetHighlightStyle ( const Prs3d_TypeOfHighlight theStyleType,
const Handle< Prs3d_Drawer > & 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.

◆ SetIsoNumber()

void AIS_InteractiveContext::SetIsoNumber ( const Standard_Integer NbIsos,
const AIS_TypeOfIso WhichIsos = AIS_TOI_Both )

Sets the number of U and V isoparameters displayed.

◆ SetLocalAttributes()

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.

◆ SetLocation()

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.

◆ SetMaterial()

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.

◆ setObjectStatus()

void AIS_InteractiveContext::setObjectStatus ( const Handle< AIS_InteractiveObject > & theIObj,
const PrsMgr_DisplayStatus theStatus,
const Standard_Integer theDispyMode,
const Standard_Integer theSelectionMode )
protected

Bind/Unbind status to object and its children.

Parameters
[in]theIObjthe object to change status
[in]theStatusstatus, if NULL, unbind object

◆ SetPickingStrategy()

void AIS_InteractiveContext::SetPickingStrategy ( const SelectMgr_PickingStrategy theStrategy)
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.

◆ SetPixelTolerance()

void AIS_InteractiveContext::SetPixelTolerance ( const Standard_Integer thePrecision = 2)

Setup pixel tolerance for MoveTo() operation.

See also
MoveTo().

◆ SetPlaneSize() [1/2]

void AIS_InteractiveContext::SetPlaneSize ( const Standard_Real theSize,
const Standard_Boolean theToUpdateViewer )

Sets the plane size aSize.

◆ SetPlaneSize() [2/2]

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.

◆ SetPolygonOffsets()

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().

◆ SetSelected() [1/2]

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.

◆ SetSelected() [2/2]

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.

◆ SetSelectedAspect()

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.

Deprecated
("Deprecated method - presentation attributes should be assigned directly to object")

◆ SetSelectedState()

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.

Parameters
theOwnerowner object to set selected state
theIsSelectednew selected state
Returns
TRUE if Selected state has been changed

◆ SetSelection()

void AIS_InteractiveContext::SetSelection ( const Handle< AIS_Selection > & theSelection)
inline

Sets selection instance to manipulate a container of selected owners.

Parameters
theSelectionan instance of the selection

◆ SetSelectionModeActive()

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.

Parameters
theObjobject to activate/deactivate selection mode
theModeselection 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
theToActivateactivation/deactivation flag
theConcurrencyspecifies 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
theIsForcewhen set to TRUE, the display status will be ignored while activating selection mode

◆ SetSelectionSensitivity()

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.

◆ SetSelectionStyle()

void AIS_InteractiveContext::SetSelectionStyle ( const Handle< Prs3d_Drawer > & theStyle)
inline

Setup the style of selection highlighting. This is just a short-cut to SetHighlightStyle(Prs3d_TypeOfHighlight_Selected,theStyle).

◆ SetSubIntensityColor()

void AIS_InteractiveContext::SetSubIntensityColor ( const Quantity_Color & theColor)
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.

◆ SetToHilightSelected()

void AIS_InteractiveContext::SetToHilightSelected ( const Standard_Boolean toHilight)
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.

See also
MoveTo()

◆ SetTransformPersistence()

void AIS_InteractiveContext::SetTransformPersistence ( const Handle< AIS_InteractiveObject > & theObject,
const Handle< Graphic3d_TransformPers > & theTrsfPers )

Sets transform persistence.

◆ SetTransparency()

void AIS_InteractiveContext::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.

◆ SetTrihedronSize()

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.

◆ SetViewAffinity()

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.

◆ SetWidth()

virtual void AIS_InteractiveContext::SetWidth ( const Handle< AIS_InteractiveObject > & theIObj,
const Standard_Real theValue,
const Standard_Boolean theToUpdateViewer )
virtual

Sets the width of the Object.

◆ SetZLayer()

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.

◆ ShiftSelect() [1/3]

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.

See also
MoveTo().
Deprecated
("This method is deprecated - SelectDetected() taking AIS_SelectionScheme_XOR should be called instead")

◆ ShiftSelect() [2/3]

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.

Deprecated
("This method is deprecated - SelectRectangle() taking AIS_SelectionScheme_XOR should be called instead")

◆ ShiftSelect() [3/3]

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.

Deprecated
("This method is deprecated - SelectPolygon() taking AIS_SelectionScheme_XOR should be called instead")

◆ Status()

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.

◆ SubIntensityColor()

const Quantity_Color & AIS_InteractiveContext::SubIntensityColor ( ) const
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.

◆ SubIntensityOff()

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.

◆ SubIntensityOn()

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.

◆ ToHilightSelected()

Standard_Boolean AIS_InteractiveContext::ToHilightSelected ( ) const
inline

Return value specified whether selected object must be hilighted when mouse cursor is moved above it.

See also
MoveTo()

◆ TrihedronSize()

Standard_Real AIS_InteractiveContext::TrihedronSize ( ) const

returns the current value of trihedron size.

◆ turnOnSubintensity()

void AIS_InteractiveContext::turnOnSubintensity ( const Handle< AIS_InteractiveObject > & theObject = NULL,
const Standard_Integer theDispMode = -1,
const Standard_Boolean theIsDisplayedOnly = Standard_True ) const
protected

Helper function that turns on sub-intensity in global status and highlights given objects with sub-intensity color.

Parameters
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

◆ unhighlightGlobal()

void AIS_InteractiveContext::unhighlightGlobal ( const Handle< AIS_InteractiveObject > & theObj)
protected

Helper function that unhighlights global selection owner of given interactive. The function does not perform any updates of global or owner status.

◆ unhighlightOwners()

void AIS_InteractiveContext::unhighlightOwners ( const AIS_NListOfEntityOwner & theOwners,
const Standard_Boolean theIsToHilightSubIntensity = Standard_False )
protected

Helper function that unhighlights the owners with check for AutoHighlight, e.g. is used for selection.

◆ unhighlightSelected()

void AIS_InteractiveContext::unhighlightSelected ( const Standard_Boolean theIsToHilightSubIntensity = Standard_False)
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.

◆ Unhilight()

void AIS_InteractiveContext::Unhilight ( const Handle< AIS_InteractiveObject > & theIObj,
const Standard_Boolean theToUpdateViewer )

Removes hilighting from the Object.

◆ UnhilightCurrents()

void AIS_InteractiveContext::UnhilightCurrents ( const Standard_Boolean theToUpdateViewer)
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.

Deprecated
("Local Context is deprecated - local selection should be used without Local Context")

◆ UnhilightSelected()

void AIS_InteractiveContext::UnhilightSelected ( const Standard_Boolean theToUpdateViewer)

Removes highlighting from selected objects.

◆ unselectOwners()

void AIS_InteractiveContext::unselectOwners ( const Handle< AIS_InteractiveObject > & theObject)
protected

Helper function to unhighlight all entity owners currently highlighted with seleciton color.

◆ UnsetColor()

void AIS_InteractiveContext::UnsetColor ( const Handle< AIS_InteractiveObject > & theIObj,
const Standard_Boolean theToUpdateViewer )

Removes the color selection for the selected entity.

◆ UnsetDisplayMode()

void AIS_InteractiveContext::UnsetDisplayMode ( const Handle< AIS_InteractiveObject > & theIObj,
const Standard_Boolean theToUpdateViewer )

Unsets the display mode of seen Interactive Objects.

◆ UnsetLocalAttributes()

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.

◆ UnsetMaterial()

void AIS_InteractiveContext::UnsetMaterial ( const Handle< AIS_InteractiveObject > & theIObj,
const Standard_Boolean theToUpdateViewer )

Removes the type of material setting for viewing the Object.

◆ UnsetTransparency()

void AIS_InteractiveContext::UnsetTransparency ( const Handle< AIS_InteractiveObject > & theIObj,
const Standard_Boolean theToUpdateViewer )

Removes the transparency settings for viewing the Object.

◆ UnsetWidth()

virtual void AIS_InteractiveContext::UnsetWidth ( const Handle< AIS_InteractiveObject > & theIObj,
const Standard_Boolean theToUpdateViewer )
virtual

Removes the width setting of the Object.

◆ Update()

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.

◆ UpdateCurrent()

void AIS_InteractiveContext::UpdateCurrent ( )
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.

Deprecated
("Local Context is deprecated - local selection should be used without Local Context")

◆ UpdateCurrentViewer()

void AIS_InteractiveContext::UpdateCurrentViewer ( )

Updates the current viewer.

◆ UpdateSelected()

void AIS_InteractiveContext::UpdateSelected ( Standard_Boolean theToUpdateViewer)
inline

Updates the list of selected objects: i.e. highlights the newly selected ones and unhighlights previously selected objects.

See also
HilightSelected().

◆ Width()

virtual Standard_Real AIS_InteractiveContext::Width ( const Handle< AIS_InteractiveObject > & aniobj) const
virtual

Returns the width of the Interactive Object in the interactive context.

Field Documentation

◆ mgrSelector

Handle< SelectMgr_SelectionManager > AIS_InteractiveContext::mgrSelector
protected

context filter (the content active filters can be applied with AND or OR operation)

◆ myAutoHilight

Standard_Boolean AIS_InteractiveContext::myAutoHilight
protected

context filter (the content active filters can be applied with AND or OR operation)

◆ myCurDetected

Standard_Integer AIS_InteractiveContext::myCurDetected
protected

context filter (the content active filters can be applied with AND or OR operation)

◆ myCurHighlighted

Standard_Integer AIS_InteractiveContext::myCurHighlighted
protected

context filter (the content active filters can be applied with AND or OR operation)

◆ myDefaultDrawer

Handle< Prs3d_Drawer > AIS_InteractiveContext::myDefaultDrawer
protected

context filter (the content active filters can be applied with AND or OR operation)

◆ myDetectedSeq

TColStd_SequenceOfInteger AIS_InteractiveContext::myDetectedSeq
protected

context filter (the content active filters can be applied with AND or OR operation)

◆ myFilters

Handle< SelectMgr_AndOrFilter > AIS_InteractiveContext::myFilters
protected

context filter (the content active filters can be applied with AND or OR operation)

◆ myIsAutoActivateSelMode

Standard_Boolean AIS_InteractiveContext::myIsAutoActivateSelMode
protected

context filter (the content active filters can be applied with AND or OR operation)

◆ myLastActiveView

V3d_View* AIS_InteractiveContext::myLastActiveView
protected

context filter (the content active filters can be applied with AND or OR operation)

◆ myLastPicked

Handle< SelectMgr_EntityOwner > AIS_InteractiveContext::myLastPicked
protected

context filter (the content active filters can be applied with AND or OR operation)

◆ myMainPM

Handle< PrsMgr_PresentationManager > AIS_InteractiveContext::myMainPM
protected

context filter (the content active filters can be applied with AND or OR operation)

◆ myMainVwr

Handle< V3d_Viewer > AIS_InteractiveContext::myMainVwr
protected

context filter (the content active filters can be applied with AND or OR operation)

◆ myObjects

AIS_DataMapOfIOStatus AIS_InteractiveContext::myObjects
protected

context filter (the content active filters can be applied with AND or OR operation)

◆ myPickingStrategy

SelectMgr_PickingStrategy AIS_InteractiveContext::myPickingStrategy
protected

picking strategy to be applied within MoveTo()

◆ mySelection

Handle< AIS_Selection > AIS_InteractiveContext::mySelection
protected

context filter (the content active filters can be applied with AND or OR operation)

◆ myStyles

Handle< Prs3d_Drawer > AIS_InteractiveContext::myStyles[Prs3d_TypeOfHighlight_NB]
protected

context filter (the content active filters can be applied with AND or OR operation)

◆ myToHilightSelected

Standard_Boolean AIS_InteractiveContext::myToHilightSelected
protected

context filter (the content active filters can be applied with AND or OR operation)


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