Open CASCADE Technology  6.5.4
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Friends
AIS_LocalContext Class Reference

Defines a specific context for selection.
It becomes possible to:
More...

#include <AIS_LocalContext.hxx>

Inheritance diagram for AIS_LocalContext:
Inheritance graph
[legend]

Public Member Functions

 AIS_LocalContext ()
 AIS_LocalContext (const Handle< AIS_InteractiveContext > &aCtx, const Standard_Integer anIndex, const Standard_Boolean LoadDisplayed=Standard_True, const Standard_Boolean AcceptStandardModes=Standard_True, const Standard_Boolean AcceptErase=Standard_False, const Standard_Boolean UseBothViewers=Standard_False)
 Constructor By Default, the displayed objects are
automatically loaded.

void AcceptErase (const Standard_Boolean aStatus)
 authorize or not others contexts to erase
temporary displayed objects here;

Standard_Boolean AcceptErase () const
void SetContext (const Handle< AIS_InteractiveContext > &aCtx)
const TCollection_AsciiStringSelectionName () const
void Terminate (const Standard_Boolean updateviewer=Standard_True)
Standard_Boolean HasSameProjector (const Handle< Select3D_Projector > &aPrj) const
 compares the current projector of the localContext
with <aPrj>
returns True if the projectors are identical.
(no need to update projection of selection primitives
when closing the local context)....

void Reactivate ()
 to be called when a upper local context was closed...
useful to put pack the right projector...

Standard_Boolean Display (const Handle< AIS_InteractiveObject > &anInteractive, const Standard_Integer DisplayMode=0, const Standard_Boolean AllowShapeDecomposition=Standard_True, const Standard_Integer ActivationMode=0)
 returns true if done...

Standard_Boolean Load (const Handle< AIS_InteractiveObject > &anInteractive, const Standard_Boolean AllowShapeDecomposition=Standard_True, const Standard_Integer ActivationMode=0)
 loads <anInteractive> with nodisplay...
returns true if done

Standard_Boolean Erase (const Handle< AIS_InteractiveObject > &anInteractive)
 returns true if done...

Standard_Boolean Remove (const Handle< AIS_InteractiveObject > &aSelectable)
Standard_Boolean ClearPrs (const Handle< AIS_InteractiveObject > &anInteractive, const Standard_Integer aMode)
void SetShapeDecomposition (const Handle< AIS_InteractiveObject > &aStoredObject, const Standard_Boolean aStatus)
 allows or forbids the shape decomposition into
Activated Standard Mode for <aStoredObject>
does nothing if the object doesn't inherits
BasicShape from AIS

void Clear (const AIS_ClearMode atype=AIS_CM_All)
 according to <atype> , clears the different parts of
the selector (filters, modeof activation, objects...)

void ActivateMode (const Handle< AIS_InteractiveObject > &aSelectable, const Standard_Integer aMode)
 optional : activation of a mode which is not 0 for a selectable...

void DeactivateMode (const Handle< AIS_InteractiveObject > &aSelectable, const Standard_Integer aMode)
void Deactivate (const Handle< AIS_InteractiveObject > &aSelectable)
void ActivateStandardMode (const TopAbs_ShapeEnum aType)
 decomposition of shapes into <aType>

void DeactivateStandardMode (const TopAbs_ShapeEnum aType)
const TColStd_ListOfIntegerStandardModes () const
void AddFilter (const Handle< SelectMgr_Filter > &aFilter)
void RemoveFilter (const Handle< SelectMgr_Filter > &aFilter)
const SelectMgr_ListOfFilterListOfFilter () const
const Handle_SelectMgr_OrFilter & Filter () const
void SetAutomaticHilight (const Standard_Boolean aStatus)
 if <aStatus> = True , the shapes or subshapes detected
by the selector will be automatically hilighted in the
main viewer.
Else the user has to manage the detected shape outside the
Shape Selector....

Standard_Boolean AutomaticHilight () const
AIS_StatusOfDetection MoveTo (const Standard_Integer Xpix, const Standard_Integer Ypix, const Handle< V3d_View > &aview)
Standard_Boolean HasNextDetected () const
 returns True if more than one entity
was detected at the last Mouse position.

Standard_Integer HilightNextDetected (const Handle< V3d_View > &aView)
 returns True if last detected. the next detected will
be first one (endless loop)

Standard_Integer HilightPreviousDetected (const Handle< V3d_View > &aView)
Standard_Boolean UnhilightLastDetected (const Handle< V3d_View > &aView)
 returns True if something was done...

AIS_StatusOfPick Select (const Standard_Boolean updateviewer=Standard_True)
 returns the number of selected

AIS_StatusOfPick ShiftSelect (const Standard_Boolean updateviewer=Standard_True)
AIS_StatusOfPick Select (const Standard_Integer XPMin, const Standard_Integer YPMin, const Standard_Integer XPMax, const Standard_Integer YPMax, const Handle< V3d_View > &aView, const Standard_Boolean updateviewer=Standard_True)
AIS_StatusOfPick ShiftSelect (const Standard_Integer XPMin, const Standard_Integer YPMin, const Standard_Integer XPMax, const Standard_Integer YPMax, const Handle< V3d_View > &aView, const Standard_Boolean updateviewer=Standard_True)
AIS_StatusOfPick Select (const TColgp_Array1OfPnt2d &Polyline, const Handle< V3d_View > &aView, const Standard_Boolean updateviewer=Standard_True)
AIS_StatusOfPick ShiftSelect (const TColgp_Array1OfPnt2d &Polyline, const Handle< V3d_View > &aView, const Standard_Boolean updateviewer=Standard_True)
void HilightPicked (const Standard_Boolean updateviewer=Standard_True)
void UnhilightPicked (const Standard_Boolean updateviewer=Standard_True)
void UpdateSelected (const Standard_Boolean updateviewer=Standard_True)
void UpdateSelected (const Handle< AIS_InteractiveObject > &anobj, const Standard_Boolean updateviewer=Standard_True)
 Part of advanced selection highlighting mechanism.
If no owners belonging to anobj are selected, calls anobj->ClearSelected(),
otherwise calls anobj->HilightSelected(). This method can be used to avoid
redrawing the whole selection belonging to several Selectable Objects.

void SetSelected (const Handle< AIS_InteractiveObject > &anobj, const Standard_Boolean updateviewer=Standard_True)
 useful to update selection with objects coming from
Collector or stack

void AddOrRemoveSelected (const Handle< AIS_InteractiveObject > &anobj, const Standard_Boolean updateviewer=Standard_True)
 useful to update selection with objects coming from
Collector or stack

void AddOrRemoveSelected (const TopoDS_Shape &aShape, const Standard_Boolean updateviewer=Standard_True)
void AddOrRemoveSelected (const Handle< SelectMgr_EntityOwner > &Ownr, const Standard_Boolean updateviewer=Standard_True)
void ClearSelected (const Standard_Boolean updateviewer=Standard_True)
Standard_Boolean HasDetected () const
void InitDetected ()
Standard_Boolean MoreDetected () const
void NextDetected ()
const TopoDS_ShapeDetectedCurrentShape () const
Handle_AIS_InteractiveObject DetectedCurrentObject () const
Standard_Boolean HasDetectedShape () const
const TopoDS_ShapeDetectedShape () const
Handle_AIS_InteractiveObject DetectedInteractive () const
Handle_SelectMgr_EntityOwner DetectedOwner () const
void InitSelected ()
Standard_Boolean MoreSelected () const
void NextSelected ()
Standard_Boolean HasShape () const
 returns TRUE if the detected entity is a shape
coming from a Decomposition of an element.

const TopoDS_ShapeSelectedShape () const
Handle_SelectMgr_EntityOwner SelectedOwner () const
Standard_Boolean IsSelected (const Handle< AIS_InteractiveObject > &aniobj) const
Standard_Boolean IsSelected (const Handle< SelectMgr_EntityOwner > &anOwner) const
Handle_AIS_InteractiveObject SelectedInteractive () const
Standard_Boolean HasApplicative () const
 returns TRUE if an interactive element
was associated with the current picked entity.

const Handle_Standard_TransientSelectedApplicative () const
void SetDisplayPriority (const Handle< AIS_InteractiveObject > &anObject, const Standard_Integer Prior)
void SetZLayer (const Handle< AIS_InteractiveObject > &theIObj, const Standard_Integer theLayerId)
 Set Z layer id for interactive object. The layer can be
specified for displayed object only. 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.
Note that Z layers differ from under-/overlayer in V3d_View:
under-/overlayer are intended for specific 2D drawings that appear
behind/in front of all 3D presentations, while SetZLayer() method
applies to regular 3D presentations and does not imply any specific
drawing methods.

Standard_Integer GetZLayer (const Handle< AIS_InteractiveObject > &theIObj) const
 Get Z layer id set for displayed interactive object.
If the object doesn't exists in context or has no computed presentations,
the method returns -1.

Standard_Integer DisplayedObjects (TColStd_MapOfTransient &theMapToFill) const
Standard_Boolean IsIn (const Handle< AIS_InteractiveObject > &anObject) const
Standard_Boolean IsDisplayed (const Handle< AIS_InteractiveObject > &anObject) const
Standard_Boolean IsDisplayed (const Handle< AIS_InteractiveObject > &anObject, const Standard_Integer aMode) const
const TColStd_ListOfIntegerSelectionModes (const Handle< AIS_InteractiveObject > &anObject) const
void SubIntensityOn (const Handle< AIS_InteractiveObject > &anObject)
void SubIntensityOff (const Handle< AIS_InteractiveObject > &anObject)
void Hilight (const Handle< AIS_InteractiveObject > &anObject)
void Hilight (const Handle< AIS_InteractiveObject > &anObject, const Quantity_NameOfColor aCol)
void Unhilight (const Handle< AIS_InteractiveObject > &anObject)
Standard_Boolean IsHilighted (const Handle< AIS_InteractiveObject > &anObject) const
Standard_Boolean IsHilighted (const Handle< AIS_InteractiveObject > &anObject, Standard_Boolean &WithColor, Quantity_NameOfColor &HiCol) const
void SetSensitivityMode (const StdSelect_SensitivityMode aMode)
 Sets the selection sensitivity mode. SM_WINDOW mode
uses the specified pixel tolerance to compute the sensitivity
value, SM_VIEW mode allows to define the sensitivity manually.

StdSelect_SensitivityMode SensitivityMode () const
 Returns the selection sensitivity mode.

void SetSensitivity (const Standard_Real aPrecision)
 Define the current selection sensitivity for
this local context according to the view size.

Standard_Real Sensitivity () const
 Returns the selection sensitivity value.

void SetPixelTolerance (const Standard_Integer aPrecision=2)
 Define the current selection sensitivity for
this local context according to the view size.

Standard_Integer PixelTolerance () const
 Returns the pixel tolerance.

Standard_Boolean BeginImmediateDraw ()
 initializes the list of presentations to be displayed
returns False if No Local COnte

Standard_Boolean ImmediateAdd (const Handle< AIS_InteractiveObject > &anIObj, const Standard_Integer aMode=0)
 returns True if <anIObj> has been stored in the list.

Standard_Boolean ImmediateRemove (const Handle< AIS_InteractiveObject > &anIObj, const Standard_Integer aMode=0)
 returns True if <anIObj> has been removed from the list.

Standard_Boolean EndImmediateDraw (const Handle< V3d_View > &aView, const Standard_Boolean DoubleBuf=Standard_False)
 returns True if the immediate display has been done.

Standard_Boolean IsImmediateModeOn () const
void UpdateConversion ()
void UpdateSort ()
void LoadContextObjects ()
void UnloadContextObjects ()
void DisplayAreas (const Handle< V3d_View > &aviou)
void ClearAreas (const Handle< V3d_View > &aView)
void DisplaySensitive (const Handle< V3d_View > &aView)
void ClearSensitive (const Handle< V3d_View > &aView)
const
Handle_StdSelect_ViewerSelector3d & 
MainSelector () const
Handle_SelectMgr_EntityOwner FindSelectedOwnerFromIO (const Handle< AIS_InteractiveObject > &anIObj) const
Handle_SelectMgr_EntityOwner FindSelectedOwnerFromShape (const TopoDS_Shape &aShape) const

Friends

Standard_Boolean AIS_InteractiveContext::KeepTemporary (const Handle< AIS_InteractiveObject > &anIObj, const Standard_Integer InWhichLocal)
 Changes the status of a temporary object. It will be
kept at the neutral point, i.e. put in the list of
displayed objects along withwith its temporary
attributes. These include display mode and
selection mode, for example.
Returns true if done.
inWhichLocal gives the local context in which anIObj
is displayed. By default, the index -1 refers to the last
Local Context opened.


Detailed Description

     +  Load  InteractiveObjects  with   a mode   to be <br>
     activated +  associate InteractiveObjects   with a <br>
     set of  temporary   selectable Objects....   +   + <br>
     activate StandardMode  of selection  for  Entities <br>
     inheriting  BasicShape  from  AIS (Selection    Of <br>
     vertices, edges,   wires,faces...  + Add   Filters <br>
     acting on detected owners of sensitive primitives <br>




Constructor & Destructor Documentation


Member Function Documentation

Handle_AIS_InteractiveObject AIS_LocalContext::DetectedCurrentObject ( ) const
Handle_AIS_InteractiveObject AIS_LocalContext::DetectedInteractive ( ) const
Handle_SelectMgr_EntityOwner AIS_LocalContext::DetectedOwner ( ) const
Standard_Boolean AIS_LocalContext::Display ( const Handle< AIS_InteractiveObject > &  anInteractive,
const Standard_Integer  DisplayMode = 0,
const Standard_Boolean  AllowShapeDecomposition = Standard_True,
const Standard_Integer  ActivationMode = 0 
)
const Handle_SelectMgr_OrFilter& AIS_LocalContext::Filter ( ) const
Handle_SelectMgr_EntityOwner AIS_LocalContext::FindSelectedOwnerFromIO ( const Handle< AIS_InteractiveObject > &  anIObj) const
Handle_SelectMgr_EntityOwner AIS_LocalContext::FindSelectedOwnerFromShape ( const TopoDS_Shape aShape) const
Standard_Boolean AIS_LocalContext::Load ( const Handle< AIS_InteractiveObject > &  anInteractive,
const Standard_Boolean  AllowShapeDecomposition = Standard_True,
const Standard_Integer  ActivationMode = 0 
)
const Handle_StdSelect_ViewerSelector3d& AIS_LocalContext::MainSelector ( ) const
Handle_AIS_InteractiveObject AIS_LocalContext::SelectedInteractive ( ) const
Handle_SelectMgr_EntityOwner AIS_LocalContext::SelectedOwner ( ) const

Friends And Related Function Documentation


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