1 -- Created on: 1996-12-18
2 -- Created by: Robert COUBLANC
3 -- Copyright (c) 1996-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
6 -- This file is part of Open CASCADE Technology software library.
8 -- This library is free software; you can redistribute it and/or modify it under
9 -- the terms of the GNU Lesser General Public License version 2.1 as published
10 -- by the Free Software Foundation, with special exception defined in the file
11 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 -- distribution for complete text of the license and disclaimer of any warranty.
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
18 -- rob : Dec 17 1997 -> Update Method Added + Use in Deviation Angle...
19 -- rob : Feb 05 1998 -> UpdateOnlySelection, UpdateOnlyPrs
20 -- Apr 02 1998 -> Select Methods has been added a boolean updateviewer.
21 -- VSV : 22/05/01 Add Selection by polygon
22 -- SAV : Add DisplayFromCollector() method
23 -- SLN : SetToHilightSelected method added
27 class InteractiveContext from AIS inherits TShared from MMgt
29 ---Purpose: The Interactive Context allows you to manage
30 -- graphic behavior and selection of Interactive Objects
31 -- in one or more viewers. Class methods make this
32 -- highly transparent.
33 -- It is essential to remember that an Interactive Object
34 -- which is already known by the Interactive Context
35 -- must be modified using Context methods. You can
36 -- only directly call the methods available for an
37 -- Interactive Object if it has not been loaded into an
38 -- Interactive Context.
39 -- You must distinguish two states in the Interactive Context:
40 -- - No Open Local Context, also known as the Neutral Point.
41 -- - One or several open local contexts, each
42 -- representing a temporary state of selection and presentation.
43 -- Some methods can only be used in open Local
44 -- Context; others in closed Local Context; others do
45 -- not have the same behavior in one state as in the other.
46 -- The possiblities of use for local contexts are
47 -- numerous depending on the type of operation that
48 -- you want to perform, for example:
49 -- - working on all visualized interactive objects,
50 -- - working on only a few objects,
51 -- - working on a single object.
52 -- 1. When you want ot work on one type of entity, you
53 -- should open a local context with the option
54 -- UseDisplayedObjects set to false. DisplayedObjects
55 -- allows you to recover the visualized Interactive
56 -- Objects which have a given Type and
57 -- Signature from Neutral Point.
58 -- 2. You must keep in mind the fact that when you open
59 -- a Local Context with default options:
60 -- - The Interactive Objects visualized at Neutral Point
61 -- are activated with their default selection mode. You
62 -- must deactivate those which you do not want ot use.
63 -- - The Shape type Interactive Objects are
64 -- automatically decomposed into sub-shapes when
65 -- standard activation modes are launched.
66 -- - The "temporary" Interactive Objects present in the
67 -- Local Contexts are not automatically taken into
68 -- account. You have to load them manually if you
70 -- - The stages could be the following:
71 -- - Open a Local Context with the right options;
72 -- - Load/Visualize the required complementary
73 -- objects with the desired activation modes.
74 -- - Activate Standard modes if necessary
75 -- - Create its filters and add them to the Local Context
76 -- - Detect/Select/recover the desired entities
77 -- - Close the Local Context with the adequate index.
78 -- - It is useful to create an interactive editor, to which
79 -- you pass the Interactive Context. This will take care
80 -- of setting up the different contexts of
81 -- selection/presentation according to the operation
82 -- which you want to perform.
85 Address from Standard,
88 NameOfColor from Quantity,
92 ExtendedString from TCollection,
93 AsciiString from TCollection,
95 SelectionManager from SelectMgr,
96 PresentationManager3d from PrsMgr,
97 ViewerSelector3d from StdSelect,
98 SensitivityMode from StdSelect,
99 MapOfInteractive from AIS,
100 InteractiveObject from AIS,
101 DisplayMode from AIS,
102 NameOfMaterial from Graphic3d,
103 --NameOfPhysicalMaterial from Graphic3d,
104 Filter from SelectMgr,
105 ListOfFilter from SelectMgr,
106 OrFilter from SelectMgr,
107 IndexedMapOfOwner from SelectMgr,
108 ShapeEnum from TopAbs,
109 ListOfInteractive from AIS,
110 SequenceOfInteractive from AIS,
111 ListOfInteger from TColStd,
112 DataMapOfIOStatus from AIS,
113 LocalContext from AIS,
114 DisplayStatus from AIS,
115 DataMapOfILC from AIS,
117 KindOfInteractive from AIS,
119 StatusOfDetection from AIS,
120 StatusOfPick from AIS,
121 LineAspect from Prs3d,
122 BasicAspect from Prs3d,
123 Location from TopLoc,
124 EntityOwner from SelectMgr,
125 TypeOfFacingModel from Aspect,
126 Array1OfPnt2d from TColgp,
127 Transformation from Geom
131 Create(MainViewer:Viewer from V3d)
132 returns InteractiveContext from AIS;
134 -- Constructs the interactive context object defined by
135 -- the principal viewer MainViewer.
137 Delete(me) is redefined;
139 ---Category: General DISPLAY SERVICES
140 SetAutoActivateSelection( me: mutable; Auto : Boolean from Standard );
141 GetAutoActivateSelection( me ) returns Boolean from Standard;
144 Display(me : mutable;
145 anIobj : InteractiveObject from AIS;
146 updateviewer : Boolean from Standard = Standard_True);
147 ---Purpose: Controls the choice between the using the display
148 -- and selection modes of open local context which you
149 -- have defined and activating those available by default.
150 -- If a local context is open and if updateviewer equals
151 -- Standard_False, the Interactive Object anIobj is
152 -- displayed in the default active mode. This will be the
153 -- object's default display mode, if there is one.
154 -- Otherwise, it will be the context mode. The Interactive
155 -- Object's default selection mode is activated. In
156 -- general, this is 0.
157 -- This syntax has the same behavior as local context,
158 -- open or closed. If you want to view the object in open
159 -- local context without selection, use the syntax below,
160 -- setting aSelectionMode to -1.
162 Display (me : mutable;
163 theIObj : InteractiveObject from AIS;
164 theDispMode : Integer from Standard;
165 theSelectionMode : Integer from Standard;
166 theToUpdateViewer : Boolean from Standard = Standard_True;
167 theToAllowDecomposition : Boolean from Standard = Standard_True;
168 theDispStatus : DisplayStatus from AIS = AIS_DS_None);
169 ---Purpose: Controls the choice between the using the display
170 -- and selection modes of open local context which you
171 -- have defined and activating those available by default.
172 -- If no Local Context is opened. and the Interactive
173 -- Object theIObj has no display mode of its own, the
174 -- default display mode, 0, is used. Likewise, if theIObj
175 -- has no selection mode of its own, the default one, 0, is used.
176 -- If a local context is open and if theToUpdateViewer equals
177 -- Standard_False, the presentation of the Interactive
178 -- Object activates the selection mode; the object is
179 -- displayed but no viewer will be updated.
180 -- If theSelectionMode equals -1, theIObj will not be
181 -- activated: it will be displayed but will not be selectable.
182 -- Use this if you want to view the object in open local
183 -- context without selection. Note: This option is only
184 -- available in Local Context.
185 -- If theToAllowDecomposition equals true, theIObj can have
186 -- subshapes detected by selection mechanisms. theIObj
187 -- must be able to give a shape selection modes which
188 -- fit the AIS_Shape selection modes:
194 aniobj : InteractiveObject from AIS;
195 SelectionMode : Integer from Standard = -1;
196 AllowDecomp : Boolean from Standard = Standard_False);
197 ---Purpose: Allows you to load the Interactive Object aniobj
198 -- with a given selection mode SelectionMode, and/or
199 -- with the desired decomposition option, whether the
200 -- object is visualized or not. If AllowDecomp =
201 -- Standard_True and, if the interactive object is of
202 -- the "Shape" type, these "standard" selection
203 -- modes will be automatically activated as a function
204 -- of the modes present in the Local Context.
205 -- The loaded objects will be selectable but
206 -- displayable in highlighting only when detected by the Selector.
207 -- This method is available only when Local Contexts are open.
211 aniobj : InteractiveObject from AIS;
212 updateviewer : Boolean from Standard = Standard_True);
213 ---Purpose: Hides the object. The object's presentations are simply
214 -- flagged as invisible and therefore excluded from redrawing.
215 -- To show hidden objects, use Display().
217 EraseAll (me : mutable;
218 updateviewer: Boolean from Standard = Standard_True);
219 ---Purpose: Hides all objects. The object's presentations are simply
220 -- flagged as invisible and therefore excluded from redrawing.
221 -- To show all hidden objects, use DisplayAll().
223 DisplayAll(me : mutable;
224 updateviewer: Boolean from Standard = Standard_True);
225 ---Purpose: Displays all hidden objects.
227 EraseSelected(me: mutable;
228 updateviewer: Boolean from Standard = Standard_True);
230 -- Hides selected objects. The object's presentations are simply
231 -- flagged as invisible and therefore excluded from redrawing.
232 -- To show hidden objects, use Display().
234 DisplaySelected(me:mutable;updateviewer:Boolean from Standard = Standard_True);
235 ---Purpose: Displays selected objects if a local context is open.
236 -- Displays current objects if there is no active local context.
237 -- Objects selected when there is no open local context
238 -- are called current objects; those selected in open
239 -- local context, selected objects.
240 -- If a local context is open and if updateviewer equals
241 -- Standard_False, the presentation of the Interactive
242 -- Object activates the selection mode; the object is
243 -- displayed but no viewer will be updated.
246 KeepTemporary(me : mutable;
247 anIObj : InteractiveObject from AIS;
248 InWhichLocal: Integer from Standard = -1)
249 returns Boolean from Standard;
250 ---Purpose: Changes the status of a temporary object. It will be
251 -- kept at the neutral point, i.e. put in the list of
252 -- displayed objects along withwith its temporary
253 -- attributes. These include display mode and
254 -- selection mode, for example.
255 -- Returns true if done.
256 -- inWhichLocal gives the local context in which anIObj
257 -- is displayed. By default, the index -1 refers to the last
258 -- Local Context opened.
260 ClearPrs( me :mutable;
261 aniobj : InteractiveObject from AIS;
262 aMode : Integer from Standard = 0;
263 updateviewer : Boolean from Standard = Standard_True);
264 ---Purpose: Empties the graphic presentation of the mode
266 -- If a local context is open and if updateviewer equals
267 -- Standard_False, the presentation of the Interactive
268 -- Object activates the selection mode; the object is
269 -- displayed but no viewer will be updated.
271 -- Removes anIobj. anIobj is still active if it was
272 -- previously activated.
275 aniobj : InteractiveObject from AIS;
276 updateviewer : Boolean from Standard = Standard_True);
277 ---Purpose: Removes aniobj from every viewer. aniobj is no
278 -- longer referenced in the Context.
279 -- If a local context is open and if updateviewer equals
280 -- Standard_False, the presentation of the Interactive
281 -- Object activates the selection mode; the object is
282 -- displayed but no viewer will be updated.
284 RemoveAll(me:mutable;
285 updateviewer : Boolean from Standard = Standard_True);
286 ---Purpose: Removes all the objects from all opened Local Contexts
287 -- and from the Neutral Point
291 aniobj : InteractiveObject from AIS;
292 updateviewer: Boolean from Standard = Standard_True);
294 -- Updates the display in the viewer to take dynamic
295 -- detection into account. On dynamic detection by the
296 -- mouse cursor, sensitive primitives are highlighted.
297 -- The highlight color of entities detected by mouse
298 -- movement is white by default.
299 -- If a local context is open and if updateviewer equals
300 -- Standard_False, the presentation of the Interactive
301 -- Object activates the selection mode; the object is
302 -- displayed but no viewer will be updated.
304 HilightWithColor(me:mutable;
305 aniobj :InteractiveObject from AIS;
306 aCol : NameOfColor from Quantity;
307 updateviewer: Boolean from Standard = Standard_True);
309 -- Changes the color of all the lines of the object in view,
310 -- aniobj. It paints these lines the color passed as the
312 -- If a local context is open and if updateviewer equals
313 -- Standard_False, the presentation of the Interactive
314 -- Object activates the selection mode; the object is
315 -- displayed but no viewer will be updated.
317 Unhilight(me:mutable;
318 aniobj : InteractiveObject from AIS;
319 updateviewer: Boolean from Standard = Standard_True);
321 -- Removes hilighting from the entity aniobj. Updates the viewer.
322 -- If a local context is open and if updateviewer equals
323 -- Standard_False, the presentation of the Interactive
324 -- Object activates the selection mode; the object is
325 -- displayed but no viewer will be updated.
327 SetDisplayPriority(me:mutable;
328 anIobj: InteractiveObject from AIS;
329 aPriority : Integer from Standard);
330 ---Purpose: Sets the display priority aPriority of the seen parts
331 -- presentation of the entity anIobj.
333 SetZLayer( me : mutable;
334 theIObj : InteractiveObject from AIS;
335 theLayerId : Integer from Standard );
336 ---Purpose: Set Z layer id for interactive object.
337 -- The Z layers can be used to display temporarily presentations of some object in front of the other objects in the scene.
338 -- The ids for Z layers are generated by V3d_Viewer.
341 theIObj : InteractiveObject from AIS )
342 returns Integer from Standard;
343 ---Purpose: Get Z layer id set for displayed interactive object.
345 Redisplay(me : mutable;
346 aniobj : InteractiveObject from AIS;
347 updateviewer : Boolean from Standard = Standard_True;
348 allmodes : Boolean from Standard = Standard_False);
349 ---Purpose: Recomputes the seen parts presentation of the entity
350 -- aniobj. If allmodes equals true, all presentations are
351 -- present in the object even if unseen.
352 -- If a local context is open and if updateviewer equals
353 -- Standard_False, the presentation of the Interactive
354 -- Object activates the selection mode; the object is
355 -- displayed but no viewer will be updated.
357 Redisplay(me : mutable;
358 aTypeOfObject: KindOfInteractive from AIS;
359 Signature : Integer from Standard =-1;
360 updateviewer : Boolean from Standard = Standard_True);
361 ---Purpose: Recomputes the Prs/Selection of displayed objects of
362 -- a given type and a given signature.
363 -- if signature = -1 doesnt take signature criterion.
366 RecomputePrsOnly(me:mutable;
367 anIobj : InteractiveObject from AIS;
368 updateviewer : Boolean from Standard = Standard_True;
369 allmodes : Boolean from Standard = Standard_False);
370 ---Purpose: Recomputes the displayed presentations, flags the others
371 -- Doesn't update presentations
375 RecomputeSelectionOnly(me:mutable;
376 anIObj : InteractiveObject from AIS);
377 ---Purpose: Recomputes the active selections, flags the others
378 -- Doesn't update presentations
380 Update (me : mutable;
381 theIObj : InteractiveObject from AIS;
382 theUpdateViewer : Boolean from Standard = Standard_True);
383 ---Purpose: Updates displayed interactive object by checking and
384 -- recomputing its flagged as "to be recomputed" presentation
385 -- and selection structures. This method does not force any
386 -- recomputation on its own. The method recomputes selections
387 -- even if they are loaded without activation in particular selector.
389 SetDisplayMode(me : mutable;
390 aniobj : InteractiveObject from AIS;
391 aMode : Integer from Standard;
392 updateviewer: Boolean from Standard = Standard_True);
395 -- Sets the display mode of seen Interactive Objects.
396 -- aMode provides the display mode index of the entity aniobj.
397 -- If updateviewer equals Standard_True, the
398 -- predominant mode aMode will overule the context mode.
399 -- If a local context is open and if updateviewer equals
400 -- Standard_False, the presentation of the Interactive
401 -- Object returns to the default selection mode; the
402 -- object is displayed but no viewer will be updated.
403 -- Note that display mode 3 is only used if you have an
404 -- AIS_Textured Shape.
407 UnsetDisplayMode(me : mutable;
408 aniobj : InteractiveObject from AIS;
409 updateviewer: Boolean from Standard = Standard_True);
411 -- Unsets the display mode of seen Interactive Objects.
412 -- aMode provides the display mode index of the entity aniobj.
413 -- If updateviewer equals Standard_True, the
414 -- predominant mode aMode will overule the context mode.
415 -- If a local context is open and if updateviewer equals
416 -- Standard_False, the presentation of the Interactive
417 -- Object returns to the default selection mode; the
418 -- object is displayed but no viewer will be updated.
419 SetSelectionMode(me:mutable;
420 aniobj:InteractiveObject from AIS;
421 aMode :Integer from Standard);
423 -- Sets the selection mode of Interactive Objects.
424 -- aMode provides the selection mode index of the entity aniobj.
425 UnsetSelectionMode(me : mutable;
426 aniobj : InteractiveObject from AIS);
428 -- Removes selection mode from Interactive Objects.
429 -- aMode provides the selection mode index of the entity aniobj.
431 SetSensitivityMode(me : mutable;
432 aMode : SensitivityMode from StdSelect) is static;
434 ---Purpose: Sets the selection sensitivity mode. SM_WINDOW mode
435 -- uses the specified pixel tolerance to compute the sensitivity
436 -- value, SM_VIEW mode allows to define the sensitivity manually.
438 SensitivityMode(me) returns SensitivityMode from StdSelect;
440 ---Purpose: Returns the selection sensitivity mode.
442 SetSensitivity(me:mutable;
443 aPrecision: Real from Standard);
445 ---Purpose: Sets the sensitivity aPrecision
446 -- according to the view size for the current context or local
447 -- context if any is activated.
448 -- Sets the sensitivity aPrecision in pixels for the current context
449 -- or local context if any is activated. By default, this
450 -- sensitivity is equal to 4 pixels.
451 -- When a local context is open, the defined sensitivity applies to
452 -- this local context instead of the main context.
454 Sensitivity (me) returns Real from Standard;
456 ---Purpose: Returns the selection sensitivity value.
458 SetPixelTolerance(me:mutable;
459 aPrecision: Integer from Standard = 4);
461 ---Purpose: Define the current selection pixel sensitivity
462 -- for this context or local context if any one is activated.
463 -- Warning: When a local context is open the sensitivity is apply on it
464 -- instead on the main context.
466 PixelTolerance(me) returns Integer from Standard;
468 ---Purpose: Returns the pixel tolerance.
470 ---Category: put locations on objects....
473 SetLocation(me:mutable;
474 aniobj : InteractiveObject from AIS;
475 aLocation : Location from TopLoc);
476 ---Purpose: Puts the location aLocation on the initial graphic
477 -- representation and the selection for the entity aniobj.
478 -- In other words, aniobj is visible and selectable at a
479 -- position other than initial position.
480 -- Graphic and selection primitives are not recomputed.
481 -- To clean the view correctly, you must reset the previous location.
483 ResetLocation(me : mutable;
484 aniobj : InteractiveObject from AIS);
485 ---Purpose: Puts the entity aniobj back into its initial position.
490 aniobj : InteractiveObject from AIS)
491 returns Boolean from Standard;
493 -- Returns true if the entity aniobj has a location.
496 aniobj : InteractiveObject from AIS)
497 returns Location from TopLoc;
499 -- Returns the location of the entity aniobj.
503 SetCurrentFacingModel(me: mutable;
504 aniobj : InteractiveObject from AIS;
505 aModel: TypeOfFacingModel from Aspect = Aspect_TOFM_BOTH_SIDE);
506 ---Purpose: change the current facing model apply on polygons for
507 -- SetColor(), SetTransparency(), SetMaterial() methods
508 -- default facing model is Aspect_TOFM_TWO_SIDE. This mean that attributes is
509 -- applying both on the front and back face.
511 SetColor(me : mutable;
512 aniobj : InteractiveObject from AIS;
513 aColor : NameOfColor from Quantity;
514 updateviewer : Boolean from Standard = Standard_True);
516 SetColor(me : mutable;
517 aniobj : InteractiveObject from AIS;
518 aColor : Color from Quantity;
519 updateviewer : Boolean from Standard = Standard_True);
521 -- Sets the color of the selected entity.
522 -- If a local context is open and if updateviewer equals
523 -- Standard_False, the presentation of the Interactive
524 -- Object activates the selection mode; the object is
525 -- displayed but no viewer will be updated.
527 UnsetColor(me :mutable;
528 aniobj : InteractiveObject from AIS;
529 updateviewer : Boolean from Standard = Standard_True);
530 --- Purpose: Removes the color selection for the selected entity.
531 -- If a local context is open and if updateviewer equals
532 -- Standard_False, the presentation of the Interactive
533 -- Object activates the selection mode; the object is
534 -- displayed but no viewer will be updated.
537 aniobj : InteractiveObject from AIS;
538 aValue:Real from Standard;
539 updateviewer : Boolean from Standard = Standard_True) is virtual;
541 -- Sets the width of the entity aniobj.
542 -- If a local context is open and if updateviewer equals
543 -- Standard_False, the presentation of the Interactive
544 -- Object activates the selection mode; the object is
545 -- displayed but no viewer will be updated.
547 UnsetWidth(me:mutable;
548 aniobj : InteractiveObject from AIS;
549 updateviewer : Boolean from Standard = Standard_True) is virtual;
551 -- Removes the width setting of the entity aniobj.
552 -- If a local context is open and if updateviewer equals
553 -- Standard_False, the presentation of the Interactive
554 -- Object activates the selection mode; the object is
555 -- displayed but no viewer will be updated.
557 SetMaterial(me:mutable;
558 aniobj : InteractiveObject from AIS;
559 aName:NameOfMaterial from Graphic3d;
560 --aName:NameOfPhysicalMaterial from Graphic3d;
561 updateviewer : Boolean from Standard = Standard_True);
563 -- Provides the type of material setting for the view of
564 -- the entity aniobj.
565 -- The range of settings includes: BRASS, BRONZE,
566 -- GOLD, PEWTER, SILVER, STONE.
567 -- If a local context is open and if updateviewer equals
568 -- Standard_False, the presentation of the Interactive
569 -- Object activates the selection mode; the object is
570 -- displayed but no viewer will be updated.
572 UnsetMaterial(me : mutable;
573 anObj : InteractiveObject from AIS;
574 updateviewer : Boolean from Standard = Standard_True);
576 -- Removes the type of material setting for viewing the
578 -- If a local context is open and if updateviewer equals
579 -- Standard_False, the presentation of the Interactive
580 -- Object activates the selection mode; the object is
581 -- displayed but no viewer will be updated.
583 SetTransparency(me:mutable;
584 aniobj : InteractiveObject from AIS;
585 aValue : Real from Standard=0.6;
586 updateviewer : Boolean from Standard = Standard_True);
587 ---Purpose: Provides the transparency settings for viewing the
588 -- entity aniobj. The transparency value aValue may be
589 -- between 0.0, opaque, and 1.0, fully transparent.
590 -- If a local context is open and if updateviewer equals
591 -- Standard_False, the presentation of the Interactive
592 -- Object activates the selection mode; the object is
593 -- displayed but no viewer will be updated.
595 UnsetTransparency(me : mutable;
596 aniobj : InteractiveObject from AIS;
597 updateviewer : Boolean from Standard = Standard_True);
599 -- Removes the transparency settings for viewing the
600 -- entity aniobj. The transparency value aValue may be
601 -- between 0.0, opaque, and 1.0, fully transparent.
602 -- If a local context is open and if updateviewer equals
603 -- Standard_False, the presentation of the Interactive
604 -- Object activates the selection mode; the object is
605 -- displayed but no viewer will be updated.
607 SetLocalAttributes(me : mutable;
608 aniobj : InteractiveObject from AIS;
609 aDrawer : Drawer from Prs3d;
610 updateviewer : Boolean from Standard = Standard_True);
612 -- Sets the attributes of the interactive object aniobj by
613 -- plugging the attribute manager aDrawer into the local
614 -- context. The graphic attributes of aDrawer such as
615 -- visualization mode, color, and material, are then used
616 -- to display aniobj.
617 -- If a local context is open and if updateviewer equals
618 -- Standard_False, the presentation of the Interactive
619 -- Object activates the selection mode; the object is
620 -- displayed but no viewer will be updated.
622 UnsetLocalAttributes(me : mutable;
623 anObj : InteractiveObject from AIS;
624 updateviewer : Boolean from Standard = Standard_True);
626 -- Removes the settings for local attributes of the entity
627 -- anObj and returns to the Neutral Point attributes or
628 -- those of the previous local context.
629 -- If a local context is open and if updateviewer equals
630 -- Standard_False, the presentation of the Interactive
631 -- Object activates the selection mode; the object is
632 -- displayed but no viewer will be updated.
635 SetPolygonOffsets ( me : mutable;
636 anObj : InteractiveObject from AIS;
637 aMode : Integer from Standard;
638 aFactor : ShortReal from Standard = 1.0;
639 aUnits : ShortReal from Standard = 0.0;
640 updateviewer : Boolean from Standard = Standard_True ) is static;
641 ---Purpose: Sets up polygon offsets for the given AIS_InteractiveObject.
642 -- It simply calls anObj->SetPolygonOffsets()
645 HasPolygonOffsets ( me;
646 anObj : InteractiveObject from AIS )
647 returns Boolean from Standard
650 ---Purpose: simply calls anObj->HasPolygonOffsets()
651 ---Category: Inquire methods
654 anObj : InteractiveObject from AIS;
655 aMode : out Integer from Standard;
656 aFactor : out ShortReal from Standard;
657 aUnits : out ShortReal from Standard ) is static;
659 ---Purpose: Retrieves current polygon offsets settings for <anObj>.
660 ---Category: Inquire methods
663 SetTrihedronSize(me:mutable;aSize:Real from Standard;updateviewer: Boolean from Standard = Standard_True);
664 ---Purpose: Sets the size aSize of the trihedron.
665 -- Is used to change the default value 100 mm for
666 -- display of trihedra.
667 -- Use of this function in one of your own interactive
668 -- objects requires a call to the Compute function of the
669 -- new class. This will recalculate the presentation for
670 -- every trihedron displayed.
671 -- If a local context is open and if updateviewer equals
672 -- Standard_False, the presentation of the Interactive
673 -- Object activates the selection mode; the object is
674 -- displayed but no viewer will be updated.
676 TrihedronSize(me) returns Real from Standard;
677 ---Purpose: returns the current value of trihedron size.
680 SetPlaneSize(me:mutable;aSizeX,aSizeY:Real from Standard;updateviewer: Boolean from Standard = Standard_True);
682 -- Sets the plane size defined by the length in the X
683 -- direction XSize and that in the Y direction YSize.
684 -- If a local context is open and if updateviewer equals
685 -- Standard_False, the presentation of the Interactive
686 -- Object activates the selection mode; the object is
687 -- displayed but no viewer will be updated.
689 SetPlaneSize(me:mutable;aSize:Real from Standard;updateviewer: Boolean from Standard = Standard_True);
691 -- Sets the plane size aSize.
692 -- If a local context is open and if updateviewer equals
693 -- Standard_False, the presentation of the Interactive
694 -- Object activates the selection mode; the object is
695 -- displayed but no viewer will be updated.
696 -- May be used if PlaneSize returns true.
698 PlaneSize(me; XSize,YSize:out Real from Standard) returns Boolean from Standard;
699 ---Purpose: Returns true if the length in the X direction XSize is
700 -- the same as that in the Y direction YSize.
702 DisplayStatus (me; anIobj: InteractiveObject from AIS)
703 returns DisplayStatus from AIS;
704 ---Purpose: Returns the display status of the entity anIobj.
705 -- This will be one of the following:
706 -- - DS_Displayed displayed in main viewer
707 -- - DS_Erased hidden in main viewer
708 -- - DS_Temporary temporarily displayed
709 -- - DS_None nowhere displayed.
711 DisplayedModes (me;aniobj: InteractiveObject from AIS)
712 returns ListOfInteger from TColStd;
713 ---C++: return const &
715 -- Returns the list of active display modes for the entity aniobj.
717 IsDisplayed(me; anIobj:InteractiveObject from AIS) returns Boolean from Standard;
718 ---Purpose: Returns true if anIobj is displayed in the interactive context.
721 aniobj: InteractiveObject from AIS;
722 aMode : Integer from Standard)
723 returns Boolean from Standard;
725 IsHilighted(me;aniobj : InteractiveObject from AIS)
726 returns Boolean from Standard;
729 anIobj : InteractiveObject from AIS;
730 WithColor: out Boolean from Standard;
731 theHiCol : out NameOfColor from Quantity)
732 returns Boolean from Standard;
733 ---Purpose: if <anIObj> is hilighted with a specific color
734 -- <WithColor> will be returned TRUE
735 -- <theHiCol> gives the name of the hilightcolor
737 DisplayPriority(me;anIobj: InteractiveObject from AIS)
738 returns Integer from Standard;
740 -- Returns the display priority of the entity anIobj. This
741 -- will be display mode of anIobj if it is in the main
744 HasColor(me; aniobj: InteractiveObject from AIS)
745 returns Boolean from Standard;
747 -- Returns true if a view of the Interactive Object aniobj has color.
748 Color(me;aniobj:InteractiveObject from AIS)
749 returns NameOfColor from Quantity;
751 Color(me; aniobj: InteractiveObject from AIS;
752 acolor: out Color from Quantity);
754 -- Returns the color Color of the entity aniobj in the interactive context.
756 aniobj : InteractiveObject from AIS)
757 returns Real from Standard is virtual;
759 -- Returns the width of the Interactive Object aniobj in
760 -- the interactive context.
763 anObj : InteractiveObject from AIS;
764 astatus : in out ExtendedString from TCollection);
766 -- Returns the status astatus of the Interactive Context
767 -- for the view of the Interactive Object anObj.
769 UpdateCurrentViewer(me:mutable);
771 -- Updates the current viewer, the viewer in Neutral Point.
772 -- Objects selected when there is no open local context
773 -- are called current objects; those selected in open
774 -- local context, selected objects.
776 ---Category: General Attributes for the session
778 DisplayMode(me) returns Integer from Standard;
780 ---Purpose: Returns the display mode setting.
781 -- Note that mode 3 is only used.
783 HilightColor(me) returns NameOfColor from Quantity; -- dynamic selection
786 -- Returns the name of the color used to show
787 -- highlighted entities, that is, entities picked out by the mouse.
789 SelectionColor(me) returns NameOfColor from Quantity;
792 -- Returns the name of the color used to show selected entities.
793 -- By default, this is Quantity_NOC_GRAY80.
795 PreSelectionColor(me) returns NameOfColor from Quantity;
797 ---Purpose: Returns the name of the color used to show preselection.
798 -- By default, this is Quantity_NOC_GREEN.
800 DefaultColor(me) returns NameOfColor from Quantity;
803 -- Returns the name of the color used by default.
804 -- By default, this is Quantity_NOC_GOLDENROD.
806 SubIntensityColor(me) returns NameOfColor from Quantity;
809 -- Returns the name of the color used to show that an
810 -- object is not currently selected.
811 -- By default, this is Quantity_NOC_GRAY40.
813 SetHilightColor(me:mutable;aHiCol:NameOfColor from Quantity);
816 -- Sets the color used to show highlighted entities, that
817 -- is, entities picked by the mouse.
818 -- By default, this is Quantity_NOC_CYAN1.
820 SelectionColor(me:mutable;aCol:NameOfColor from Quantity);
823 -- Sets the color used to show selected entities.
824 -- By default, this is Quantity_NOC_GRAY80.
826 SetPreselectionColor(me:mutable;aCol:NameOfColor from Quantity);
829 -- Allows you to set the color used to show preselection.
830 -- By default, this is Quantity_NOC_GREEN.
831 -- A preselected entity is one which has been selected
832 -- as the domain of application of a function such as a fillet.
834 SetSubIntensityColor(me:mutable;aCol:NameOfColor from Quantity);
837 -- Sets the color used to show that an object is not currently selected.
838 -- By default, this is Quantity_NOC_GRAY40.
840 SetDisplayMode(me:mutable;AMode: DisplayMode from AIS;
841 updateviewer: Boolean from Standard = Standard_True);
843 -- Sets the display mode of seen Interactive Objects.
844 -- aMode provides the display mode index of the entity aniobj.
845 -- If updateviewer equals Standard_True, the
846 -- predominant mode aMode will overule the context mode.
847 -- If a local context is open and if updateviewer equals
848 -- Standard_False, the presentation of the Interactive
849 -- Object returns to the default selection mode; the
850 -- object is displayed but no viewer will be updated.
851 -- Note that display mode 3 is only used if you have an
852 -- AIS_Textured Shape.
855 SetDeviationCoefficient(me : mutable;
856 aniobj : InteractiveObject from AIS;
857 aCoefficient : Real from Standard ;
858 updateviewer : Boolean from Standard = Standard_True);
860 -- Sets the deviation coefficient aCoefficient.
861 -- Drawings of curves or patches are made with respect
862 -- to a maximal chordal deviation. A Deviation coefficient
863 -- is used in the shading display mode. The shape is
864 -- seen decomposed into triangles. These are used to
865 -- calculate reflection of light from the surface of the
866 -- object. The triangles are formed from chords of the
867 -- curves in the shape. The deviation coefficient
868 -- aCoefficient gives the highest value of the angle with
869 -- which a chord can deviate from a tangent to a curve.
870 -- If this limit is reached, a new triangle is begun.
871 -- This deviation is absolute and is set through the
872 -- method: SetMaximalChordialDeviation. The default
874 -- In drawing shapes, however, you are allowed to ask
875 -- for a relative deviation. This deviation will be:
876 -- SizeOfObject * DeviationCoefficient.
879 SetDeviationAngle(me : mutable;
880 aniobj : InteractiveObject from AIS;
881 anAngle : Real from Standard ;
882 updateviewer : Boolean from Standard = Standard_True);
884 SetAngleAndDeviation(me : mutable;
885 aniobj : InteractiveObject from AIS;
886 anAngle : Real from Standard ;
887 updateviewer : Boolean from Standard = Standard_True);
888 ---Purpose: Calls the AIS_Shape SetAngleAndDeviation to set
889 -- both Angle and Deviation coefficients
890 SetHLRDeviationCoefficient(me : mutable;
891 aniobj : InteractiveObject from AIS;
892 aCoefficient : Real from Standard ;
893 updateviewer : Boolean from Standard = Standard_True);
895 -- Sets the deviation coefficient aCoefficient for
896 -- removal of hidden lines created by different
897 -- viewpoints in different presentations. The Default value is 0.02.
899 SetHLRDeviationAngle(me : mutable;
900 aniobj : InteractiveObject from AIS;
901 anAngle : Real from Standard ;
902 updateviewer : Boolean from Standard = Standard_True);
905 SetHLRAngleAndDeviation(me : mutable;
906 aniobj : InteractiveObject from AIS;
907 anAngle : Real from Standard ;
908 updateviewer : Boolean from Standard = Standard_True);
909 ---Purpose : Computes a HLRAngle and a
910 -- HLRDeviationCoefficient by means of the angle
911 -- anAngle and sets the corresponding methods in the
912 -- default drawing tool with these values.
915 SetDeviationCoefficient(me: mutable; aCoefficient: Real from Standard);
916 ---Purpose: Sets the deviation coefficient aCoefficient.
917 -- Drawings of curves or patches are made with respect
918 -- to a maximal chordal deviation. A Deviation coefficient
919 -- is used in the shading display mode. The shape is
920 -- seen decomposed into triangles. These are used to
921 -- calculate reflection of light from the surface of the
922 -- object. The triangles are formed from chords of the
923 -- curves in the shape. The deviation coefficient
924 -- aCoefficient gives the highest value of the angle with
925 -- which a chord can deviate from a tangent to a curve.
926 -- If this limit is reached, a new triangle is begun.
927 -- This deviation is absolute and is set through the
928 -- method: SetMaximalChordialDeviation. The default
930 -- In drawing shapes, however, you are allowed to ask
931 -- for a relative deviation. This deviation will be:
932 -- SizeOfObject * DeviationCoefficient.
935 DeviationCoefficient(me) returns Real from Standard ;
936 ---Purpose: Returns the deviation coefficient.
937 -- Drawings of curves or patches are made with respect
938 -- to a maximal chordal deviation. A Deviation coefficient
939 -- is used in the shading display mode. The shape is
940 -- seen decomposed into triangles. These are used to
941 -- calculate reflection of light from the surface of the
942 -- object. The triangles are formed from chords of the
943 -- curves in the shape. The deviation coefficient gives
944 -- the highest value of the angle with which a chord can
945 -- deviate from a tangent to a curve. If this limit is
946 -- reached, a new triangle is begun.
947 -- This deviation is absolute and is set through
948 -- Prs3d_Drawer::SetMaximalChordialDeviation. The
949 -- default value is 0.001.
950 -- In drawing shapes, however, you are allowed to ask
951 -- for a relative deviation. This deviation will be:
952 -- SizeOfObject * DeviationCoefficient.
954 SetDeviationAngle(me : mutable; anAngle : Real from Standard) ;
955 ---Purpose: default 6degrees
956 DeviationAngle(me) returns Real from Standard ;
958 SetHLRDeviationCoefficient(me: mutable; aCoefficient: Real from Standard);
959 ---Purpose: Sets the deviation coefficient aCoefficient for
960 -- removal of hidden lines created by different
961 -- viewpoints in different presentations. The Default value is 0.02.
962 HLRDeviationCoefficient(me) returns Real from Standard ;
964 -- Returns the real number value of the hidden line
965 -- removal deviation coefficient.
966 -- A Deviation coefficient is used in the shading display
967 -- mode. The shape is seen decomposed into triangles.
968 -- These are used to calculate reflection of light from the
969 -- surface of the object.
970 -- The triangles are formed from chords of the curves in
971 -- the shape. The deviation coefficient give the highest
972 -- value of the angle with which a chord can deviate
973 -- from a tangent to a curve. If this limit is reached, a
974 -- new triangle is begun.
975 -- To find the hidden lines, hidden line display mode
976 -- entails recalculation of the view at each different
977 -- projector perspective.
978 -- Because hidden lines entail calculations of more than
979 -- usual complexity to decompose them into these
980 -- triangles, a deviation coefficient allowing greater
981 -- tolerance is used. This increases efficiency in calculation.
982 -- The Default value is 0.02.
984 SetHLRAngle(me: mutable; anAngle: Real from Standard);
985 ---Purpose: Sets the HLR angle anAngle.
986 HLRAngle(me) returns Real from Standard
989 -- Returns the real number value of the deviation angle
990 -- in hidden line removal views in this interactive context.
991 -- The default value is 20*PI/180.
993 SetHLRAngleAndDeviation(me: mutable; anAngle: Real from Standard);
994 ---Purpose: compute with anangle a HLRAngle and a HLRDeviationCoefficient
995 -- and set them in myHLRAngle and in myHLRDeviationCoefficient
996 -- of myDefaultDrawer ;
997 -- anAngle is in radian ; ( 1 deg < angle in deg < 20 deg)
999 HiddenLineAspect(me) returns LineAspect from Prs3d
1000 ---Purpose: Initializes hidden line aspect in the default drawing tool, or Drawer.
1001 -- The default values are:
1002 -- Color: Quantity_NOC_YELLOW
1003 -- Type of line: Aspect_TOL_DASH
1007 SetHiddenLineAspect(me; anAspect: LineAspect from Prs3d)
1010 -- Sets the hidden line aspect anAspect.
1011 -- anAspect defines display attributes for hidden lines in
1014 DrawHiddenLine(me) returns Boolean from Standard
1015 ---Purpose: returns Standard_True if the hidden lines are to be drawn.
1016 -- By default the hidden lines are not drawn.
1019 EnableDrawHiddenLine(me)
1023 DisableDrawHiddenLine(me)
1028 SetIsoNumber(me : mutable;
1029 NbIsos : Integer from Standard;
1030 WhichIsos : TypeOfIso from AIS = AIS_TOI_Both);
1031 ---Purpose: Sets the number of U and V isoparameters displayed.
1033 IsoNumber(me : mutable;
1034 WhichIsos : TypeOfIso from AIS = AIS_TOI_Both)
1035 returns Integer from Standard;
1036 ---Purpose: Returns the number of U and V isoparameters displayed.
1039 IsoOnPlane(me:mutable; SwitchOn :Boolean from Standard);
1040 ---Purpose: Returns True if drawing isoparameters on planes is enabled.
1041 IsoOnPlane(me) returns Boolean from Standard;
1042 ---Purpose: Returns True if drawing isoparameters on planes is enabled.
1044 ---Purpose: if <forUIsos> = False,
1046 SetSelectedAspect ( me : mutable; anAspect: any BasicAspect from Prs3d;
1047 globalChange: Boolean from Standard = Standard_True;
1048 updateViewer: Boolean from Standard = Standard_True)
1051 ---Purpose: Sets the graphic basic aspect to the current presentation of
1052 -- ALL selected objects.
1053 -- When <globalChange> is TRUE , the full object presentation
1055 -- When <globalChange> is FALSE , only the current group
1056 -- of the object presentation is changed.
1057 -- Updates the viewer when <updateViewer> is TRUE
1058 ---Category: Graphic attributes management
1060 ---Category: GRAPHIC DETECTION / SELECTION
1062 MoveTo (me : mutable;
1063 theXPix, theYPix : Integer from Standard;
1064 theView : View from V3d;
1065 theToRedrawOnUpdate : Boolean from Standard = Standard_True)
1066 returns StatusOfDetection from AIS;
1067 ---Purpose: Relays mouse position in pixels theXPix and theYPix to the interactive context selectors.
1068 -- This is done by the view theView passing this position to the main viewer and updating it.
1069 -- Functions in both Neutral Point and local contexts.
1070 -- If theToRedrawOnUpdate is set to false, callee should call RedrawImmediate() to highlight detected object.
1072 HasNextDetected(me) returns Boolean from Standard;
1073 ---Purpose: returns True if other entities were detected in the
1074 -- last mouse detection
1076 HilightNextDetected (me : mutable;
1077 theView : View from V3d;
1078 theToRedrawImmediate : Boolean from Standard = Standard_True)
1079 returns Integer from Standard;
1080 ---Purpose: if more than 1 object is detected by the selector,
1081 -- only the "best" owner is hilighted at the mouse position.
1082 -- This Method allows the user to hilight one after another
1083 -- the other detected entities.
1084 -- if The method select is called, the selected entity
1085 -- will be the hilighted one!
1086 -- returns the Rank of hilighted entity
1087 -- WARNING : Loop Method. When all the detected entities
1088 -- have been hilighted , the next call will hilight
1089 -- the first one again
1091 HilightPreviousDetected (me : mutable;
1092 theView : View from V3d;
1093 theToRedrawImmediate : Boolean from Standard = Standard_True)
1094 returns Integer from Standard;
1095 ---Purpose: Same as previous methods in reverse direction...
1097 Select(me:mutable;XPMin,YPMin,XPMax,YPMax:Integer from Standard;aView:View from V3d;
1098 updateviewer: Boolean from Standard = Standard_True)
1099 returns StatusOfPick from AIS;
1100 ---Purpose: Selects everything found in the bounding rectangle
1101 -- defined by the pixel minima and maxima, XPMin,
1102 -- YPMin, XPMax, and YPMax in the view, aView
1103 -- The objects detected are passed to the main viewer,
1104 -- which is then updated.
1106 Select(me:mutable; Polyline:Array1OfPnt2d from TColgp;aView:View from V3d;
1107 updateviewer: Boolean from Standard = Standard_True)
1108 returns StatusOfPick from AIS;
1109 ---Purpose: polyline selection; clears the previous picked list
1111 Select(me : mutable;
1112 updateviewer: Boolean from Standard = Standard_True)
1113 returns StatusOfPick from AIS;
1114 ---Purpose: Stores and hilights the previous detected; Unhilights
1115 -- the previous picked.
1117 ShiftSelect(me : mutable;
1118 updateviewer : Boolean from Standard = Standard_True)
1119 returns StatusOfPick from AIS;
1120 ---Purpose: adds the last detected to the list of previous picked.
1121 -- if the last detected was already declared as picked,
1122 -- removes it from the Picked List.
1124 ShiftSelect( me : mutable; Polyline : Array1OfPnt2d from TColgp; aView : View from V3d;
1125 updateviewer : Boolean from Standard = Standard_True)
1126 returns StatusOfPick from AIS;
1127 ---Purpose: adds the last detected to the list of previous picked.
1128 -- if the last detected was already declared as picked,
1129 -- removes it from the Picked List.
1132 ShiftSelect(me:mutable;XPMin,YPMin,XPMax,YPMax:Integer from Standard;aView:View from V3d;
1133 updateviewer : Boolean from Standard = Standard_True)
1134 returns StatusOfPick from AIS;
1135 ---Purpose: rectangle of selection ; adds new detected entities into the
1136 -- picked list, removes the detected entities that were already stored...
1138 SetToHilightSelected(me: mutable; toHilight: Boolean from Standard);
1140 ---Purpose: Specify whether selected object must be hilighted when mouse cursor
1141 --- is moved above it (in MoveTo method). By default this value is false and
1142 --- selected object is not hilighted in this case.
1144 ToHilightSelected(me) returns Boolean from Standard;
1146 ---Purpose: Return value specified whether selected object must be hilighted
1147 --- when mouse cursor is moved above it
1150 ---Category: non interactive actions about Selection
1151 -- 2 categories are distinct:
1152 -- - Current Objects
1153 -- - Selected Objects
1154 -- a Current object is the object picked
1155 -- at neutral Point.
1156 -- The Selected objects are objects picked
1157 -- when a local context is opened
1160 SetCurrentObject(me:mutable;
1161 aniobj: InteractiveObject from AIS;
1162 updateviewer : Boolean from Standard = Standard_True);
1164 -- Updates the view of the current object in open context.
1165 -- Objects selected when there is no open local context
1166 -- are called current objects; those selected in open
1167 -- local context, selected objects.
1168 -- If a local context is open and if updateviewer equals
1169 -- Standard_False, the presentation of the Interactive
1170 -- Object activates the selection mode; the object is
1171 -- displayed but no viewer will be updated.
1173 AddOrRemoveCurrentObject(me:mutable;
1174 aniobj : InteractiveObject from AIS;
1175 updateviewer : Boolean from Standard = Standard_True);
1177 -- Allows you to add a current object to the list of current
1178 -- objects or remove it from that list.
1179 -- Objects selected when there is no open local context
1180 -- are called current objects; those selected in open
1181 -- local context, selected objects.
1182 -- If a local context is open and if updateviewer equals
1183 -- Standard_False, the presentation of the Interactive
1184 -- Object activates the selection mode; the object is
1185 -- displayed but no viewer will be updated.
1186 UpdateCurrent (me:mutable);
1187 ---Purpose: Updates the list of current objects, i.e. hilights new
1188 -- current objects, removes hilighting from former current objects.
1189 -- Objects selected when there is no open local context
1190 -- are called current objects; those selected in open
1191 -- local context, selected objects.
1194 WasCurrentTouched(me) returns Boolean from Standard;
1196 -- Returns the current selection touched by the cursor.
1197 -- Objects selected when there is no open local context
1198 -- are called current objects; those selected in open
1199 -- local context, selected objects.
1202 SetOkCurrent(me:mutable);
1205 IsCurrent(me;aniobj: InteractiveObject from AIS) returns Boolean from Standard;
1207 -- Returns true if there is a non-null interactive object in Neutral Point.
1208 -- Objects selected when there is no open local context
1209 -- are called current objects; those selected in open
1210 -- local context, selected objects.
1212 InitCurrent(me:mutable);
1214 -- Initializes a scan of the current selected objects in
1216 -- Objects selected when there is no open local context
1217 -- are called current objects; those selected in open
1218 -- local context, selected objects.
1220 MoreCurrent(me) returns Boolean from Standard;
1222 -- Returns true if there is another object found by the
1223 -- scan of the list of current objects.
1224 -- Objects selected when there is no open local context
1225 -- are called current objects; those selected in open
1226 -- local context, selected objects.
1228 NextCurrent(me:mutable);
1230 -- Continues the scan to the next object in the list of
1232 -- Objects selected when there is no open local context
1233 -- are called current objects; those selected in open
1234 -- local context, selected objects.
1236 Current(me) returns InteractiveObject from AIS;
1238 -- Returns the current interactive object.
1239 -- Objects selected when there is no open local context
1240 -- are called current objects; those selected in open
1241 -- local context, selected objects.
1243 NbCurrents(me:mutable) returns Integer from Standard;
1245 FirstCurrentObject(me:mutable) returns InteractiveObject from AIS;
1247 -- Returns the first current object in the list of current objects.
1248 -- Objects selected when there is no open local context
1249 -- are called current objects; those selected in open
1250 -- local context, selected objects.
1252 HilightCurrents(me : mutable;
1253 updateviewer : Boolean from Standard=Standard_True);
1255 --- Highlights current objects.
1256 -- Objects selected when there is no open local context
1257 -- are called current objects; those selected in open
1258 -- local context, selected objects.
1259 -- If a local context is open and if updateviewer equals
1260 -- Standard_False, the presentation of the Interactive
1261 -- Object activates the selection mode; the object is
1262 -- displayed but no viewer will be updated.
1264 UnhilightCurrents(me : mutable;
1265 updateviewer : Boolean from Standard=Standard_True);
1267 -- Removes highlighting from current objects.
1268 -- Objects selected when there is no open local context
1269 -- are called current objects; those selected in open
1270 -- local context, selected objects.
1271 -- If a local context is open and if updateviewer equals
1272 -- Standard_False, the presentation of the Interactive
1273 -- Object activates the selection mode; the object is
1274 -- displayed but no viewer will be updated.
1276 ClearCurrents(me:mutable;
1277 updateviewer : Boolean from Standard=Standard_True);
1279 -- Empties previous current objects in order to get the
1280 -- current objects detected by the selector using
1282 -- Objects selected when there is no open local context
1283 -- are called current objects; those selected in open
1284 -- local context, selected objects.
1285 -- If a local context is open and if updateviewer equals
1286 -- Standard_False, the presentation of the Interactive
1287 -- Object activates the selection mode; the object is
1288 -- displayed but no viewer will be updated.
1290 SetSelected(me:mutable;aniObj: InteractiveObject from AIS;
1291 updateviewer : Boolean from Standard=Standard_True);
1292 ---Purpose: Puts the interactive object aniObj in the list of
1293 -- selected objects.
1294 -- If a local context is open and if updateviewer equals
1295 -- Standard_False, the presentation of the Interactive
1296 -- Object activates the selection mode; the object is
1297 -- displayed but no viewer will be updated.
1299 SetSelectedCurrent(me:mutable);
1300 ---Purpose: puts the selected list in the current objects List.
1301 UpdateSelected(me:mutable;
1302 updateviewer : Boolean from Standard=Standard_True);
1303 ---Purpose: updates the list of selected objects
1304 -- i.e. hilights the new selected
1305 -- unhilights old selected objects
1306 AddOrRemoveSelected(me:mutable;
1307 aniobj : InteractiveObject from AIS;
1308 updateviewer : Boolean from Standard=Standard_True);
1309 ---Purpose:Allows you to add a selected object to the list of
1310 -- selected objects or remove it from that list. This entity
1311 -- can be an Interactive Object aniobj or its owner
1312 -- aShape as can be seen in the two syntaxes above.
1313 -- Objects selected when there is no open local context
1314 -- are called current objects; those selected in open
1315 -- local context, selected objects.
1316 -- If a local context is open and if updateviewer equals
1317 -- Standard_False, the presentation of the Interactive
1318 -- Object activates the selection mode; the object is
1319 -- displayed but no viewer will be updated.
1321 HilightSelected(me : mutable;
1322 updateviewer : Boolean from Standard=Standard_True);
1324 -- Highlights selected objects.
1325 -- Objects selected when there is no open local context
1326 -- are called current objects; those selected in open
1327 -- local context, selected objects.
1328 -- If a local context is open and if updateviewer equals
1329 -- Standard_False, the presentation of the Interactive
1330 -- Object activates the selection mode; the object is
1331 -- displayed but no viewer will be updated.
1333 UnhilightSelected(me : mutable;
1334 updateviewer : Boolean from Standard=Standard_True);
1336 -- Removes highlighting from selected objects.
1337 -- Objects selected when there is no open local context
1338 -- are called current objects; those selected in open
1339 -- local context, selected objects.
1340 -- If a local context is open and if updateviewer equals
1341 -- Standard_False, the presentation of the Interactive
1342 -- Object activates the selection mode; the object is
1343 -- displayed but no viewer will be updated.
1345 ClearSelected(me:mutable;
1346 updateviewer : Boolean from Standard=Standard_True);
1348 -- Empties previous selected objects in order to get the
1349 -- selected objects detected by the selector using
1351 -- Objects selected when there is no open local context
1352 -- are called current objects; those selected in open
1353 -- local context, selected objects.
1354 -- If a local context is open and if updateviewer equals
1355 -- Standard_False, the presentation of the Interactive
1356 -- Object activates the selection mode; the object is
1357 -- displayed but no viewer will be updated.
1359 AddOrRemoveSelected(me:mutable;aShape:Shape from TopoDS;
1360 updateviewer : Boolean from Standard=Standard_True);
1361 ---Purpose: No right to Add a selected Shape (Internal Management
1362 -- of shape Selection).
1363 -- A Previous selected shape may only be removed.
1366 AddOrRemoveSelected(me:mutable;anOwner : EntityOwner from SelectMgr;
1367 updateviewer: Boolean from Standard=Standard_True);
1368 ---Purpose: allows to add/remove in the selected list the entities
1369 -- represented by <anOwner> in the selection process.
1371 ---Category: Selection Process
1373 IsSelected(me;aniobj: InteractiveObject from AIS) returns Boolean from Standard;
1375 -- Finds the selected object aniobj in local context and
1376 -- returns its name.
1377 -- Objects selected when there is no open local context
1378 -- are called current objects; those selected in open
1379 -- local context, selected objects.
1381 InitSelected(me:mutable);
1383 -- Initializes a scan of the selected objects in local context.
1384 -- Objects selected when there is no open local context
1385 -- are called current objects; those selected in open
1386 -- local context, selected objects.
1388 MoreSelected(me) returns Boolean from Standard;
1390 -- Returns true if there is another object found by the
1391 -- scan of the list of selected objects.
1392 -- Objects selected when there is no open local context
1393 -- are called current objects; those selected in open
1394 -- local context, selected objects.
1397 NextSelected(me:mutable);
1399 -- Continues the scan to the next object in the list of
1400 -- selected objects.
1401 -- Objects selected when there is no open local context
1402 -- are called current objects; those selected in open
1403 -- local context, selected objects.
1405 NbSelected(me:mutable) returns Integer from Standard;
1407 HasSelectedShape(me) returns Boolean from Standard;
1409 -- Returns true if the interactive context has a shape
1410 -- selected in it which results from the decomposition of
1411 -- another entity in local context.
1412 -- If HasSelectedShape returns true, SelectedShape
1413 -- returns the shape which has been shown to be
1414 -- selected. Interactive returns the Interactive Object
1415 -- from which the shape has been selected.
1416 -- If HasSelectedShape returns false, Interactive
1417 -- returns the interactive entity selected by the click of the mouse.
1419 SelectedShape(me) returns Shape from TopoDS;
1421 -- Returns the selected shape in the open local context.
1422 -- Objects selected when there is no open local context
1423 -- are called current objects; those selected in open
1424 -- local context, selected objects.
1426 SelectedOwner(me) returns EntityOwner from SelectMgr;
1428 -- Returns the owner of the selected entity resulting
1429 -- from the decomposition of another entity in local context.
1431 EntityOwners(me; theOwners : out IndexedMapOfOwner from SelectMgr;
1432 theIObj : InteractiveObject from AIS;
1433 theMode : Integer from Standard = -1);
1434 ---Purpose: Returns a collection containing all entity owners
1435 --- created for the interactive object <theIObj> in
1436 --- the selection mode theMode (in all active modes
1437 --- if the Mode == -1)
1439 Interactive(me) returns InteractiveObject from AIS;
1440 ---Purpose: Returns the location of the selected Interactive Object.
1441 SelectedInteractive(me) returns InteractiveObject from AIS;
1443 HasApplicative(me) returns Boolean from Standard;
1445 -- Returns true if the applicative object has an owner
1446 -- from Interactive attributed to it.
1448 Applicative(me) returns Transient from Standard;
1450 -- Returns the owner of the applicative entity detected
1451 -- in interactive context. The owner can be a shape for
1452 -- a set of sub-shapes or a sub-shape for sub-shapes
1453 -- which it is composed of.
1455 ---Category: information about detection...
1457 HasDetected (me) returns Boolean from Standard;
1459 -- Returns true if there is a mouse-detected entity in local context.
1460 -- If there is no open local context, the objects selected
1461 -- are called current objects; selected objects if there is
1462 -- one. Iterators allow entities to be recovered in either
1463 -- case. This method is one of a set which allows you to
1464 -- manipulate the objects which have been placed in these two lists.
1466 HasDetectedShape(me) returns Boolean from Standard;
1468 -- Returns true if there is a detected shape in local context.
1469 -- If there is no open local context, the objects selected
1470 -- are called current objects; selected objects if there is
1471 -- one. Iterators allow entities to be recovered in either
1472 -- case. This method is one of a set which allows you to
1473 -- manipulate the objects which have been placed in these two lists.
1475 DetectedShape (me) returns Shape from TopoDS;
1477 -- Returns the shape detected in local context.
1478 -- If there is no open local context, the objects selected
1479 -- are called current objects; selected objects if there is
1480 -- one. Iterators allow entities to be recovered in either
1481 -- case. This method is one of a set which allows you to
1482 -- manipulate the objects which have been placed in these two lists.
1483 ---C++: return const &
1485 DetectedInteractive(me) returns InteractiveObject from AIS;
1487 -- Returns the interactive objects last detected in open context.
1488 -- If there is no open local context, the objects selected
1489 -- are called current objects; selected objects if there is
1490 -- one. Iterators allow entities to be recovered in either
1491 -- case. This method is one of a set which allows you to
1492 -- manipulate the objects which have been placed in these two lists.
1494 DetectedOwner(me) returns EntityOwner from SelectMgr;
1495 ---Purpose: returns the owner of the detected sensitive primitive.
1497 InitDetected(me: mutable);
1499 -- Initialization for iteration through mouse-detected objects in
1500 -- interactive context or in local context if it is opened.
1501 MoreDetected(me) returns Boolean from Standard;
1503 -- @return true if there is more mouse-detected objects after the current one
1504 -- during iteration through mouse-detected interactive objects.
1505 NextDetected(me: mutable);
1507 -- Gets next current object during iteration through mouse-detected
1508 -- interactive objects.
1509 DetectedCurrentShape(me) returns Shape from TopoDS;
1510 ---C++: return const &
1512 -- @return current mouse-detected shape or empty (null) shape, if current interactive object
1513 -- is not a shape (AIS_Shape) or there is no current mouse-detected interactive object at all.
1514 DetectedCurrentObject(me) returns InteractiveObject from AIS;
1516 -- @return current mouse-detected interactive object or null object if there is no current detected.
1519 ---Category: SPECIFIC LOCAL CONTEXT ACTIONS.
1523 OpenLocalContext(me : mutable;
1524 UseDisplayedObjects : Boolean from Standard = Standard_True;
1525 AllowShapeDecomposition : Boolean from Standard = Standard_True;
1526 AcceptEraseOfObjects : Boolean from Standard = Standard_False;
1527 BothViewers : Boolean from Standard = Standard_False)
1528 returns Integer from Standard;
1530 -- Opens local contexts and specifies how this is to be
1531 -- done. The options listed above function in the following manner:
1532 -- - UseDisplayedObjects -allows you to load or not
1533 -- load the interactive objects visualized at Neutral
1534 -- Point in the local context which you open. If false,
1535 -- the local context is empty after being opened. If
1536 -- true, the objects at Neutral Point are loaded by their
1537 -- default selection mode.
1538 -- - AllowShapeDecomposition -AIS_Shape allows or
1539 -- prevents decomposition in standard shape location
1540 -- mode of objects at Neutral Point which are
1541 -- type-"privileged". This Flag is only taken into
1542 -- account when UseDisplayedObjects is true.
1543 -- - AcceptEraseOfObjects -authorises other local
1544 -- contexts to erase the interactive objects present in
1545 -- this context. This option is rarely used.
1546 -- - BothViewers - Has no use currently defined.
1547 -- This method returns the index of the created local
1548 -- context. It should be kept and used to close the context.
1549 -- Opening a local context allows you to prepare an
1550 -- environment for temporary presentations and
1551 -- selections which will disappear once the local context is closed.
1552 -- You can open several local contexts, but only the last
1553 -- one will be active.
1557 CloseLocalContext(me:mutable;
1558 Index : Integer from Standard = -1;
1559 updateviewer:Boolean from Standard=Standard_True);
1560 ---Purpose: Allows you to close local contexts. For greater
1561 -- security, you should close the context with the
1562 -- index Index given on opening.
1563 -- When you close a local context, the one before,
1564 -- which is still on the stack, reactivates. If none is
1565 -- left, you return to Neutral Point.
1566 -- If a local context is open and if updateviewer
1567 -- equals Standard_False, the presentation of the
1568 -- Interactive Object activates the selection mode; the
1569 -- object is displayed but no viewer will be updated.
1571 -- When the index isn't specified, the current context
1572 -- is closed. This option can be dangerous, as other
1573 -- Interactive Functions can open local contexts
1574 -- without necessarily warning the user.
1576 IndexOfCurrentLocal(me) returns Integer from Standard;
1577 ---Purpose: returns -1 if no opened local context.
1579 CloseAllContexts (me:mutable;updateviewer:Boolean from Standard = Standard_True);
1581 -- Allows you to close all local contexts at one go and
1582 -- return to Neutral Point.
1583 -- If a local context is open and if updateviewer equals
1584 -- Standard_False, the presentation of the Interactive
1585 -- Object activates the selection mode; the object is
1586 -- displayed but no viewer will be updated.
1588 ResetOriginalState(me:mutable;updateviewer:Boolean from Standard = Standard_True);
1590 ---Purpose: to be used only with no opened
1591 -- local context.. displays and activates objects in their
1592 -- original state before local contexts were opened...
1594 ClearLocalContext(me:mutable;TheMode : ClearMode from AIS = AIS_CM_All);
1595 ---Purpose: clears Objects/Filters/Activated Modes list in the current opened
1599 UseDisplayedObjects(me:mutable);
1600 NotUseDisplayedObjects(me:mutable);
1601 ---Purpose: when a local Context is opened, one is able to
1602 -- use/not use the displayed objects at neutral point
1607 ---Category: Immediate Mode : Used For Simulation
1610 -- 1] NO UPDATE OF VIEWER MUST BE DONE
1611 -- BETWEEN BeginImmediateDraw() and EndImmediateDraw()
1612 -- 2] Available only Inside Opened Local Contexts.
1613 -- 3} During the Immediate Mode Displays, no Selection
1618 -- 1. BeginImmediateDraw()
1619 -- 2. ImmediateAdd (Iobj,mode)
1621 -- 4.EndImmediateDraw() draws all the stored objects...
1624 BeginImmediateDraw (me : mutable)
1625 returns Boolean from Standard;
1626 ---Purpose: initializes the list of presentations to be displayed
1627 -- returns False if No Local COnte
1629 ImmediateAdd (me : mutable;
1630 theObj : InteractiveObject from AIS;
1631 theMode : Integer from Standard = 0)
1632 returns Boolean from Standard;
1633 ---Purpose: returns True if <anIObj> has been stored in the list.
1635 EndImmediateDraw (me : mutable;
1636 theView : View from V3d)
1637 returns Boolean from Standard;
1638 ---Purpose: returns True if the immediate display has been done.
1640 EndImmediateDraw (me : mutable)
1641 returns Boolean from Standard;
1642 ---Purpose: Uses the First Active View of Main Viewer!
1643 -- returns True if the immediate display has been done.
1645 IsImmediateModeOn(me) returns Boolean from Standard;
1647 ---Category: Activation/Deactivation of Selection Modes.
1649 SetAutomaticHilight(me:mutable;aStatus:Boolean);
1651 -- Sets the highlighting status aStatus of detected and
1652 -- selected entities.
1653 -- Whether you are in Neutral Point or local context, this
1654 -- is automatically managed by the Interactive Context.
1655 -- This function allows you to disconnect the automatic mode.
1656 AutomaticHilight(me) returns Boolean from Standard;
1658 -- Returns true if the automatic highlight mode is active
1659 -- in an open context.
1661 SetZDetection(me:mutable; aStatus:Boolean = Standard_False);
1662 ---Purpose: Enables/Disables the Z detection.
1663 -- If TRUE the detection echo can be partially hidden by the
1665 ---Warning: The hidden part of the object is not visible but
1668 ZDetection(me) returns Boolean;
1669 ---Purpose: Retrieves the Z detection state.
1671 Activate(me : mutable;
1672 anIobj : InteractiveObject from AIS;
1673 aMode : Integer from Standard = 0);
1674 ---Purpose: Activates the selection mode aMode whose index is
1675 -- given, for the given interactive entity anIobj.
1678 Deactivate(me :mutable;
1679 anIObj : InteractiveObject from AIS);
1680 ---Purpose: Deactivates all the activated selection modes
1683 Deactivate(me : mutable;
1684 anIobj : InteractiveObject from AIS;
1685 aMode : Integer from Standard);
1687 -- Deactivates all the activated selection modes of the
1688 -- interactive object anIobj with a given selection mode aMode.
1691 anIobj : InteractiveObject from AIS;
1692 theList : in out ListOfInteger from TColStd);
1694 -- Returns the list of activated selection modes in an open context.
1696 SetShapeDecomposition( me:mutable;
1697 anIobj : InteractiveObject from AIS;
1698 aStatus: Boolean from Standard);
1699 ---Purpose: to be Used only with opened local context and
1700 -- if <anIobj> is of type shape...
1701 -- if <aStatus> = True <anIobj> will be sensitive to
1702 -- shape selection modes activation.
1703 -- = False, <anIobj> will not be senstive
1707 SetTemporaryAttributes(me : mutable;
1708 anObj : InteractiveObject from AIS;
1709 aDrawer : Drawer from Prs3d;
1710 updateviewer : Boolean = Standard_True);
1713 -- Sets the temporary graphic attributes of the entity
1714 -- anObj. These are provided by the attribute manager
1715 -- aDrawer and are valid for a particular local context only.
1716 -- If a local context is open and if updateviewer equals
1717 -- Standard_False, the presentation of the Interactive
1718 -- Object activates the selection mode; the object is
1719 -- displayed but no viewer will be updated.
1721 SubIntensityOn(me : mutable;
1722 aniobj : InteractiveObject from AIS;
1723 updateviewer : Boolean from Standard =Standard_True);
1725 -- Highlights, and removes highlights from, the displayed
1726 -- object aniobj which is displayed at Neutral Point with
1727 -- subintensity color; available only for active local
1728 -- context. There is no effect if there is no local context.
1729 -- If a local context is open and if updateviewer equals
1730 -- Standard_False, the presentation of the Interactive
1731 -- Object activates the selection mode; the object is
1732 -- displayed but no viewer will be updated.
1734 SubIntensityOff(me : mutable;
1735 aniobj : InteractiveObject from AIS;
1736 updateviewer : Boolean from Standard =Standard_True);
1738 -- Removes the subintensity option for the entity aniobj.
1739 -- If a local context is open and if updateviewer equals
1740 -- Standard_False, the presentation of the Interactive
1741 -- Object activates the selection mode; the object is
1742 -- displayed but no viewer will be updated.
1744 SubIntensityOn(me:mutable;
1745 updateviewer : Boolean from Standard = Standard_True);
1746 ---Purpose: hilights/unhilights displayed objects which are displayed at
1747 -- neutral state with subintensity color;
1748 -- available only for active local context.
1749 -- No effect if no local context.
1752 SubIntensityOff(me:mutable;
1753 updateviewer : Boolean from Standard = Standard_True);
1754 ---Purpose: removes subintensity option for all objects.
1762 ---Category: FILTERS
1767 AddFilter(me :mutable; aFilter : Filter from SelectMgr);
1768 ---Purpose: Allows you to add the filter aFilter to Neutral Point or
1769 -- to a local context if one or more selection modes have been activated.
1770 -- Only type filters may be active in Neutral Point.
1772 RemoveFilter(me:mutable;aFilter : Filter from SelectMgr);
1775 -- Removes a filter from Neutral Point or a local context
1776 -- if one or more selection modes have been activated.
1777 -- Only type filters are activated in Neutral Point.
1779 RemoveFilters(me:mutable);
1780 ---Purpose: Remove a filter to Neutral Point or a local context if
1781 -- one or more selection modes have been activated.
1782 -- Only type filters are active in Neutral Point.
1784 ActivateStandardMode(me:mutable; aStandardActivation : ShapeEnum from TopAbs);
1785 ---Purpose: Provides an alternative to the Display methods when
1786 -- activating specific selection modes. This has the
1787 -- effect of activating the corresponding selection mode
1788 -- aStandardActivation for all objects in Local Context
1789 -- which accept decomposition into sub-shapes.
1790 -- Every new Object which has been loaded into the
1791 -- interactive context and which answers these
1792 -- decomposition criteria is automatically activated
1793 -- according to these modes.
1795 -- If you have opened a local context by loading an
1796 -- object with the default options
1797 -- (<AllowShapeDecomposition >= Standard_True), all
1798 -- objects of the "Shape" type are also activated with
1799 -- the same modes. You can act on the state of these
1800 -- "Standard" objects by using SetShapeDecomposition(Status).
1803 DeactivateStandardMode (me:mutable; aStandardActivation : ShapeEnum from TopAbs);
1805 -- Provides an alternative to the Display methods when
1806 -- deactivating specific selection modes. This has the
1807 -- effect of deactivating the corresponding selection
1808 -- mode aStandardActivation for all objects in Local
1809 -- Context which accept decomposition into sub-shapes.
1811 ActivatedStandardModes(me) returns ListOfInteger from TColStd;
1813 -- Returns the list of activated standard selection modes
1814 -- available in a local context.
1815 ---C++: return const&
1817 Filters(me) returns ListOfFilter from SelectMgr;
1819 -- Returns the list of filters active in a local context.
1820 ---C++: return const&
1823 ---Category: INFORMATION METHODS - GET FIELDS
1825 DefaultDrawer(me) returns any Drawer from Prs3d;
1827 -- Returns the default attribute manager.
1828 -- This contains all the color and line attributes which
1829 -- can be used by interactive objects which do not have
1830 -- their own attributes.
1832 ---C++: return const &
1834 CurrentViewer(me) returns any Viewer from V3d;
1835 ---C++: return const &
1837 ---Purpose: Returns the current viewer.
1839 DisplayedObjects(me;
1840 aListOfIO : in out ListOfInteractive from AIS;
1841 OnlyFromNeutral : Boolean from Standard = Standard_False);
1842 ---Purpose: Returns the list of displayed objects of a particular
1843 -- Type WhichKind and Signature WhichSignature. By
1844 -- Default, WhichSignature equals -1. This means that
1845 -- there is a check on type only.
1847 DisplayedObjects(me;
1848 WhichKind :KindOfInteractive from AIS;
1849 WhichSignature :Integer from Standard;
1850 aListOfIO : in out ListOfInteractive from AIS;
1851 OnlyFromNeutral : Boolean from Standard = Standard_False);
1852 ---Purpose: gives the list of displayed objects of a particular
1853 -- Type and signature.
1854 -- by Default, <WhichSignature> = -1 means
1855 -- control only on <WhichKind>.
1857 ErasedObjects (me;theListOfIO : in out ListOfInteractive from AIS);
1859 -- Returns the list theListOfIO of erased objects (hidden objects)
1860 -- particular Type WhichKind and Signature WhichSignature.
1861 -- By Default, WhichSignature equals 1. This means
1862 -- that there is a check on type only.
1865 WhichKind :KindOfInteractive from AIS;
1866 WhichSignature :Integer from Standard;
1867 theListOfIO : in out ListOfInteractive from AIS);
1868 ---Purpose: gives the list of erased objects (hidden objects)
1869 -- Type and signature
1870 -- by Default, <WhichSignature> = -1 means
1871 -- control only on <WhichKind>.
1873 ObjectsByDisplayStatus (me;theStatus : DisplayStatus from AIS;
1874 theListOfIO : in out ListOfInteractive from AIS);
1876 -- Returns the list theListOfIO of objects with indicated display status
1877 -- particular Type WhichKind and Signature WhichSignature.
1878 -- By Default, WhichSignature equals 1. This means
1879 -- that there is a check on type only.
1881 ObjectsByDisplayStatus (me;
1882 WhichKind :KindOfInteractive from AIS;
1883 WhichSignature :Integer from Standard;
1884 theStatus : DisplayStatus from AIS;
1885 theListOfIO : in out ListOfInteractive from AIS);
1886 ---Purpose: gives the list of objects with indicated display status
1887 -- Type and signature
1888 -- by Default, <WhichSignature> = -1 means
1889 -- control only on <WhichKind>.
1892 aListOfIO : in out ListOfInteractive from AIS;
1893 WhichKind : KindOfInteractive from AIS = AIS_KOI_None;
1894 WhichSignature : Integer from Standard = -1);
1895 ---Purpose: fills <aListOfIO> with objects of a particular
1896 -- Type and Signature with no consideration of display status.
1897 -- by Default, <WhichSignature> = -1 means
1898 -- control only on <WhichKind>.
1899 -- if <WhichKind> = AIS_KOI_None and <WhichSignature> = -1,
1900 -- all the objects are put into the list.
1903 HasOpenedContext(me) returns Boolean from Standard;
1904 ---Purpose: Returns true if there is an open context.
1907 CurrentName(me) returns AsciiString from TCollection;
1909 -- Returns the name of the current selected entity in Neutral Point.
1910 -- Objects selected when there is no open local context
1911 -- are called current objects; those selected in open
1912 -- local context, selected objects.
1914 ---C++: return const&
1916 SelectionName(me) returns AsciiString from TCollection;
1918 -- Returns the name of the current selected entity in
1919 -- open local context.
1920 -- Objects selected when there is no open local context
1921 -- are called current objects; those selected in open
1922 -- local context, selected objects.
1923 ---C++: return const&
1925 DomainOfMainViewer(me) returns CString from Standard;
1926 ---Purpose: Returns the domain name of the main viewer.
1928 ---Category: Internal
1930 ---Category: Internal
1932 LocalContext(me) returns LocalContext from AIS;
1935 -- This method is only intended for advanced operation, particularly with
1936 -- the aim to improve performance when many objects have to be selected
1937 -- together. Otherwise, you should use other (non-internal) methods of
1938 -- class AIS_InteractiveContext without trying to obtain an instance of
1939 -- AIS_LocalContext.
1942 SelectionManager(me) returns any SelectionManager from SelectMgr;
1944 ---C++: return const &
1946 MainPrsMgr (me) returns any PresentationManager3d from PrsMgr;
1948 ---C++: return const &
1950 MainSelector(me) returns any ViewerSelector3d from StdSelect;
1952 ---C++: return const &
1953 LocalSelector(me) returns any ViewerSelector3d from StdSelect;
1955 PurgeDisplay(me:mutable)
1956 returns Integer from Standard;
1958 ---Purpose: Clears all the structures which don't
1959 -- belong to objects displayed at neutral point
1960 -- only effective when no Local Context is opened...
1961 -- returns the number of removed structures from the viewers.
1964 HighestIndex(me) returns Integer from Standard;
1966 DisplayActiveAreas(me:mutable;aView:View from V3d) ;
1968 ClearActiveAreas (me :mutable;
1969 aView: View from V3d) is static;
1972 DisplayActiveSensitive(me:mutable;aView : View from V3d) is static;
1974 ClearActiveSensitive(me:mutable;aView:View from V3d) is static;
1978 DisplayActiveSensitive(me:mutable;
1979 anObject: InteractiveObject from AIS;
1980 aView : View from V3d) is static;
1981 DisplayActiveAreas(me:mutable;
1982 anObject: InteractiveObject from AIS;
1983 aView : View from V3d) is static;
1986 anIobj : InteractiveObject from AIS;
1987 Dmode,HiMod,SelMode : in out Integer from Standard) is static private;
1990 EraseGlobal(me : mutable;
1991 anObj : InteractiveObject from AIS;
1992 updateviewer : Boolean from Standard = Standard_True) is static private;
1994 ClearGlobal(me : mutable;
1995 anObj : InteractiveObject from AIS;
1996 updateviewer : Boolean from Standard = Standard_True) is static private;
1998 ClearGlobalPrs(me : mutable;
1999 anObj : InteractiveObject from AIS;
2000 aMode : Integer from Standard;
2001 updateviewer : Boolean from Standard = Standard_True) is static private;
2004 ---Category: Private Methods
2007 anObject : InteractiveObject from AIS;
2008 TheIndex : in out Integer from Standard)
2009 returns Boolean from Standard;
2010 ---Purpose: returns if possible,
2011 -- the first local context where the object is seen
2013 SetViewAffinity (me : mutable;
2014 theIObj : InteractiveObject from AIS;
2015 theView : View from V3d;
2016 theIsVisible : Boolean from Standard) is static;
2017 ---Purpose: setup object visibility in specified view,
2018 -- has no effect if object is not disaplyed in this context.
2021 theListOfIO : in out ListOfInteractive from AIS;
2022 theView : View from V3d;
2023 theIsVisibleInView : Boolean from Standard;
2024 theStatus : DisplayStatus from AIS = AIS_DS_None) is static;
2025 ---Purpose: Query objects visible or hidden in specified view due to affinity mask.
2027 InitAttributes(me:mutable) is static private;
2030 PurgeViewer(me:mutable;Vwr:Viewer from V3d)
2031 returns Integer from Standard is static private;
2033 redisplayPrsModes (me : mutable;
2034 theIObj : InteractiveObject from AIS;
2035 theToUpdateViewer : Boolean from Standard = Standard_True) is static private;
2038 redisplayPrsRecModes (me : mutable;
2039 theIObj : InteractiveObject from AIS;
2040 theToUpdateViewer : Boolean from Standard = Standard_True) is static private;
2045 myObjects : DataMapOfIOStatus from AIS;
2047 -- the viewers, prsmgr, selectors
2048 mgrSelector : SelectionManager from SelectMgr;
2050 myMainPM : PresentationManager3d from PrsMgr;
2051 myMainVwr : Viewer from V3d;
2052 myMainSel : ViewerSelector3d from StdSelect;
2054 -- the selection and current objects.
2056 mySelectionName : AsciiString from TCollection;
2057 myCurrentName : AsciiString from TCollection;
2059 myLastPicked : InteractiveObject from AIS;
2060 myLastinMain : InteractiveObject from AIS;
2063 myWasLastMain : Boolean from Standard;
2064 myCurrentTouched : Boolean from Standard;
2065 mySelectedTouched : Boolean from Standard;
2066 myToHilightSelected : Boolean from Standard;
2068 -- the neutral point filter...
2070 myFilters : OrFilter from SelectMgr;
2072 -- the attributes of session...
2074 myDefaultDrawer : Drawer from Prs3d;
2075 myDefaultColor : NameOfColor from Quantity; -- for shading....
2076 myHilightColor : NameOfColor from Quantity;
2077 mySelectionColor : NameOfColor from Quantity;
2078 myPreselectionColor : NameOfColor from Quantity;
2079 mySubIntensity : NameOfColor from Quantity;
2080 myDisplayMode : Integer from Standard;
2082 -- The Local Context...
2084 myLocalContexts : DataMapOfILC from AIS;
2085 myCurLocalIndex : Integer from Standard;
2086 mylastmoveview : View from V3d;
2088 -- The detected objects
2090 myAISDetectedSeq : SequenceOfInteractive from AIS;
2091 -- the sequence of detected interative objects.
2092 myAISCurDetected : Integer from Standard;
2093 -- current detected interactive object.
2094 -- This variable is used by following functions:
2095 -- InitDetected(), MoreDetected(), NextDetected(), DetectedCurrentShape(), DetectedCurrentObject().
2096 myZDetectionFlag: Boolean from Standard;
2097 -- This variable is used by SetZDetection() and ZDetection() methods
2100 myIsAutoActivateSelMode : Boolean from Standard;
2103 class LocalContext from AIS
2105 end InteractiveContext;