0025773: Visualization - remove AIS_Drawer class and transfer its Link() logic to...
[occt.git] / src / AIS / AIS_InteractiveObject.cdl
CommitLineData
b311480e 1-- Created on: 1996-12-11
2-- Created by: Robert COUBLANC
3-- Copyright (c) 1996-1999 Matra Datavision
973c2be1 4-- Copyright (c) 1999-2014 OPEN CASCADE SAS
b311480e 5--
973c2be1 6-- This file is part of Open CASCADE Technology software library.
b311480e 7--
d5f74e42 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
973c2be1 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.
b311480e 13--
973c2be1 14-- Alternatively, this file may be used under the terms of Open CASCADE
15-- commercial license or contractual agreement.
b311480e 16
7fd59977 17deferred class InteractiveObject from AIS inherits SelectableObject from SelectMgr
18
19 ---Purpose:
20 -- Defines a class of objects with display and selection services.
21 -- Entities which are visualized and selected are
22 -- Interactive Objects. You can make use of classes of
23 -- standard Interactive Objects for which all necessary
24 -- methods have already been programmed, or you can
25 -- implement your own classes of Interactive Objects.
26 -- Specific attributes of entities such as arrow aspect for
27 -- dimensions must be loaded in a Drawer. This Drawer
28 -- is then applied to the Interactive Object in view.
29 -- There are four types of Interactive Object in AIS: the
30 -- construction element or Datum, the Relation, which
31 -- includes both dimensions and constraints, the Object,
32 -- and finally, when the object is of an unknown type, the None type.
33 -- Inside these categories, a signature, or index,
34 -- provides the possibility of additional characterization.
35 -- By default, the Interactive Object has a None type
36 -- and a signature of 0. If you want to give a particular
37 -- type and signature to your interactive object, you must
38 -- redefine the methods, Signature and Type.
39 -- Warning
40 -- In the case of attribute methods, methods for
41 -- standard attributes are virtual. They must be
42 -- redefined by the inheriting classes. Setcolor for a
43 -- point and Setcolor for a plane, for example, do not
44 -- affect the same attributes in the Drawer.
45
46uses
47 Trsf from gp,
48 NameOfColor from Quantity,
49 Color from Quantity,
50 Ratio from Quantity,
51 ListOfTransient from TColStd,
52 ListOfInteger from TColStd,
53 Box from Bnd,
54 NameOfMaterial from Graphic3d,
55 MaterialAspect from Graphic3d,
7fd59977 56 PToContext from AIS,
57 TypeOfPresentation3d from PrsMgr,
58 InteractiveContext from AIS,
59 KindOfInteractive from AIS,
60 TypeOfFacingModel from Aspect,
7fd59977 61 Transformation from Geom,
62 Presentation from Prs3d,
63 BasicAspect from Prs3d,
64 -- 22-03-04 OCC4895 SAN High-level interface for controlling polygon offsets
65 PresentationManager from PrsMgr,
66 Presentation from PrsMgr
67 -- 22-03-04 OCC4895 SAN High-level interface for controlling polygon offsets
68
69is
70 Initialize (aTypeOfPresentation3d: TypeOfPresentation3d from PrsMgr = PrsMgr_TOP_AllView) ;
71 ---Purpose: The TypeOfPresention3d means that the interactive object
72 -- may have a presentation dependant of the view of Display
73
74
75
76 ---Category: Virtual methods to be redefined...
77
78 Type (me) returns KindOfInteractive from AIS is virtual;
79 ---Purpose:
80 -- Returns the kind of Interactive Object:
81 -- - None
82 -- - Datum
83 -- - Relation
84 -- - Object
85 -- By default, the interactive object has a None type.
86 -- Because specific shapes entail different behavior
87 -- according to their sub-shapes, you may need to
88 -- create a Local Context. This will allow you to
89 -- specify the additional characteristics which you
90 -- need to handle these shapes.
91
92 Signature(me) returns Integer from Standard is virtual;
93 ---Purpose: Specifies additional characteristics of Interactive
94 -- Objects. A signature is, in fact, an index with integer
95 -- values assigned different properties.
96 -- This method is frequently used in conjuction with
97 -- Type to give a particular type and signature to an
98 -- Interactive Object. By default, the Interactive Object
99 -- has a None type and a signature of 0. Among the
100 -- datums, this signature is attributed to the shape
101 -- The remaining datums have the following default signatures:
102 -- - Point signature 1
103 -- - Axis signature 2
104 -- - Trihedron signature 3
105 -- - PlaneTrihedron signature 4
106 -- - Line signature 5
107 -- - Circle signature 6
108 -- - Plane signature 7.
109
110
111 AcceptShapeDecomposition(me) returns Boolean from Standard is virtual;
112 ---C++: inline
113 ---Purpose: Informs the graphic context that the interactive Object
114 -- may be decomposed into sub-shapes for dynamic selection.
115 -- The most used Interactive Object is AIS_Shape.
116 -- Activation methods for standard selection modes are
117 -- proposed in the Interactive Context. These include
118 -- selection by vertex or by edges. For datums with the
119 -- same behavior as AIS_Shape, such as vetices and
120 -- edges, we must redefine the virtual method so that
121 -- AcceptShapeDecomposition returns false.
122 -- Rule for selection :
123 -- Mode 0 : Selection of the interactive Object itself
124 -- Mode 1 : Selection of vertices
125 -- Mode 2 : Selection Of Edges
126 -- Mode 3 : Selection Of Wires
127 -- Mode 4 : Selection Of Faces ...
128
129
130 SetCurrentFacingModel(me: mutable;
131 aModel: TypeOfFacingModel from Aspect = Aspect_TOFM_BOTH_SIDE);
132 ---Purpose: change the current facing model apply on polygons for
133 -- SetColor(), SetTransparency(), SetMaterial() methods
134 -- default facing model is Aspect_TOFM_TWO_SIDE. This mean that attributes is
135 -- applying both on the front and back face.
136
137 CurrentFacingModel(me) returns TypeOfFacingModel from Aspect;
138 ---Purpose: Returns the current facing model which is in effect.
139
140 SetColor(me:mutable;aColor:Color from Quantity) is virtual;
141
142 SetColor(me:mutable;aColor:NameOfColor from Quantity) is virtual;
143 ---Purpose: only the interactive obj knowns which Drawer attribute
144 -- is affected by the color (ex: for a wire, it's the
145 -- wireaspect field of the drawer, but for a vertex, only
146 -- the point aspect field is affected by the color)
147 -- WARNING : Do not forget to set the corresponding fields
148 -- here (hasOwnColor and myOwnColor)
149
150 UnsetColor(me:mutable) is virtual;
151 ---Purpose: Removes color settings. Only the Interactive Object
152 -- knows which Drawer attribute is affected by the color
153 -- setting. For a wire, for example, wire aspect is the
154 -- attribute affected. For a vertex, however, only point
155 -- aspect is affected by the color setting.
156
157 SetWidth(me:mutable; aValue:Real from Standard) is virtual;
158 ---Purpose: Allows you to provide the setting aValue for width.
159 -- Only the Interactive Object knows which Drawer
160 -- attribute is affected by the width setting.
161
162 UnsetWidth(me:mutable) is virtual;
163
164 AcceptDisplayMode(me;aMode:Integer from Standard) returns Boolean from Standard is virtual;
165 ---Purpose: Returns true if the class of objects accepts the display mode aMode.
166 -- The interactive context can have a default mode of
167 -- representation for the set of Interactive Objects. This
168 -- mode may not be accepted by a given class of
169 -- objects. Consequently, this virtual method allowing us
170 -- to get information about the class in question must be implemented.
171 DefaultDisplayMode(me) returns Integer from Standard is virtual;
172 ---Purpose: Returns the default display mode. This method is to
173 -- be implemented when the main mode is not mode 0.
174
175
176 Redisplay (me:mutable; AllModes:Boolean from Standard =Standard_False);
177 ---Purpose: Updates the active presentation; if <AllModes> = Standard_True
178 -- all the presentations inside are recomputed.
179
180
181 SetInfiniteState(me:mutable;aFlag:Boolean from Standard = Standard_True);
182 ---Purpose: Sets the infinite state flag aFlage.
183 -- if <aFlag> = True , the interactiveObject is
184 -- considered as infinite, i.e. its graphic presentations
185 -- are not taken in account for View FitAll...
186
187 IsInfinite(me) returns Boolean from Standard;
188 ---C++: inline
189 ---Purpose:
190 -- Returns true if the interactive object is infinite. In this
191 -- case, its graphic presentations are not taken into
192 -- account in the fit-all view.
193
194
195 ---Category: Link To InteractiveContext
196
197 HasInteractiveContext(me) returns Boolean from Standard;
198 ---Purpose: Indicates whether the Interactive Object has a pointer
199 -- to an interactive context.
200
201 GetContext(me) returns InteractiveContext from AIS;
202 ---Purpose: Returns the context pointer to the interactive context.
203
204 SetContext(me:mutable; aCtx : InteractiveContext from AIS) is virtual;
205 ---Purpose: Sets the interactive context aCtx and provides a link
206 -- to the default drawing tool or "Drawer" if there is none.
207
208 HasOwner (me) returns Boolean from Standard;
209 ---Purpose: Returns true if the object has an owner attributed to it.
210 -- The owner can be a shape for a set of sub-shapes or
211 -- a sub-shape for sub-shapes which it is composed of,
212 -- and takes the form of a transient.
213
214 GetOwner (me) returns any Transient from Standard;
215 ---Purpose: Returns the owner of the Interactive Object.
216 -- The owner can be a shape for a set of sub-shapes or
217 -- a sub-shape for sub-shapes which it is composed of,
218 -- and takes the form of a transient.
219 -- There are two types of owners:
220 -- - Direct owners, decomposition shapes such as
221 -- edges, wires, and faces.
222 -- - Users, presentable objects connecting to sensitive
223 -- primitives, or a shape which has been decomposed.
224 ---C++: inline
225 ---C++: return const&
226
227
228
229 SetOwner (me : mutable;
230 ApplicativeEntity : Transient from Standard);
231 ---Purpose: Allows you to attribute the owner ApplicativeEntity to
232 -- an Interactive Object. This can be a shape for a set of
233 -- sub-shapes or a sub-shape for sub-shapes which it
234 -- is composed of. The owner takes the form of a transient.
235 ---C++: inline
236
237 ClearOwner(me:mutable);
238 ---Purpose: Each Interactive Object has methods which allow us
239 -- to attribute an Owner to it in the form of a Transient.
240 -- This method removes the owner from the graphic entity.
241
242
243 HasUsers(me) returns Boolean from Standard;
244
245 Users(me) returns ListOfTransient from TColStd;
246 ---C++: inline
247 ---C++: return const&
248
249
250 AddUser(me:mutable; aUser : Transient from Standard);
251
252 ClearUsers(me:mutable);
253
254
255
256 ---Category: "STANDARD" LOCAL ATTRIBUTES :
257 --
258 -- -Local DisplayMode
259 -- -Color
260 -- -width of lines or points
261 -- -typeOfLine or Marker Aspect
262 -- -material name (if needed)
263 -- -transparency (if needed)
264 --
265 -- Specific attributes of entities (such as
266 -- arrow aspect for dimensions) must be
267 -- loaded in a Drawer; this drawer is then
268 -- applied to InteractiveObject WARNING :
269 -- Here the Methods for standard attributes
270 -- are virtual and do nothing they must be
271 -- redefined by the inheriting classes
272 -- (setcolor for a point and setcolor for a plane
273 -- don't affect the same attributes in the Drawer)
274
275
276 HasDisplayMode (me)
277 returns Boolean from Standard;
278 ---Purpose:
279 -- Returns true if the Interactive Object has a display
280 -- mode setting. Otherwise, it is displayed in Neutral Point.
281 ---C++: inline
282
283 SetDisplayMode(me : mutable; aMode : Integer from Standard);
284 ---Purpose: Sets the display mode aMode for the interactive object.
285 -- An object can have its own temporary display mode,
286 -- which is different from that proposed by the interactive context.
287 -- The range of possibilities currently proposed is the following:
288 -- - AIS_WireFrame
289 -- - AIS_Shaded
7fd59977 290 -- This range can, however, be extended through the creation of new display modes.
291
292 UnsetDisplayMode(me : mutable);
293 ---Purpose: Removes display mode settings from the interactive object.
294 ---C++: inline
295
296 DisplayMode(me)
297 returns Integer;
298 ---C++: inline
299 ---Purpose: Returns the display mode setting of the Interactive Object.
300 -- The range of possibilities is the following:
301 -- - AIS_WireFrame
302 -- - AIS_Shaded
7fd59977 303 -- This range can, however, be extended through the
304 -- creation of new display modes.
305
306
307 HasSelectionMode(me) returns Boolean from Standard;
308 ---Purpose: Allows you to change the selection mode of an
309 -- Interactive Object.
310 -- The default selection mode setting is 0.
311 -- For shapes, for example, the selection modes are as follows:
312 -- - mode 0 - selection of the shape itself
313 -- - mode 1 - selection of vertices
314 -- - mode 2 - selection of edges
315 -- - mode 3 - selection of wires
316 -- - mode 4 - selection of faces
317 -- - mode 5 - selection of shells
318 -- - mode 6 - selection of solids
319 -- - mode 7 - selection of compounds
320 -- For trihedra, on the other hand, the selection modes are the following four:
321 -- - mode 0 - selection of a trihedron
322 -- - mode 1 - selection of its origin
323 -- - mode 2 - selection of its axes
324 -- - mode 3 - selection of its planes
325
326 SelectionMode(me) returns Integer from Standard;
327 ---Purpose: Returns the selection mode of the interactive object.
328
329 SetSelectionMode(me:mutable; aMode: Integer from Standard);
330 ---Purpose: You can change the default selection mode index
331 -- aMode of an Interactive Object.
332 -- This is only of interest if you decide that mode 0
333 -- adopted by convention will not do.
334
335 UnsetSelectionMode(me:mutable);
336 ---Purpose: You can change the default selection mode index of
337 -- an Interactive Object.
338 -- This is only of interest if you decide that the 0 mode
339 -- adopted by convention will not do.
340 ---C++: inline
341
342
343 SelectionPriority(me) returns Integer from Standard;
344 ---C++: inline
345 ---Purpose: Returns the selection priority setting. -1 indicates that there is none.
346 -- You can modify the selection priority of an owner to
347 -- make one entity more selectionable than another one.
348 -- The default selection priority for an owner is 5, for
349 -- example. To increase selection priority, choose a
350 -- setting between 5 and 10. An entity with priority 7 will
351 -- take priority over one with a setting of 6 if both
352 -- objects are selected at the same time.
353 -- You could give vertices priority 8, edges priority 7,
354 -- faces priority 6, and shapes priority 5. If a vertex, an
355 -- edge and a face are simultaneously detected during
356 -- selection, only the vertex will then be highlighted.
357 -- For trihedra, for example, the default priorities are the following four:
358 -- - priority 1 - a trihedron
359 -- - priority 5 - its origin
360 -- - priority 3 - its axes
361 -- - priority 2 - its planes
362
363 SetSelectionPriority(me:mutable; aPriority : Integer from Standard);
364 ---C++: inline
365 ---Purpose: Allows you to provide a setting aPriority for selection priority.
366 -- You can modify selection priority of an owner to make
367 -- one entity more selectionable than another one. The
368 -- default selection priority for an owner is 5, for
369 -- example. To increase selection priority, choose a
370 -- setting between 5 and 10. An entity with priority 7 will
371 -- take priority over one with a setting of 6.
372
373 UnsetSelectionPriority(me:mutable);
374 ---C++: inline
375 ---Purpose: Removes the setting for selection priority. SelectionPriority then returns -1.
376
377 HasSelectionPriority(me) returns Boolean from Standard;
378 ---C++: inline
379 ---Purpose: Returns true if there is a setting for selection priority.
380 -- You can modify selection priority of an owner to make
381 -- one entity more selectionable than another one. The
382 -- default selection priority for an owner is 5, for
383 -- example. To increase selection priority, choose a
384 -- setting between 5 and 10. An entity with priority 7 will
385 -- take priority over one with a setting of 6.
386
387 HasHilightMode(me) returns Boolean from Standard;
388 ---C++: inline
389 ---Purpose: Returns true if the Interactive Object is in highlight mode.
390
391 HilightMode(me) returns Integer from Standard ;
392 ---C++: inline
393 ---Purpose: Returns the setting for highlight mode.
394 -- At dynamic detection, the presentation echoed by the
395 -- Interactive Context, is by default the presentation
396 -- already on the screen. You can specify a Highlight
397 -- presentation mode which is valid no matter what the
398 -- active representation of the object. It makes no
399 -- difference whether this choice is temporary or
400 -- definitive. To do this, we use the following functions:
401 -- - SetHilightMode
402 -- - UnSetHilightMode
403 -- In the case of a shape, whether it is visualized in
404 -- wireframe presentation or with shading, we want to
405 -- systematically highlight the wireframe presentation.
406 -- Consequently, we set the highlight mode to 0.
407
408 SetHilightMode(me:mutable;anIndex : Integer from Standard);
409 ---C++: inline
410 ---Purpose: Sets the highlight mode anIndex for the interactive object.
411 -- If, for example, you want to systematically highlight
412 -- the wireframe presentation of a shape - whether
413 -- visualized in wireframe presentation or with shading -
414 -- you set the highlight mode to 0.
415
416 UnsetHilightMode(me:mutable);
417 ---C++: inline
418 ---Purpose: Allows the user to take a given Prs for hilight
419 -- ex : for a shape which would be displayed in shading mode
420 -- the hilight Prs is the wireframe mode.
421 -- if No specific hilight mode is defined, the displayed Prs
422 -- will be the hilighted one.
423
424 HasColor (me) returns Boolean from Standard;
425 ---C++: inline
426 ---Purpose: Returns true if the Interactive Object has color.
427
428 Color(me) returns NameOfColor from Quantity is virtual;
429 ---C++: inline
430 ---Purpose: Returns the color setting of the Interactive Object.
431
432 Color(me; aColor: out Color from Quantity) is virtual;
433 ---C++: inline
434
435 HasWidth(me) returns Boolean from Standard;
436 ---C++: inline
437 ---Purpose: Returns true if the Interactive Object has width.
438
439 Width(me) returns Real from Standard ;
440 --- Purpose: Returns the width setting of the Interactive Object.
441
442 HasMaterial(me) returns Boolean from Standard ;
443 ---Purpose: Returns true if the Interactive Object has a setting for material.
444 Material(me) returns NameOfMaterial from Graphic3d is virtual;
445 ---Purpose: Returns the current material setting.
446 -- This will be on of the following materials:
447 -- - Brass
448 -- - Bronze
449 -- - Gold
450 -- - Pewter
451 -- - Silver
452 -- - Stone.
453
454 SetMaterial(me:mutable;aName:NameOfMaterial from Graphic3d) is virtual;
455 ---Purpose: Sets the name aName for material defining this
456 -- display attribute for the interactive object.
457 -- Material aspect determines shading aspect, color and
458 -- transparency of visible entities.
459
460
461 SetMaterial(me:mutable;aName:MaterialAspect from Graphic3d) is virtual;
462 --- Purpose: Sets the material aMat defining this display attribute
463 -- for the interactive object.
464 -- Material aspect determines shading aspect, color and
465 -- transparency of visible entities.
466
467 UnsetMaterial(me:mutable) is virtual;
468 ---Purpose: Removes the setting for material.
469
470 SetTransparency(me:mutable;aValue : Real from Standard=0.6) is virtual;
471 ---Purpose: Attributes a setting aValue for transparency.
472 -- The transparency value should be between 0.0 and 1.0.
473 -- At 0.0 an object will be totally opaque, and at 1.0, fully transparent.
474 -- Warning At a value of 1.0, there may be nothing visible.
475
476 IsTransparent(me) returns Boolean from Standard;
477 ---C++: inline
478 ---Purpose: Returns true if there is a transparency setting.
479
480 Transparency(me) returns Real from Standard is virtual;
481 ---Purpose: Returns the transparency setting.
482 -- This will be between 0.0 and 1.0.
483 -- At 0.0 an object will be totally opaque, and at 1.0, fully transparent.
484
485 UnsetTransparency(me:mutable) is virtual;
486 ---Purpose: Removes the transparency setting. The object is opaque by default.
6262338c 487
488 UnsetAttributes(me:mutable) is redefined virtual;
7fd59977 489 ---Purpose: Clears settings provided by the drawing tool aDrawer.
490
491 ---Category: information about Prs to be recomputed
492 -- after local attributes change... to be removed...
493
494 RecomputeEveryPrs(me) returns Boolean is virtual private;
495
496 MustRecomputePrs(me;aMode : Integer from Standard) is private;
497
498 ListOfRecomputeModes(me)returns ListOfInteger from TColStd is private;
499 ---C++: return const&
500 SetRecomputeOk(me:mutable) is private;
501
7fd59977 502 State(me:mutable;theState: Integer from Standard) ;
503 ---C++: inline
504 State(me) returns Integer from Standard ;
505 ---C++: inline
506
7fd59977 507 HasPresentation ( me ) returns Boolean from Standard
508 is static;
509 ---Level: Public
510 ---Purpose: Returns TRUE when this object has a presentation
511 -- in the current DisplayMode()
512 ---Category: Inquire transformation method
513
514 Presentation ( me ) returns Presentation from Prs3d
515 is static;
516 ---Level: Public
517 ---Purpose: Returns the current presentation of this object
518 -- according to the current DisplayMode()
519 ---Category: Inquire transformation method
520
521 SetAspect ( me : mutable; anAspect: any BasicAspect from Prs3d;
522 globalChange: Boolean from Standard = Standard_True)
523 is static;
524 ---Level: Public
525 ---Purpose: Sets the graphic basic aspect to the current presentation.
526 -- When <globalChange> is TRUE , the full object presentation
527 -- is changed.
528 -- When <globalChange> is FALSE , only the current group
529 -- of the object presentation is changed.
530 ---Category: Graphic attributes management
531
532 -- 22-03-04 OCC4895 SAN High-level interface for controlling polygon offsets
533 SetPolygonOffsets ( me : mutable;
534 aMode : Integer from Standard;
60be1f9b 535 aFactor : ShortReal from Standard = 1.0;
536 aUnits : ShortReal from Standard = 0.0 ) is virtual;
7fd59977 537 ---Level: Public
538 ---Purpose: Sets up polygon offsets for this object.
539 -- It modifies all existing presentations of <anObj> (if any),
540 -- so it is reasonable to call this method after <anObj> has been displayed.
541 -- Otherwise, Compute() method should pass Graphic3d_AspectFillArea3d
542 -- aspect from <myDrawer> to Graphic3d_Group to make polygon offsets work.
543 --
544 -- <aMode> parameter can contain various combinations of
545 -- Aspect_PolygonOffsetMode enumeration elements (Aspect_POM_None means
546 -- that polygon offsets are not changed).
547 -- If <aMode> is different from Aspect_POM_Off and Aspect_POM_None, then <aFactor> and <aUnits>
548 -- arguments are used by graphic renderer to calculate a depth offset value:
549 --
550 -- offset = <aFactor> * m + <aUnits> * r, where
551 -- m - maximum depth slope for the polygon currently being displayed,
552 -- r - minimum window coordinates depth resolution (implementation-specific).
553 --
554 -- Deafult settings for OCC 3D viewer: mode = Aspect_POM_Fill, factor = 1., units = 0.
555 --
556 -- Negative offset values move polygons closer to the viewport,
557 -- while positive values shift polygons away.
558 -- Consult OpenGL reference for details (glPolygonOffset function description).
559 --
560 -- NOTE: This method has a side effect - it creates own shading aspect
561 -- if not yet created, so it is better to set up object material,
562 -- color, etc. first.
563 ---Category: Graphic attributes management
564
565 HasPolygonOffsets ( me )
566 returns Boolean from Standard
567 is virtual;
568 ---Level: Public
569 ---Purpose: Returns Standard_True if <myDrawer> has non-null shading aspect
570 ---Category: Inquire methods
571
572 PolygonOffsets ( me;
573 aMode : out Integer from Standard;
60be1f9b 574 aFactor : out ShortReal from Standard;
575 aUnits : out ShortReal from Standard ) is virtual;
7fd59977 576 ---Level: Public
577 ---Purpose: Retrieves current polygon offsets settings from <myDrawer>.
578 ---Category: Inquire methods
579
580fields
581
582 myCTXPtr : PToContext from AIS;
583
584 -- The reference to applicative World...
585
586 myOwner : Transient from Standard;
587 myUsers : ListOfTransient from TColStd;
588
589 -- The Information Fields
590
7fd59977 591 myTransparency : Real from Standard is protected;
7fd59977 592 myOwnColor : Color from Quantity is protected;
593 myOwnMaterial : NameOfMaterial from Graphic3d is protected;
594 ---myOwnMaterial : NameOfPhysicalMaterial from Graphic3d is protected;
595 mySelPriority : Integer from Standard;
596 myDisplayMode : Integer from Standard ;
597 mySelectionMode : Integer from Standard;
598 myHilightMode : Integer from Standard is protected;
599 myOwnWidth : Real from Standard is protected;
600 myInfiniteState : Boolean from Standard is protected;
601 hasOwnColor : Boolean from Standard is protected;
602 hasOwnMaterial : Boolean from Standard is protected ;
603 myCurrentFacingModel: TypeOfFacingModel from Aspect is protected;
604
605 -- the management field (to be removed)...
606 myRecomputeEveryPrs : Boolean from Standard is protected;
607
608 myToRecomputeModes : ListOfInteger from TColStd is protected;
609 mystate : Integer from Standard;
7fd59977 610
611
612friends
613 class InteractiveContext from AIS
614
615end InteractiveObject;
616