1 -- File : AIS2D_InteractiveContext.cdl
2 -- Created : February 2000
4 ---Copyright: Matra Datavision 2000
6 -- Modified: EAV: 07-09-01 : NbSelected(), InitSelected(),
7 -- MoreSelected(), NextSelected()
9 -- SAV: 15/11/01 MoveCircleTo(). detection by circle. SetDetectionMode().
10 -- Detect() - internal
12 class InteractiveContext from AIS2D inherits TShared from MMgt
14 ---Purpose: The InteractiveContext class allows you to manage
15 -- graphic behavior and selection of Interactive Objects
16 -- in one or more viewers.
20 TypeOfLine from Aspect,
21 WidthOfLine from Aspect,
22 MarkerStyle from Aspect,
23 TypeOfMarker from Aspect,
24 FontStyle from Aspect,
25 GenericColorMap from Aspect,
31 GridDrawMode from Aspect,
32 CardinalPoints from Aspect,
34 PlaneAngle from Quantity,
36 NameOfColor from Quantity,
37 ExtendedString from TCollection,
38 Primitive from Graphic2d,
39 PickMode from Graphic2d,
40 TransientManager from Graphic2d,
41 DisplayList from Graphic2d,
45 InteractiveObject from AIS2D,
47 DataMapOfIOStatus from AIS2D,
48 DataMapOfLC from AIS2D,
49 StatusOfDetection from AIS2D,
50 DisplayStatus from AIS2D,
51 StatusOfPick from AIS2D,
52 TypeOfDetection from AIS2D,
53 PToListOfInt from AIS2D,
55 HSequenceOfIO from AIS2D
59 Create( MainViewer: Viewer from V2d )
60 returns mutable InteractiveContext from AIS2D;
61 ---Purpose: Initiates <MainViewer>
63 Create( MainViewer, aCollector: Viewer from V2d)
64 returns mutable InteractiveContext from AIS2D;
65 ---Purpose: Initiates the principal viewer and Collector(trash) viewer together
67 -- *************************************************************
68 ---Category: Editing general Display Services
69 -- *************************************************************
71 Display( me : mutable;
72 anIObj : InteractiveObject from AIS2D;
73 UpdateVwr : Boolean from Standard = Standard_True);
75 ---Purpose: Display when no local context is opened.
76 -- if <anIObj> has no proper display mode, the defaut
77 -- display mode of the session is used
78 -- Same for the selection Mode (by default =0)
80 Display( me : mutable;
81 anIObj : InteractiveObject from AIS2D;
82 aDispMode : Integer from Standard ;
83 aSelectMode : Integer from Standard;
84 UpdateVwr : Boolean from Standard = Standard_True;
85 AllowDecomp : Boolean from Standard = Standard_True);
87 ---Purpose: Use only if a local context is opened. Displays the
88 -- <aDispMode> the presentation of interactive object,
89 -- activates the selection mode <aSelectMode> if
90 -- <UpdateVwr> = Standard_False, the object is
91 -- displayed but no viewer will be updated; CONVENTION :
92 -- <aSelectMode> = -1 means no activation for <anIObj>
93 -- : it will be displayed but not selectable. (Option
94 -- only available for local context...)
95 -- <AllowDecomp> = true means that <anIObj> is
96 -- able to have subshapes detected by selection mechanisms.
97 -- 2 conditions: <anIObj> must be able to give a shape
98 -- selection modes fit the AIS2D_Shape
99 -- selection modes ( 1->vertex, 2->edges, 3->wires...)
102 anIObj: InteractiveObject from AIS2D;
103 SelMode : Integer from Standard = -1;
104 AllowDecomp : Boolean from Standard = Standard_False );
105 ---Purpose: Available when opened local contexts only;
106 -- option to load in the selector objects which will
107 -- be selectable but not displayed. Nevertheless, they
108 -- will be hilighted when detected by the selector.
109 -- ex : be able to select center of a line without
110 -- displaying all centers before selection process
113 anIObj : InteractiveObject from AIS2D;
114 UpdateVwr : Boolean from Standard = Standard_True;
115 PutInCollector : Boolean from Standard = Standard_True );
117 ---Purpose: Erases presentations in current local context,
118 -- or failing that, in other local contexts which allow erasing.
119 -- If <PutInCollector> is false, the object is erased but
120 -- not put in the Collector.
122 EraseAll( me : mutable;
123 PutInCollector : Boolean from Standard = Standard_True;
124 updateVwr : Boolean from Standard = Standard_True );
125 ---Purpose: Every erased object goes into the Collector viewer
127 DisplayAll( me : mutable;
128 OnlyFromCollector : Boolean from Standard = Standard_True;
129 updateVwr : Boolean from Standard = Standard_True);
130 ---Purpose: Displays all erased objects, in other words,
131 -- all objects in the Collector viewer.
133 EraseSelected( me : mutable;
134 PutInCollector : Boolean from Standard = Standard_True;
135 updateVwr : Boolean from Standard = Standard_True );
136 ---Purpose: Erases selected objects if a local context is open.
137 -- Erases current objects if there is no active local context.
138 -- If a local context is open and if <updateVwr> equals
139 -- Standard_False, the presentation of the Interactive Object
140 -- activates the selection mode; the object is displayed but
141 -- no viewer will be updated.
143 DisplaySelected( me : mutable;
144 updateVwr : Boolean from Standard = Standard_True );
145 ---Purpose: Displays or erases selected objects if a local
146 -- context is open. If no active local context is found,
147 -- only current objects can be displayed or erased.
149 KeepTemporary( me : mutable;
150 anIObj : InteractiveObject from AIS2D;
151 InWhichLocal: Integer from Standard = -1)
152 returns Boolean from Standard;
153 ---Purpose: Changes the status of a temporary object it will be --
154 -- kept at the neutral point, i.e. put in the list of
155 -- displayed objects, with its temporary attributes
156 -- (displaymode,selection mode) returns true if done --
157 -- inWhichLocal means that gives the local context in
158 -- which <anIObj> is displayed. By default, -1 means the
161 Redisplay( me : mutable;
162 anIObj : InteractiveObject from AIS2D;
163 updateVwr : Boolean from Standard = Standard_True;
164 allModes : Boolean from Standard = Standard_False);
165 ---Purpose: Forces Recompute of the seen presentations of the object;
166 -- if <allModes>= True -> recomputes all the
169 --***********************************************************************
170 ---Category: Querying and Editing Selection Process
171 --***********************************************************************
173 IsCurrent( me; anIObj: InteractiveObject from AIS2D )
174 returns Boolean from Standard;
175 ---Purpose: Finds the current selected entity <anIObj> in Neutral Point.
177 IsSelected( me; anIObj: InteractiveObject from AIS2D )
178 returns Boolean from Standard;
179 ---Purpose: Confirms selection. Returns true if <anIObj> is selected in the interactive context
181 Highlight( me : mutable;
182 anIObj : InteractiveObject from AIS2D;
183 updateVwr: Boolean from Standard = Standard_True);
184 ---Purpose: Updates the display in the viewer to take dynamic detection
186 -- If a local context is open and if <updateVwr> equals Standard_False,
187 -- the presentation of the Interactive Object activates the selection
188 -- mode; the object is displayed but no viewer will be updated.
190 HighlightWithColor( me: mutable;
191 anIObj:InteractiveObject from AIS2D;
192 aCol: NameOfColor from Quantity;
193 updateVwr: Boolean from Standard = Standard_True );
194 ---Purpose: Changes the color of the object in view <anIObj>.
195 -- It paints this object the color passed as the argument <aCol>
196 -- If a local context is open and if <updateVwr> equals Standard_False,
197 -- the presentation of the Interactive Object activates the selection
198 -- mode; the object is displayed but no viewer will be updated.
200 Unhighlight( me : mutable;
201 anIObj : InteractiveObject from AIS2D;
202 updateVwr : Boolean from Standard = Standard_True );
203 ---Purpose: Removes hilighting from the entity <anIObj>. Updates the viewer.
204 -- If a local context is open and if <updateVwr> equals Standard_False,
205 -- the presentation of the Interactive Object activates the selection
206 -- mode; the object is displayed but no viewer will be updated.
209 --****************************************************************
210 ---Category: Graphic Detection and Selection
211 --****************************************************************
213 SetPrecision( me: mutable; aPrec: Integer from Standard );
216 ---Purpose: Sets the precision of detection
218 DetectPrecision( me ) returns Integer from Standard;
221 ---Purpose: Returns the precision of detection
224 XPix, YPix : Integer from Standard;
225 aView : View from V2d;
226 anIO : InteractiveObject from AIS2D;
227 isTemporary : Boolean from Standard = Standard_False );
229 ---Purpose: Places object <anIO> to the pixel position (XPix, YPix)
230 -- in the view <aView> is using TransientManager.
231 -- It's possible to use without preliminary application of Display method.
234 XPix, YPix : Integer from Standard;
235 aView : View from V2d;
236 isTemporary: Boolean from Standard = Standard_True );
238 ---Purpose: Places selected objects to the pixel position (XPix, YPix)
239 -- in the view <aView>. If <isTemporary> is True, is used TransientManager.
242 XPix, YPix: Integer from Standard;
243 aView: View from V2d ) returns StatusOfDetection from AIS2D;
245 ---Purpose: Relays mouse position in pixels XPix and YPix to the
246 -- interactive context selectors. This is done by the view <aView>
247 -- passing this position to the main viewer and updating it.
248 -- Functions in both Neutral Point and local contexts.
251 MoveCircleTo( me: mutable; XPix, YPix, Radius : Integer from Standard;
252 aView: View from V2d ) returns StatusOfDetection from AIS2D;
254 ---Purpose: Relays mouse position in circle <XPix, YPix> and <Radius> to the
255 -- interactive context selectors. This is done by the view <aView>
256 -- passing this position to the main viewer and updating it.
257 -- Functions in both Neutral Point and local contexts.
260 Xmin, Ymin, Xmax, Ymax: Integer from Standard;
261 aView: View from V2d ) returns StatusOfDetection from AIS2D;
263 ---Purpose: Relays mouse position in rectangle Xmin, Ymin, Xmax, Ymax to the
264 -- interactive context selectors. This is done by the view <aView>
265 -- passing this position to the main viewer and updating it.
266 -- Functions in both Neutral Point and local contexts.
270 Detect( me: mutable; dList : DisplayList from Graphic2d; aView : View from V2d )
271 returns StatusOfDetection from AIS2D is private;
273 Select( me : mutable;
274 UpdateVwr : Boolean from Standard = Standard_True)
275 returns StatusOfPick from AIS2D;
277 ---Purpose: Stores and hilights the previous detected; Unhilights
278 -- the previous picked.
280 ShiftSelect( me: mutable; UpdateVwr: Boolean from Standard = Standard_True )
281 returns StatusOfPick from AIS2D;
283 ---Purpose: adds the last detected to the list of previous picked.
284 -- if the last detected was already declared as picked,
285 -- removes it from the Picked List.
287 ShiftSelect( me: mutable; XPMin, YPMin, XPMax, YPMax: Integer from Standard;
288 aView: View from V2d; UpdateVwr : Boolean from Standard = Standard_True)
289 returns StatusOfPick from AIS2D;
291 ---Purpose: rectangle of selection ; adds new detected entities into the
292 -- picked list, removes the detected entities that were already stored...
295 SetHighlightColor( me: mutable; aCol: NameOfColor from Quantity );
296 ---Purpose: Allows to set the color used to show highlighted entities,
297 -- that is, entities picked out by the mouse.
299 SetSelectionColor( me: mutable; aCol: NameOfColor from Quantity );
300 ---Purpose: Sets the color used to show selected entities
302 SetSubIntensityColor( me: mutable; aCol: NameOfColor from Quantity );
303 ---Purpose: Allows you to set the color used to show that an object
304 -- is not currently selected
306 DisplayMode( me ) returns Integer from Standard;
308 ---Purpose: Returns the display mode setting
310 HighlightColor( me ) returns NameOfColor from Quantity;
313 ---Purpose: Returns the name of the color used to show highlighted entities,
314 -- that is, entities picked out by the mouse
316 SelectionColor( me ) returns NameOfColor from Quantity;
319 ---Purpose: Returns the name of the color used to show selected entities.
321 SubIntensityColor( me ) returns NameOfColor from Quantity;
324 ---Purpose: Returns the name of the color used to show
325 -- that an object is not currently selected.
327 SubIntensityOn( me : mutable;
328 anIObj : InteractiveObject from AIS2D;
329 UpdateVwr : Boolean from Standard = Standard_True);
331 ---Purpose: Highlights, and removes highlights from, the displayed object
332 -- <anIObj> which is displayed at Neutral Point with subintensity
333 -- color; available only for active local context.
334 -- There is no effect if there is no local context.
336 SubIntensityOff( me : mutable;
337 anIObj : InteractiveObject from AIS2D;
338 UpdateVwr : Boolean from Standard = Standard_True);
340 ---Purpose: Removes the subintensity option for the entity <anIObj>.
343 -- *************************************************************
344 -- Management of the Trash Bin Viewer
345 -- *************************************************************
347 IsCollectorClosed( me ) returns Boolean from Standard;
352 CloseCollector( me: mutable );
355 ---Purpose: Allows to close Collector
357 OpenCollector( me: mutable );
359 ---Purpose: Allows to open Collector
361 --************************************************************************
362 ---Category: Specific Local Context Action
363 --************************************************************************
365 OpenLocalContext( me : mutable;
366 UseDispObj : Boolean from Standard = Standard_True;
367 AllowDecomposit : Boolean from Standard = Standard_True;
368 AcceptEraseOfObj: Boolean from Standard = Standard_False )
369 returns Integer from Standard;
371 ---Purpose: Opens a local context of display and selection
372 -- returns the index of new opened local context.
373 -- Must be stored and used to close the local context.
375 CloseLocalContext( me : mutable;
376 ind : Integer from Standard = -1;
377 updateVwr : Boolean from Standard = Standard_True );
379 ---Purpose: close the current opened local context.
380 -- Use <ind> to be sure to close the local context you Opened !
381 -- if <ind> == -1 the current local context is closed
382 -- WITHOUT VERIFICATION.
383 -- if <ind> is greater than the current opened local context,
386 IndexOfCurrentLocal( me ) returns Integer from Standard;
388 ---Purpose: returns -1 if no opened local context.
390 CloseAllContext( me: mutable; updateVwr: Boolean from Standard = Standard_True);
392 ---Purpose: Allows to close all local contexts at one go and return to
395 --****************************************************************
396 ---Category: non interactive actions about Selection
397 -- 2 categories are distinct:
399 -- - Selected Objects
400 -- a Current object is the object picked
402 -- The Selected objects are objects picked
403 -- when a local context is opened
406 SetCurrentObject( me : mutable;
407 anIObj : InteractiveObject from AIS2D;
408 UpdateVwr: Boolean from Standard = Standard_True );
410 ---Purpose: Updates the view of the current object in open context.
411 -- Objects selected when there is no open local context
412 -- are called current objects; those selected in open local context,
415 AddOrRemoveCurObject( me : mutable;
416 anIObj : InteractiveObject from AIS2D;
417 UpdateVwr : Boolean from Standard = Standard_True);
419 ---Purpose: Allows to add a current object to the list of current objects
420 -- or remove it from that list.
421 -- Objects selected when there is no open local context are called
422 -- current objects; those selected in open local context,
426 UpdateCurrent( me: mutable );
428 ---Purpose: updates the list of current objects
429 -- i.e. hilights new current objects,
430 -- unhighlights old current objects
433 SetOkCurrent( me: mutable );
437 --FirstCurrentObject( me: mutable ) returns InteractiveObject from AIS2D;
439 ---Purpose: Returns the first current object in the list of current objects.
441 HighlightCurrent( me: mutable;
442 UpdateVwr: Boolean from Standard = Standard_True);
444 ---Purpose: Highlights current objects.
446 UnhighlightCurrent( me: mutable;
447 UpdateVwr: Boolean from Standard = Standard_True);
449 ---Purpose: Unhighlights current objects.
451 ClearCurrent(me: mutable; UpdateVwr: Boolean from Standard = Standard_True);
453 ---Purpose: Empties previous current objects in order to get the current
454 -- objects detected by the selector using UpdateCurrent.
456 SetSelected( me: mutable; anIObj: InteractiveObject from AIS2D;
457 UpdateVwr: Boolean from Standard = Standard_True );
459 ---Purpose: Puts the selected <anIObj> in the current objects list.
461 SetSelectedCurrent( me: mutable );
463 ---Purpose: Puts the selected list in the current objects list.
465 UpdateSelected( me: mutable;
466 UpdateVwr: Boolean from Standard=Standard_True );
468 ---Purpose: Updates the list of selected objects, i.e. hilights
469 -- new selected objects, removes hilighting from former
472 AddOrRemoveSelected( me: mutable;
473 anIObj : InteractiveObject from AIS2D;
474 UpdateVwr: Boolean from Standard = Standard_True);
476 ---Purpose: Allows you to add a selected object <anIObj> to the list of selected
477 -- objects or remove it from that list.
479 HighlightSelected( me: mutable;
480 UpdateVwr: Boolean from Standard = Standard_True);
482 ---Purpose: Highlights selected objects.
484 UnhighlightSelected( me: mutable;
485 UpdateVwr: Boolean from Standard = Standard_True );
487 ---Purpose: UnHighlights selected objects.
489 ClearSelected( me: mutable;
490 UpdateVwr: Boolean from Standard = Standard_True);
492 ---Purpose: Empties previous selected objects in order to get
493 -- the selected objects detected by the selector using UpdateSelected.
495 NbSelected( me ) returns Integer from Standard;
497 ---Purpose: Returns number of objects selected in
498 --- local context ( if opened ) or in neutral context
500 InitSelected( me: mutable );
502 ---Purpose: Iteration
504 MoreSelected( me ) returns Boolean from Standard;
506 ---Purpose: Iteration
508 NextSelected( me: mutable );
510 ---Purpose: Iteration
512 SelectedObject( me ) returns TShared from MMgt;
514 ---Purpose: Returns current selected object ( see InitSelected() .. )
515 -- The object type depends on highlight mode
516 -- ( OBJECT, PRIMITIVE etc )
519 --*****************************************************************
520 -- Querying Graphic Attributes
521 --*****************************************************************
523 DisplayStatus( me; anIObj: InteractiveObject from AIS2D )
524 returns DisplayStatus from AIS2D;
526 ---Purpose: Returns the display status of the entity <anIObj>.
528 DisplayedModes( me; anIObj: InteractiveObject from AIS2D )
529 returns PToListOfInt from AIS2D;
531 ---Purpose: Returns the list of active display modes for the entity <anIObj>
533 IsDisplayed( me; anIObj:InteractiveObject from AIS2D )
534 returns Boolean from Standard;
536 ---Purpose: Returns true if <anIObj> is displayed in the interactive context
539 anIObj: InteractiveObject from AIS2D;
540 aMode : Integer from Standard )
541 returns Boolean from Standard;
544 ---Purpose: Returns true if <anIObj> is displayed in the interactive context with <aMode> display mode
546 IsHighlighted( me; anIObj: InteractiveObject from AIS2D )
547 returns Boolean from Standard;
549 ---Purpose: Returns true if the Interactive Object <anIObj>
550 -- is highlighted in the interactive context.
553 anIObj : InteractiveObject from AIS2D;
554 WithColor : out Boolean from Standard;
555 theHiCol : out NameOfColor from Quantity )
556 returns Boolean from Standard;
558 ---Purpose: if <anIObj> is highlighted with a specific color
559 -- <WithColor> will be returned TRUE
560 -- <theHiCol> gives the name of the hilightcolor
562 IsInCollector( me; anIObj: InteractiveObject from AIS2D )
563 returns Boolean from Standard;
565 ---Purpose: Returns true if the entity <anIObj> is in the Collector viewer.
568 anIObj : InteractiveObject from AIS2D;
569 aStatus: in out ExtendedString from TCollection);
571 ---Purpose: Modified the status of the entity <anIObj>
573 UpdateCurrentViewer( me: mutable );
575 ---Purpose: Updates the current viewer, the viewer in Neutral Point.
577 UpdateCollector( me: mutable );
579 ---Purpose: Updates the Collector viewer
581 --********************************************************************************
582 ---Category: Information methods - Get Fields
583 --********************************************************************************
585 CurrentViewer( me ) returns any Viewer from V2d;
588 ---Purpose: Returns the current viewer.
590 HasOpenedContext( me ) returns Boolean from Standard;
593 ---Purpose: Returns true if there is an open context.
595 DisplayedObjects( me;
596 aListOfIO : in out ListOfIO from AIS2D;
597 OnlyFromNeutral : Boolean from Standard = Standard_False );
599 ---Purpose: gives the list of displayed objects in the main viewer.
601 --********************************************************************************
604 anIObj : InteractiveObject from AIS2D;
605 Dmode : out Integer from Standard;
606 HiMod : out TypeOfDetection from AIS2D;
607 SelMode : out Integer from Standard ) is private;
609 ---Purpose: Returns display, highlight and selection modes of the <anIObj>
611 EraseGlobal( me : mutable;
612 anIObj : InteractiveObject from AIS2D;
613 UpdateVwr : Boolean from Standard = Standard_True;
614 PutInCollector : Boolean from Standard = Standard_True) is private;
618 SetPickMode( me: mutable; aMode: PickMode from Graphic2d );
621 ---Purpose: Allows to provide settings for pick mode.
623 GetPickMode( me) returns PickMode from Graphic2d;
626 ---Purpose: Returns the pick mode
629 --**********************************************************************************
631 HighestIndex( me ) returns Integer from Standard;
635 --**********************************************************************************
636 -- Category: initialization of the attributes
637 --**********************************************************************************
639 InitializeColor( me: mutable; aColor: Color from Quantity ) returns Integer from Standard;
640 ---Purpose: Initialize <aColor> in the color map
642 InitializeStyle( me: mutable; aType: TypeOfLine from Aspect ) returns Integer from Standard;
643 ---Purpose: Initialize <aType> in the type map
645 InitializeWidth( me: mutable; aWidth: WidthOfLine from Aspect ) returns Integer from Standard;
646 ---Purpose: Initialize <aWidth> in the width map
648 InitializeMarker( me: mutable; aMark: TypeOfMarker from Aspect ) returns Integer from Standard;
649 ---Purpose: Initialize <aMark> in the mark map
651 InitializeFont( me: mutable; aFont: FontStyle from Aspect ) returns Integer from Standard;
652 ---Purpose: Initialize <aFont> in the font map
654 --**********************************************************************************
655 ResetOriginalState( me : mutable;
656 updateVwr : Boolean from Standard = Standard_True );
658 ---Purpose: to be used only with no opened
659 -- local context.. displays and activates objects in their
660 -- original state before local contexts were opened...
663 DrawObject( me: mutable; anObj: InteractiveObject from AIS2D; aDispMode: Integer from Standard )
666 AvailableToDetect( me; anObj: InteractiveObject from AIS2D ) returns Boolean from Standard
668 DoDetectObject( me: mutable; anObj: InteractiveObject from AIS2D; aDrawer: TransientManager from Graphic2d )
670 IsIOPicked( me; anObj: InteractiveObject from AIS2D )
671 returns Boolean from Standard is private;
672 IsPrimPicked( me; anObj: InteractiveObject from AIS2D; aPrim: Primitive from Graphic2d )
673 returns Boolean from Standard is private;
674 IsElemPicked( me; anObj: InteractiveObject from AIS2D;
675 aPrim: Primitive from Graphic2d; ind: Integer from Standard )
676 returns Boolean from Standard is private;
677 IsElemSelected( me; anObj: InteractiveObject from AIS2D;
678 aPrim: Primitive from Graphic2d; ind: Integer from Standard )
679 returns Boolean from Standard is private;
681 IsIOSelected( me; anObj: InteractiveObject from AIS2D )
682 returns Boolean from Standard is private;
683 IsPrimSelected( me; anObj: InteractiveObject from AIS2D;
684 aPrim: Primitive from Graphic2d )
685 returns Boolean from Standard is private;
687 --**********************************************************************************
688 -- Category: immediate mode management
689 --**********************************************************************************
691 BeginImmediateDraw( me: mutable; aView: View from V2d );
693 ---Purpose: switches on immediate mode
695 ImmediateDraw(me: mutable; anIObj: InteractiveObject from AIS2D; aView: View from V2d );
697 ---Purpose: draws object <anIObj> into immediate mode
699 EndImmediateDraw( me: mutable; aView: View from V2d );
701 ---Purpose: switches of immediate mode
703 IsImmediateModeOn( me; aView: View from V2d ) returns Boolean from Standard;
705 ---Purpose: returns true if immediate mode is on
708 SetDetectionMode(me:mutable; mode : TypeOfDetection from AIS2D);
712 myMainVwr : Viewer from V2d;
713 myCollectorVwr : Viewer from V2d;
714 myIsCollClosed : Boolean from Standard;
715 myObjects : DataMapOfIOStatus from AIS2D;
717 -- the selection and current objects.
719 myDetectPrecision: Integer from Standard;
720 myResetDetect : Boolean from Standard;
722 myLastPicked : InteractiveObject from AIS2D;
723 myLastinMain : InteractiveObject from AIS2D;
724 myLastinColl : InteractiveObject from AIS2D;
726 mySeqOfDetIO : HSequenceOfIO from AIS2D;
727 mySeqOfSelIO : HSequenceOfIO from AIS2D;
729 myCurDetectMode : TypeOfDetection from AIS2D;
731 myWasLastMain : Boolean from Standard;
732 myPickMode : PickMode from Graphic2d;
734 -- the attributes of session...
736 myHighlightColor : NameOfColor from Quantity;
737 mySelectionColor : NameOfColor from Quantity;
738 mySubIntensity : NameOfColor from Quantity;
739 myDisplayMode : Integer from Standard;
741 -- The Local Context...
743 myLocalContexts : DataMapOfLC from AIS2D;
744 myCurLocalIndex : Integer from Standard;
745 myLastMoveView : View from V2d;
747 myColorMap : GenericColorMap from Aspect is protected;
748 myTypeMap : TypeMap from Aspect is protected;
749 myWidthMap : WidthMap from Aspect is protected;
750 myMarkMap : MarkMap from Aspect is protected;
751 myFontMap : FontMap from Aspect is protected;
755 myCurSelected : Integer from Standard;
756 myMaxSelected : Integer from Standard;
760 class LocalContext from AIS2D
762 end InteractiveContext;