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