0025853: Edges disappear or reappear when displaying new edges
[occt.git] / src / Prs3d / Prs3d_Drawer.cdl
1 -- Created on: 1992-09-18
2 -- Created by: Jean Louis FRENKEL
3 -- Copyright (c) 1992-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
5 --
6 -- This file is part of Open CASCADE Technology software library.
7 --
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.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
16
17 class Drawer from Prs3d inherits TShared from MMgt
18
19         ---Purpose: A graphic attribute manager which governs how
20         -- objects such as color, width, line thickness and
21         -- deflection are displayed.
22         -- Prs3d_Drawer is the mother class of AIS_Drawer.
23         -- As such, it is its set functions which are called to
24         -- modify display parameters. In the example below we
25         -- can see that the AIS_Drawer is modified to set the
26         -- value of the deviation coefficient using a method
27         -- inherited from Prs3d_Drawer.
28       -- A drawer includes an instance of the Aspect classes
29       -- with particular default values.
30         
31 uses
32     DatumAspect from Prs3d,
33     LineAspect from Prs3d,
34     TextAspect from Prs3d,
35     PointAspect from Prs3d,
36     ShadingAspect from Prs3d,
37     IsoAspect from Prs3d,
38     DimensionAspect from Prs3d,
39     PlaneAspect from Prs3d,
40     ArrowAspect from Prs3d,
41     TypeOfDeflection from Aspect,
42     NameOfColor from Quantity,
43     PlaneAngle from Quantity,
44     Length from Quantity,
45     TypeOfHLR from Prs3d,
46     DimensionUnits from Prs3d,
47     VertexDrawMode from Prs3d,
48     AsciiString from TCollection,
49     Ax2 from gp
50
51 is
52     Create returns Drawer from Prs3d;
53
54 ---Category: deviation definition.
55 -- 
56 -- All drawings of curves or patches are made with respect to a maximal 
57 -- chordial deviation. This deviation is absolute and given through
58 -- the method: SetMaximalChordialDeviation.
59 -- 
60 -- In the case of drawing shapes, it is allowed to ask for a relative
61 -- deviation.
62 -- This deviation will be: SizeOfObject * DeviationCoefficient where
63 -- DeviationCoefficient can be set through the method: SetDeviationCoefficient.
64 -- 
65 --
66 -- For drawing algorithms using discretisation, a default number of
67 -- points has been set to 17. It is possible to use the method SetDiscret
68 -- to change this number.
69 --
70
71
72     SetTypeOfDeflection (me:mutable; 
73                         aTypeOfDeflection: TypeOfDeflection from  Aspect)  
74         ---Purpose: Sets the type of chordal deflection.
75         -- This indicates whether the deflection value is absolute
76         -- or relative to the size of the object.         
77     is virtual;
78     
79     TypeOfDeflection(me) returns TypeOfDeflection from Aspect
80     is virtual;
81         --- Purpose: Returns the type of chordal deflection.
82         -- This indicates whether the deflection value is absolute
83         -- or relative to the size of the object.   
84     
85     SetMaximalChordialDeviation (me: mutable; 
86                                aChordialDeviation: Length from Quantity)
87         ---Purpose: Defines the maximal chordial deviation when drawing any curve;
88         --          Even if the type of deviation is set to TOD_Relative,
89         --          this value is used by:
90         --          
91         --                   Prs3d_DeflectionCurve
92         --                   Prs3d_WFDeflectionSurface
93         --                   Prs3d_WFDeflectionRestrictedFace
94     is virtual;
95     
96     MaximalChordialDeviation (me) returns Length from Quantity
97         ---Purpose: returns the maximal chordial deviation. Default value is 0.1
98     is virtual;
99             
100     SetDeviationCoefficient(me: mutable; aCoefficient: Real from Standard)
101         ---Purpose: Sets the deviation coefficient aCoefficient.
102     is virtual;
103
104     DeviationCoefficient(me) returns Real from Standard 
105     is virtual;
106         ---Purpose: Returns the deviation coefficient.
107     SetHLRDeviationCoefficient(me: mutable; aCoefficient: Real from Standard)
108         ---Purpose: Sets the deviation coefficient aCoefficient for removal
109         -- of hidden lines created by different viewpoints in
110         -- different presentations. The Default value is 0.02.
111     is virtual;
112
113     HLRDeviationCoefficient(me) returns Real from Standard 
114     is virtual;
115         ---Purpose: Returns the real number value of the hidden line
116         -- removal deviation coefficient.   
117     SetHLRAngle(me: mutable; anAngle: Real from Standard)
118         ---Purpose: Sets anAngle, the angle of maximum chordal
119         -- deviation for removal of hidden lines created by
120         -- different viewpoints in different presentations. The
121         -- default value is 20*PI/180.
122     is virtual;
123
124     HLRAngle(me) returns Real from Standard 
125     is virtual;
126         ---Purpose: Returns the real number value of the deviation angle
127         -- in hidden line removal views. The default value is 20*PI/180.
128     
129     SetDeviationAngle(me: mutable; anAngle: Real from Standard)
130         ---Purpose: Sets deviation angle
131     is virtual;
132
133     DeviationAngle(me) returns Real from Standard
134         ---Purpose: Returns the value for deviation angle.
135     is virtual;
136
137     SetDiscretisation(me: mutable; d: Integer from Standard)
138         ---Purpose: Sets the discretisation parameter d.
139     is virtual;
140
141     Discretisation(me) returns Integer from Standard
142     is virtual;
143         ---Purpose: Returns the discretisation setting.
144     SetMaximalParameterValue(me: mutable; Value: Real from Standard)
145         ---Purpose: defines the maximum value allowed  for the first and last
146         --          parameters of an infinite curve. Default value: 500. 
147     is virtual;
148     
149     MaximalParameterValue(me) returns Real from Standard
150     is virtual;
151         --- Purpose: Sets the maximum value allowed for the first and last
152         -- parameters of an infinite curve. By default, this value is 500000. 
153
154     SetIsoOnPlane (me: mutable; OnOff: Boolean from Standard)
155         ---Purpose: Sets IsoOnPlane on or off   by setting the parameter
156         -- OnOff to true or false.
157     is virtual;
158     
159     IsoOnPlane(me) returns Boolean from Standard 
160         ---Purpose: Returns True if the drawing of isos on planes is enabled.
161     is virtual;
162     
163     SetTypeOfHLR(me: mutable; theTypeOfHLR: TypeOfHLR from Prs3d)
164     is virtual;
165     ---Purpose: Sets the type of HLR algorithm
166     --          used by drawer's interactive objects
167     
168     TypeOfHLR(me) returns TypeOfHLR from Prs3d
169     is virtual;
170      ---Purpose: Gets the myTypeOfHLR value
171
172
173 -- 
174 -- Attributes for the U Isoparametric lines of patches.
175 --    
176     UIsoAspect (me:mutable) returns IsoAspect from Prs3d
177         ---Purpose: Defines the attributes which are used when drawing an 
178         --          U isoparametric curve of a face. Defines the number
179         --          of U isoparametric curves to be drawn for a single face.
180         --          The LineAspect for U isoparametric lines can be edited
181         --          (methods SetColor, SetTypeOfLine, SetWidth, SetNumber)
182         --          The default values are:
183         --          COLOR       : Quantity_NOC_GRAY75
184         --          TYPE OF LINE: Aspect_TOL_SOLID
185         --          WIDTH       : 0.5
186         --          
187         --         
188         --          These attributes are used by the following algorithms:
189         --          Prs3d_WFDeflectionSurface 
190         --          Prs3d_WFDeflectionRestrictedFace
191
192
193     is virtual;    
194     
195     SetUIsoAspect (me:mutable; anAspect: IsoAspect from Prs3d) 
196     is virtual;
197
198 -- Attributes for the V Isoparametric line of patches.
199
200
201     VIsoAspect (me:mutable) returns IsoAspect from Prs3d
202         ---Purpose: Defines the attributes which are used when drawing an 
203         --          V isoparametric curve of a face. Defines the number
204         --          of V isoparametric curves to be drawn for a single face.
205         --          The LineAspect for V isoparametric lines can be edited
206         --          (methods SetColor, SetTypeOfLine, SetWidth, SetNumber)
207         --          The default values are:
208         --          COLOR       : Quantity_NOC_GRAY82
209         --          TYPE OF LINE: Aspect_TOL_SOLID
210         --          WIDTH       : 0.5
211         --          
212         --         
213         --          These attributes are used by the following algorithms:
214         --          Prs3d_WFDeflectionSurface 
215         --          Prs3d_WFDeflectionRestrictedFace
216     is virtual;    
217     
218     SetVIsoAspect (me:mutable;anAspect: IsoAspect from Prs3d)
219     is virtual;
220         ---Purpose: Sets the appearance of V isoparameters - anAspect.
221
222     FreeBoundaryAspect (me:mutable) returns LineAspect from Prs3d
223         ---Purpose:  Stores the values for presentation of free boundaries,
224         -- in other words, boundaries which are not shared.
225         --          The LineAspect for the  free boundaries can be edited.
226         --          The default values are:
227         --          Color: Quantity_NOC_GREEN
228         --          Type of line: Aspect_TOL_SOLID
229         --          Width: 1.
230         --          These attributes are used by the algorithm Prs3d_WFShape
231     is virtual;
232     
233     SetFreeBoundaryAspect(me:mutable;anAspect: LineAspect from Prs3d)
234     is virtual;
235         --- Purpose: Sets the parameter anAspect for the display of free boundaries.
236     
237     SetFreeBoundaryDraw (me: mutable; OnOff: Boolean from Standard)
238         ---Purpose: Sets free boundary drawing on or off by setting the
239         -- parameter OnOff to true or false.
240     
241     is virtual;
242     
243     FreeBoundaryDraw(me) returns Boolean from Standard 
244         ---Purpose: Returns True if the drawing of the shared boundaries
245         -- is disabled. True is the default setting.
246     is virtual;
247     
248
249 -- Attributes for the wires
250
251     WireAspect (me:mutable) returns LineAspect from Prs3d
252         ---Purpose: Returns wire aspect settings.
253         --          The LineAspect for the wire can be edited.
254         --          The default values are:
255         --          Color: Quantity_NOC_RED
256         --          Type of line: Aspect_TOL_SOLID
257         --          Width: 1.           
258         --          These attributes are used by the algorithm Prs3d_WFShape
259     is virtual;    
260
261     SetWireAspect(me:mutable;anAspect: LineAspect from Prs3d)
262     is virtual;
263
264         --- Purpose: Sets the parameter anAspect for display of wires.
265         
266     SetWireDraw (me: mutable; OnOff: Boolean from Standard)
267         ---Purpose: Sets WireDraw on or off   by setting the parameter
268         -- OnOff to true or false.
269     
270     is virtual;
271     
272     WireDraw(me) returns Boolean from Standard 
273         ---Purpose: returns True if the drawing of the wire is enabled.
274     is virtual;
275     
276
277 -- Attributes for the unfree boundaries
278
279     UnFreeBoundaryAspect (me:mutable) returns LineAspect from Prs3d
280         ---Purpose: Returns settings for shared boundary line aspects.
281         --          The LineAspect for the unfree boundaries can be edited.
282         --          The default values are:
283         --          Color: Quantity_NOC_YELLOW
284         --          Type of line: Aspect_TOL_SOLID
285         --          Width: 1.
286         --          These attributes are used by the algorithm Prs3d_WFShape
287     is virtual;
288
289     SetUnFreeBoundaryAspect(me:mutable; anAspect: LineAspect from Prs3d)
290     is virtual;
291         --- Purpose: Sets the parameter anAspect for the display of shared boundaries.   
292     SetUnFreeBoundaryDraw (me: mutable; OnOff: Boolean from Standard)
293         ---Purpose: Sets FreeBoundaryDraw on or off by setting the
294         -- parameter OnOff to true or false.
295         --          By default the unfree boundaries  are drawn.
296     
297     is virtual;
298     
299     UnFreeBoundaryDraw(me) returns Boolean from Standard 
300         ---Purpose: Returns True if the drawing of the shared boundaries is enabled.
301         -- True is the default setting.
302     is virtual;
303     
304
305 -- 
306 --  Attributes for the lines.
307 -- 
308
309     LineAspect(me:mutable) returns LineAspect from Prs3d
310         ---Purpose:   Returns settings for line aspects.
311         -- These settings can be edited. The default values are:       
312         --          Color: Quantity_NOC_YELLOW
313         --          Type of line: Aspect_TOL_SOLID
314         --          Width: 1.
315         --          These attributes are used by the following algorithms:
316         --          Prs3d_Curve
317         --          Prs3d_Line
318         --          Prs3d_HLRShape
319
320     is virtual;
321     
322     SetLineAspect(me:mutable; anAspect: LineAspect from Prs3d)
323     is virtual;
324         --- Purpose: Sets the parameter anAspect for display attributes of lines.
325
326     TextAspect(me:mutable) returns TextAspect from Prs3d
327         --- Purpose: Returns settings for text aspect.
328         -- These settings can be edited. The default value is:
329         -- -   Color: Quantity_NOC_YELLOW
330   
331     is virtual;
332     
333     SetTextAspect(me:mutable; anAspect: TextAspect from Prs3d)
334     is virtual;
335         --- Purpose: Sets the parameter anAspect for display attributes of text.   
336     
337     SetLineArrowDraw (me: mutable; OnOff: Boolean from Standard)
338         ---Purpose: enables the drawing of an arrow at the end of each line.
339         --          By default the arrows are not drawn.
340     
341     is virtual;
342     
343     LineArrowDraw(me) returns Boolean from Standard 
344       ---Purpose: Returns True if drawing an arrow at the end of each edge is enabled
345       -- and False otherwise (the default).
346     is virtual;
347     
348     ArrowAspect(me:mutable) returns ArrowAspect from Prs3d 
349     is virtual;
350         ---Purpose: Returns the attributes for display of arrows.    
351     
352     SetArrowAspect(me:mutable; anAspect: ArrowAspect from Prs3d)
353     is virtual ;
354         ---Purpose: Sets the parameter anAspect for display attributes of arrows.
355         
356     PointAspect(me:mutable) returns PointAspect from Prs3d
357         ---Purpose: Returns the point aspect setting. The default values are
358         --        Color: Quantity_NOC_YELLOW
359         --          Type of marker: Aspect_TOM_PLUS
360         --          Scale: 1.          
361         --          These attributes are used by the algorithms Prs3d_Point.
362     is virtual;
363     
364     SetPointAspect(me:mutable; anAspect: PointAspect from Prs3d) 
365     is virtual;
366         --- Purpose: Sets the parameter anAspect for display attributes of points
367
368     SetVertexDrawMode(me: mutable; theMode: VertexDrawMode from Prs3d)
369       ---Purpose: Sets the mode of visualization of vertices of a TopoDS_Shape instance.
370       -- By default, only stand-alone vertices (not belonging topologically to an edge) are drawn,
371       -- that corresponds to <b>Prs3d_VDM_Standalone</b> mode.
372       -- Switching to <b>Prs3d_VDM_Standalone</b> mode makes all shape's vertices visible.
373       -- To inherit this parameter from the global drawer instance ("the link") when it is present,
374       -- <b>Prs3d_VDM_Inherited</b> value should be used.
375     is virtual;
376
377     VertexDrawMode(me) returns VertexDrawMode from Prs3d
378       ---Purpose: Returns the current mode of visualization of vertices of a TopoDS_Shape instance.
379     is virtual;
380         
381     ShadingAspect (me:mutable) returns ShadingAspect from Prs3d
382    is virtual;
383         ---Purpose: Returns settings for shading aspects.
384         -- These settings can be edited. The default values are:
385         -- -   Color: Quantity_NOC_YELLOW
386         -- -   Material: Graphic3d_NOM_BRASS
387         --   Shading aspect is obtained through decomposition of
388         -- 3d faces into triangles, each side of each triangle
389         -- being a chord of the corresponding curved edge in
390         -- the face. Reflection of light in each projector
391         -- perspective is then calculated for each of the
392         -- resultant triangular planes.
393     
394
395     SetShadingAspect(me:mutable; anAspect: ShadingAspect from Prs3d) 
396     is virtual;
397         ---Purpose: Sets the parameter anAspect for display attributes of shading.
398         
399     SetShadingAspectGlobal(me: mutable; aValue: Boolean from Standard) 
400         ---Purpose: indicates that the ShadingAspect will be apply
401         --          to the whole presentation. This allows to modify
402         --          the aspect without recomputing the content of the presentation.
403     is virtual;
404     
405     ShadingAspectGlobal(me) returns Boolean from Standard
406     is virtual;  
407 --
408 --  Attributes for hidden lines removal. These attributes are used when
409 --  using an algorithm such Prs3d_HLRShape for example.
410 --  
411
412     DrawHiddenLine(me) returns Boolean from Standard 
413         ---Purpose: returns Standard_True if the hidden lines are to be drawn.
414         --          By default the hidden lines are not drawn.
415     is virtual;
416     
417     EnableDrawHiddenLine(me: mutable)
418         ---Purpose: Enables the DrawHiddenLine function.
419     is virtual;
420
421     DisableDrawHiddenLine(me: mutable)
422         ---Purpose:  Disables the DrawHiddenLine function.
423     is virtual;
424
425     HiddenLineAspect(me:mutable) returns LineAspect from Prs3d
426         ---Purpose: Returns settings for hidden line aspects.
427         -- These settings can be edited. The default values are:
428         --          Color: Quantity_NOC_YELLOW
429         --          Type of line: Aspect_TOL_DASH
430         --          Width: 1.
431     is virtual;
432
433     SetHiddenLineAspect(me:mutable; anAspect: LineAspect from Prs3d) 
434     is virtual;
435         ---Purpose: Sets the parameter anAspect for the display of
436         -- hidden lines in hidden line removal mode.   
437     
438     SeenLineAspect(me:mutable) returns LineAspect from Prs3d
439         ---Purpose: Returns settings for seen line aspects.
440         -- These settings can be edited. The default values are:
441         --          Color: Quantity_NOC_YELLOW
442         --          Type of line: Aspect_TOL_SOLID
443         --          Width: 1.
444     is virtual;
445
446     SetSeenLineAspect(me:mutable; anAspect: LineAspect from Prs3d) 
447     is virtual;
448         --- Purpose: Sets the parameter anAspect for the display of seen
449         -- lines in hidden line removal mode.
450
451     PlaneAspect(me:mutable) returns PlaneAspect from Prs3d
452     is virtual;
453         ---Purpose: Returns settings for the appearance of planes.
454     
455     SetPlaneAspect(me:mutable; anAspect: PlaneAspect from Prs3d)
456     is virtual;
457         ---Purpose: Sets the parameter anAspect for the display of planes.
458
459     VectorAspect(me:mutable) returns LineAspect from Prs3d
460         ---Purpose: Returns settings for the appearance of vectors.
461         -- These settings can be edited. The default values are:
462         --          Color: Quantity_NOC_SKYBLUE
463         --          Type of line: Aspect_TOL_SOLID
464         --          Width: 1.
465     is virtual;
466
467     SetVectorAspect(me:mutable; anAspect: LineAspect from Prs3d) 
468     is virtual;
469         ---Purpose: Sets the modality anAspect for the display of vectors.    
470
471 --
472 --  Attributes for the presentation of a Datum.
473 --  
474
475     DatumAspect(me:mutable) returns DatumAspect from Prs3d
476         ---Purpose: Returns settings for the appearance of datums.
477         -- These settings can be edited. The default values for
478         -- the three axes are:
479         --          Color: Quantity_NOC_PEACHPUFF
480         --          Type of line: Aspect_TOL_SOLID
481         --          Width: 1.
482     is virtual;
483
484     SetDatumAspect(me:mutable; anAspect: DatumAspect from Prs3d)
485     is virtual;
486         ---Purpose: Sets the modality anAspect for the display of datums.
487
488     DimensionAspect(me:mutable) returns DimensionAspect from Prs3d is virtual;
489     ---Purpose: Returns settings for the appearance of dimensions.
490
491     SetDimensionAspect(me:mutable; theAspect: DimensionAspect from Prs3d) is virtual;
492     ---Purpose: Sets the settings for the appearance of dimensions.
493
494     SetDimLengthModelUnits (me: mutable; theUnits : AsciiString from TCollection) is virtual;
495     ---Purpose: Sets dimension length model units for computing of dimension presentation.
496
497     SetDimAngleModelUnits (me: mutable; theUnits : AsciiString from TCollection) is virtual;
498     ---Purpose: Sets dimension angle model units for computing of dimension presentation.
499
500     DimLengthModelUnits (me) returns AsciiString from TCollection is virtual;
501     ---Purpose: Returns length model units for the dimension presentation.
502     ---C++: return const &
503
504     DimAngleModelUnits (me) returns AsciiString from TCollection is virtual;
505     ---Purpose: Returns angle model units for the dimension presentation.
506     ---C++: return const &
507
508     SetDimLengthDisplayUnits (me: mutable; theUnits : AsciiString from TCollection) is virtual;
509     ---Purpose: Sets length units in which value for dimension presentation is displayed.
510
511     SetDimAngleDisplayUnits (me: mutable; theUnits : AsciiString from TCollection) is virtual;
512     ---Purpose: Sets angle units in which value for dimension presentation is displayed.
513
514     DimLengthDisplayUnits (me) returns AsciiString from TCollection is virtual;
515     ---Purpose: Returns length units in which dimension presentation is displayed.
516     ---C++: return const &
517
518     DimAngleDisplayUnits (me) returns AsciiString from TCollection is virtual;
519     ---Purpose: Returns angle units in which dimension presentation is displayed.
520     ---C++: return const &
521
522     SectionAspect (me : mutable) returns LineAspect from Prs3d is virtual;
523     ---Purpose: The LineAspect for the wire can be edited.
524     --          The default values are:
525     --          Color: Quantity_NOC_ORANGE
526     --          Type of line: Aspect_TOL_SOLID
527     --          Width: 1.
528     --          These attributes are used by the algorithm Prs3d_WFShape.
529
530     SetSectionAspect (me : mutable; theAspect: LineAspect from Prs3d) is virtual;
531     ---Purpose: Sets the parameter theAspect for display attributes of sections.
532
533     SetFaceBoundaryDraw (me           : mutable;
534                          theIsEnabled : Boolean from Standard)
535     is virtual;
536         ---Purpose: Enables or disables face boundary drawing for shading presentations.
537         -- theIsEnabled is a boolean flag indicating whether the face boundaries should be
538         -- drawn or not.
539
540     IsFaceBoundaryDraw (me) returns Boolean from Standard
541     is virtual;
542         ---Purpose: Checks whether the face boundary drawing is enabled or not.
543
544     SetFaceBoundaryAspect (me        : mutable;
545                            theAspect : LineAspect from Prs3d)
546     is virtual;
547         ---Purpose: Sets line aspect for face boundaries.
548         -- theAspect is the line aspect that determines the look of the face boundaries.
549
550     FaceBoundaryAspect (me : mutable) returns LineAspect from Prs3d
551     is virtual;
552         ---Purpose: Returns line aspect of face boundaries.
553
554 fields
555
556     myUIsoAspect: IsoAspect from Prs3d is protected;
557     myVIsoAspect: IsoAspect from Prs3d is protected;
558     myNbPoints  : Integer   from Standard is protected;
559     myIsoOnPlane: Boolean from Standard is protected;
560     myFreeBoundaryAspect: LineAspect from Prs3d is protected;
561     myFreeBoundaryDraw: Boolean from Standard is protected;
562     myUnFreeBoundaryAspect: LineAspect from Prs3d is protected;
563     myUnFreeBoundaryDraw: Boolean from Standard is protected;
564     myWireAspect: LineAspect from Prs3d is protected;
565     myWireDraw: Boolean from Standard is protected;
566     myLineAspect: LineAspect from Prs3d is protected;
567     myTextAspect: TextAspect from Prs3d is protected;
568     myShadingAspect: ShadingAspect from Prs3d is protected;
569     myShadingAspectGlobal: Boolean from Standard is protected;
570     myChordialDeviation: Length from Quantity is protected;
571     myTypeOfDeflection: TypeOfDeflection from Aspect is protected;
572     myMaximalParameterValue: Real from Standard is protected;
573
574     myDeviationCoefficient: Real from Standard is protected;
575     myHLRDeviationCoefficient: Real from Standard is protected;
576
577     myDeviationAngle: Real from Standard is protected;
578     myHLRAngle:       Real from Standard is protected;
579
580     myPointAspect: PointAspect from Prs3d is protected;
581     myVertexDrawMode: VertexDrawMode from Prs3d is protected;
582     myPlaneAspect: PlaneAspect from Prs3d is protected;
583     myArrowAspect: ArrowAspect from Prs3d is protected;
584     myLineDrawArrow: Boolean from Standard is protected;
585     myDrawHiddenLine: Boolean from Standard is protected;
586     myHiddenLineAspect: LineAspect from Prs3d is protected;
587     mySeenLineAspect: LineAspect from Prs3d is protected;
588     myVectorAspect: LineAspect from Prs3d is protected;
589     myDatumAspect: DatumAspect from Prs3d is protected;
590     myDatumScale: Real from Standard is protected;
591
592     myDimensionAspect         : DimensionAspect from Prs3d is protected;
593     myDimensionModelUnits     : DimensionUnits from Prs3d is protected;
594     myDimensionDisplayUnits   : DimensionUnits from Prs3d is protected;
595
596     mySectionAspect       : LineAspect from Prs3d is protected;
597     myFaceBoundaryDraw    : Boolean from Standard is protected;
598     myFaceBoundaryAspect  : LineAspect from Prs3d is protected;
599     myTypeOfHLR           : TypeOfHLR from Prs3d is protected;
600
601 end Drawer;