0024420: Add methods to switch the type of sensitivity in AIS_Circle and AIS_Plane
[occt.git] / src / AIS / AIS_Drawer.cdl
1 -- Created on: 1992-09-18
2 -- Created by: Odile Olivier
3 -- Copyright (c) 1992-1999 Matra Datavision
4 -- Copyright (c) 1999-2012 OPEN CASCADE SAS
5 --
6 -- The content of this file is subject to the Open CASCADE Technology Public
7 -- License Version 6.5 (the "License"). You may not use the content of this file
8 -- except in compliance with the License. Please obtain a copy of the License
9 -- at http://www.opencascade.org and read it completely before using this file.
10 --
11 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13 --
14 -- The Original Code and all software distributed under the License is
15 -- distributed on an "AS IS" basis, without warranty of any kind, and the
16 -- Initial Developer hereby disclaims all such warranties, including without
17 -- limitation, any warranties of merchantability, fitness for a particular
18 -- purpose or non-infringement. Please see the License for the specific terms
19 -- and conditions governing the rights and limitations under the License.
20
21
22
23 class Drawer from AIS inherits Drawer from Prs3d
24
25         ---Purpose: 
26         -- A framework to manage display attributes of interactive objects.
27         -- An interactive object can have a certain number of
28         -- display attributes specific to it. These include
29         -- visualization mode, color, material
30         -- and so on. To deal with this information, the
31         -- interactive context has a Drawer attribute manager
32         -- which is valid by default for the objects it
33         -- controls.   When an interactive object is visualized, the
34         -- required graphic display attributes are first taken from
35         -- its own Drawer if it has the ones required, or from the
36         -- context drawer for those it does not have them.
37         -- The set of display attributes of an interactive object is
38         -- stocked in an AIS_Drawer, which is, in fact, a
39         -- Prs3d_Drawer with the possibility of a link to another
40         -- display attribute manager. This drawer then manages
41         -- the stocked graphic display attributes by specifying
42         -- how the presentation algorithms compute the
43         -- presentation of a specific kind of object. These
44         -- factors involved include color, width and type of line,
45         -- and maximal chordal deviation. The Drawer includes
46         -- instances of the aspect classes providing the default
47         -- values for them.
48         -- Prs3d_Drawer completes   AIS_Drawer by adding
49         -- functions for setting deviation angle and deviation
50         -- coefficient in presentations using hidden line removal.
51         
52 uses
53     Drawer from Prs3d,
54     DatumAspect from Prs3d,
55     LineAspect from Prs3d,
56     TextAspect from Prs3d,
57     PointAspect from Prs3d,
58     ShadingAspect from Prs3d,
59     IsoAspect from Prs3d,
60     DimensionAspect from Prs3d,
61     PlaneAspect from Prs3d,
62     ArrowAspect from Prs3d,
63     TypeOfDeflection from Aspect,
64     NameOfColor from Quantity,
65     PlaneAngle from Quantity,
66     Length from Quantity,
67     TypeOfHLR from Prs3d
68
69 is
70     Create returns mutable Drawer from AIS;
71          ---Purpose:
72          -- Constructs an empty attribute management framework.   
73     TypeOfDeflection(me) returns TypeOfDeflection from Aspect
74     is redefined static;
75          --- Purpose:
76          -- Returns the type of chordal deflection: relative to the
77          -- size of the object or absolute.  
78     
79     MaximalChordialDeviation (me) returns Length from Quantity
80          ---Purpose: Returns the maximal chordal deviation. The default
81          -- value is 0.1. Drawings of curves or patches are
82          -- made with respect to an absolute maximal chordal deviation.
83     is redefined static;
84             
85
86 ------------------------------------------------------------                                                               
87     SetDeviationCoefficient(me: mutable) ;
88          ---Purpose: Sets the hasOwnDeviationCoefficient flag to Standard_False 
89          ---C++: inline
90
91     SetHLRDeviationCoefficient(me: mutable) ;
92          ---Purpose: Sets the deviation coefficient aCoefficient for
93          -- removal of hidden lines created by different
94          -- viewpoints in different presentations. The Default value is 0.02.
95          ---C++: inline
96          
97     SetDeviationAngle(me: mutable) ;
98          ---Purpose: Sets the hasOwnDeviationAngle flag to Standard_False 
99          ---C++: inline
100
101     SetHLRAngle(me: mutable) ;
102          ---Purpose: Sets the angle of maximum chordal deviation for
103          -- removal of hidden lines created by different viewpoints 
104          -- in different presentations. The default value is 20*PI/180.
105          ---C++: inline
106                     
107     SetDeviationCoefficient(me: mutable; aCoefficient: Real from Standard )   
108          ---Purpose: Sets the hasOwnDeviationCoefficient flag to Standard_True,
109          --          sets myOwnDeviationCoefficient and  myPreviousDeviationCoefficient
110     is redefined static;
111     
112     SetHLRDeviationCoefficient(me: mutable; aCoefficient: Real from Standard )   
113          ---Purpose: Sets the hasOwnHLRDeviationCoefficient flag to Standard_True,
114          --          sets myOwnHLRDeviationCoefficient and  myPreviousHLRDeviationCoefficient
115     is redefined static;
116         
117     SetDeviationAngle(me: mutable; anAngle: Real from Standard )  is redefined ;
118          ---Purpose: Sets the hasOwnDeviationAngle flag to Standard_True,
119          --          sets myOwnDeviationAngle and  myPreviousDeviationAngle
120         
121     SetHLRAngle(me: mutable; anAngle: Real from Standard )   
122          ---Purpose: Sets the hasOwnHLRDeviationAngle flag to Standard_True,
123          --          sets myOwnHLRDeviationAngle and  myPreviousHLRDeviationAngle
124     is redefined static;
125
126     SetTypeOfHLR(me: mutable; theTypeOfHLR: TypeOfHLR from Prs3d)
127     is redefined;
128     ---Purpose: Sets the type of HLR algorithm
129     --          used by drawer's interactive objects
130     ---C++: inline
131     
132     TypeOfHLR(me) returns TypeOfHLR from Prs3d
133     is redefined;
134     ---Purpose: Returns the type of HLR algorithm currently in use.
135     ---C++: inline
136
137     DeviationCoefficient(me) returns Real from Standard
138          ---Purpose: Drawings of curves or patches are made with respect
139          -- to a maximal chordal deviation. A Deviation coefficient
140          -- is used in the shading display mode. The shape is
141          -- seen decomposed into triangles. These are used to
142          -- calculate reflection of light from the surface of the
143          -- object. The triangles are formed from chords of the
144          -- curves in the shape. The deviation coefficient gives
145          -- the highest value of the angle with which a chord can
146          -- deviate from a tangent to a   curve. If this limit is
147          -- reached, a new triangle is begun.
148          -- This deviation is absolute and is set through the
149          -- method: SetMaximalChordialDeviation. The default value is 0.001.
150          -- In drawing shapes, however, you are allowed to ask
151          -- for a relative deviation. This deviation will be:
152          -- SizeOfObject * DeviationCoefficient.
153     is redefined static;
154     
155     HLRDeviationCoefficient(me) returns Real from Standard
156         ---Purpose: Returns the real number value of the HLR deviation
157         -- coefficient in this framework, if the flag
158         -- hasOwnHLRDeviationCoefficient is true.
159         -- If hasOwnHLRDeviationCoefficient is false, the
160         -- shape's HLR deviation coefficient is used.
161         -- A Deviation coefficient is used in the shading display
162         -- mode. The shape is seen decomposed into triangles.
163         -- These are used to calculate reflection of light from the
164         -- surface of the object.
165         -- The triangles are formed from chords of the curves in
166         -- the shape. The deviation coefficient give the highest
167         -- value of the angle with which a chord can deviate
168         -- from a tangent to a curve. If this limit is reached, a
169         -- new triangle is begun.
170         -- To find the hidden lines, hidden line display mode
171         -- entails recalculation of the view at each different
172         -- projector perspective.
173         -- Since hidden lines entail calculations of more than
174         -- usual complexity to decompose them into these
175         -- triangles, a deviation coefficient allowing greater
176         -- tolerance is used. This increases efficiency in calculation.
177         -- The Default value is 0.02.
178     is redefined static;   
179     
180     
181     DeviationAngle(me) returns Real from Standard
182         ---Purpose: Returns myOwnDeviationAngle if hasOwnDeviationAngle is True
183         --          else gets myDeviationAngle field from Prs3d_Drawer 
184     is redefined;
185                 
186     HLRAngle(me) returns Real from Standard
187         ---Purpose: Returns the real number value of the deviation angle
188         -- in hidden line removal views. The default value is 20*PI/180.
189         is redefined static;              
190     
191     
192     PreviousDeviationCoefficient(me) returns Real from Standard
193         ---Purpose: Saves the previous value used for the chordal
194         -- deviation coefficient. The default value is 0.1.
195         ---C++: inline
196     is static;          
197   
198     PreviousHLRDeviationCoefficient(me) returns Real from Standard
199         ---Purpose: returns myPreviousHLRDeviationCoefficient
200         ---C++: inline
201     is static;
202
203     PreviousDeviationAngle(me) returns Real from Standard
204         ---Purpose: returns myPreviousDeviationAngle
205         ---C++: inline
206     is  static;
207
208     PreviousHLRDeviationAngle(me) returns Real from Standard
209         ---Purpose: returns myPreviousHLRDeviationAngle
210         ---C++: inline 
211     is  static;
212     
213     IsOwnDeviationCoefficient(me) returns Boolean from Standard;
214         ---Purpose: Returns true if the there is a local setting for deviation
215         -- coefficient in this framework for a specific interactive object.
216         ---C++: inline
217              
218     IsOwnHLRDeviationCoefficient(me) returns Boolean from Standard;
219         ---Purpose: Returns true if the there is a setting for HLR deviation
220         -- coefficient in this framework for a specific interactive object.
221         ---C++: inline
222                                                                
223     IsOwnDeviationAngle(me) returns Boolean from Standard;
224         ---Purpose: Returns true if the there is a local setting for deviation
225         -- angle in this framework for a specific interactive object.
226         ---C++: inline
227
228     IsOwnHLRDeviationAngle(me) returns Boolean from Standard;
229         ---Purpose: Returns true if the there is a setting for HLR deviation
230         -- angle in this framework for a specific interactive object.
231         ---C++: inline
232
233     Discretisation(me) returns Integer from Standard
234     is redefined static;
235         ---Purpose: Draws algorithms using discretisation, a default
236         -- number of points has been set to 17. You can use the
237         -- method Prs3d_Drawer_SetDiscretisation to change this value. 
238     
239     MaximalParameterValue(me) returns Real from Standard
240     is redefined static;
241         ---Purpose:
242         -- Sets the maximum value allowed for the first and last
243         -- parameters of an infinite curve. By default, this value is 500000.
244     
245     IsoOnPlane(me) returns Boolean from Standard 
246         ---Purpose: returns True if the drawing of isos on planes is enabled.
247     is redefined static;
248
249
250 -- 
251 -- Attributes for the U Isoparametric lines of patches.
252 --    
253     UIsoAspect (me:mutable) returns mutable IsoAspect from Prs3d
254          ---Purpose: Defines the attributes which are used when drawing an 
255          --          U isoparametric curve of a face. Defines the number
256          --          of U isoparametric curves to be drawn for a single face.
257          --          The LineAspect for U isoparametric lines can be edited
258          --          (methods SetColor, SetTypeOfLine, SetWidth, SetNumber)
259          --          The default values are:
260          --          COLOR       : Quantity_NOC_GRAY75
261          --          TYPE OF LINE: Aspect_TOL_SOLID
262          --          WIDTH       : 0.5
263          -- These attributes are used by the following algorithms:
264          --          Prs3d_WFDeflectionSurface 
265          --          Prs3d_WFDeflectionRestrictedFace
266
267
268     is redefined static;    
269     
270
271 -- Attributes for the V Isoparametric line of patches.
272
273
274     VIsoAspect (me:mutable) returns mutable IsoAspect from Prs3d
275          ---Purpose: Defines the attributes which are used when drawing an 
276          --          V isoparametric curve of a face. Defines the number
277          --          of V isoparametric curves to be drawn for a single face.
278          --          The LineAspect for V isoparametric lines can be edited
279          --          (methods SetColor, SetTypeOfLine, SetWidth, SetNumber)
280          --          The default values are:
281          --          COLOR       : Quantity_NOC_GRAY82
282          --          TYPE OF LINE: Aspect_TOL_SOLID
283          --          WIDTH       : 0.5
284          --          These attributes are used by the following algorithms:
285          --          Prs3d_WFDeflectionSurface 
286          --          Prs3d_WFDeflectionRestrictedFace
287     is redefined static;    
288     
289
290 -- Attributes for the free boundaries
291
292     FreeBoundaryAspect (me:mutable) returns mutable LineAspect from Prs3d
293          ---Purpose: Returns a link with
294          -- Prs3d_Drawer_FreeBoundaryAspect. Stores the
295          -- values for presentation of free boundaries, in other
296          -- words, boundaries which are not shared . The
297          -- LineAspect for the free boundaries can be edited. The
298          -- default values are: Color: Quantity_NOC_GREEN
299          -- Type of line: Aspect_TOL_SOLID Width: 1.
300          -- These attributes are used by Prs3d_WFShape.
301     is redefined static;
302     
303         
304     FreeBoundaryDraw(me) returns Boolean from Standard 
305          ---Purpose: returns True if the drawing of the free boundaries is enabled.
306     is redefined static;
307     
308
309 -- Attributes for the wires
310
311     WireAspect (me:mutable) returns mutable LineAspect from Prs3d
312          ---Purpose: Returns a link with Prs3d_Drawer_WireAspect.
313          -- This method provides wire aspect settings.
314          -- The LineAspect for wires can be edited. The default values are:
315          --          Color: Quantity_NOC_RED
316          --          Type of line: Aspect_TOL_SOLID
317          --          Width: 1.
318          --          These attributes are used by the following algorithms:
319          --          Prs3d_WFShape
320     is redefined static;    
321
322     HasLineAspect (me) returns Boolean from Standard 
323          ---Purpose: Returns true if the Interactive Object has a line
324          -- visualization aspect.
325          ---C++: inline 
326   is static;      
327
328     HasWireAspect (me) returns Boolean from Standard 
329          ---Purpose: Returns true if the Drawer has a wire aspect setting active.
330          ---C++: inline 
331     is static;      
332
333     WireDraw(me) returns Boolean from Standard 
334          ---Purpose: Returns a link   with Prs3d_Drawer_WireDraw. This
335          -- method returns true if drawing of wires is enabled.
336          -- The default setting is true.
337     is redefined static;
338     
339
340 -- Attributes for the unfree boundaries
341
342     UnFreeBoundaryAspect (me:mutable) returns mutable LineAspect from Prs3d
343          ---Purpose: Returns a link with
344          -- Prs3d_Drawer_UnFreeBoundaryAspect, which
345          -- provides settings for shared boundary line aspects.
346          -- The LineAspect for shared boundaries can be edited.
347          -- The default values are:
348          --          Color: Quantity_NOC_YELLOW
349          --          Type of line: Aspect_TOL_SOLID
350          --          Width: 1.
351          --          These attributes are used by the following algorithms:
352          --          Prs3d_WFShape
353     is redefined static;
354
355         
356     UnFreeBoundaryDraw(me) returns Boolean from Standard 
357          ---Purpose: Returns True if the drawing of the shared boundaries
358          -- is enabled. True is the default setting.
359     is redefined static;
360     
361
362 -- 
363 --  Attributes for the lines.
364 -- 
365
366     LineAspect(me:mutable) returns mutable LineAspect from Prs3d
367         ---Purpose:  Returns a link with Prs3d_Drawer_LineAspect,
368         -- which provides settings for line aspects. These
369         -- settings can be edited. The default values are:         
370         --          Color: Quantity_NOC_YELLOW
371         --          Type of line: Aspect_TOL_SOLID
372         --          Width: 1.
373         -- These attributes are used by the following algorithms:
374         --          Prs3d_Curve
375         --          Prs3d_Line
376         --          Prs3d_HLRShape
377
378     is redefined static;
379     
380   
381
382     HasTextAspect(me) returns Boolean from Standard
383     is static;      
384         ---C++: inline     
385     TextAspect(me:mutable) returns mutable TextAspect from Prs3d
386     --          
387     --          Color: Quantity_NOC_YELLOW
388     is redefined static;                            
389
390     LineArrowDraw(me) returns Boolean from Standard 
391         ---Purpose: Returns True if the drawing of an arrow at the end of
392         -- each line is enabled. The default setting is False.
393     is redefined static;
394     
395     ArrowAspect(me:mutable) returns mutable ArrowAspect from Prs3d 
396     is redefined static;
397     
398     
399 -- -- 
400 --  Attributes for the points
401 -- 
402     PointAspect(me:mutable) returns mutable PointAspect from Prs3d
403         ---Purpose:  Returns the point aspect setting. The default values
404         -- are:        Color: Quantity_NOC_YELLOW
405         --          Type of marker: Aspect_TOM_PLUS
406         --          Scale: 1.
407         --          These attributes are used by the following algorithms:
408         --          Prs3d_Point
409     is redefined static;
410
411     HasPointAspect (me) returns Boolean from Standard 
412         ---Purpose: Returns true if the Drawer has a point aspect setting active. 
413     is static;      
414         ---C++: inline 
415     
416     
417 --  Attributes for the faces:
418 --  
419     ShadingAspect (me:mutable) returns mutable ShadingAspect from Prs3d
420         ---Purpose:
421         -- Returns a link with Prs3d_Drawer_ShadingAspect,
422         -- which provides settings for shading aspects.
423         -- These settings can be edited. The default values are:
424         --    Color: Quantity_NOC_YELLOW
425         --          Material: Graphic3d_NOM_BRASS
426         -- hading aspect is obtained through decomposition of
427         -- 3D faces into triangles, each side of each triangle
428         -- being a chord of the corresponding curved edge in
429         -- the face. Reflection of light in each projector
430         -- perspective is then calculated for each of the
431         -- resultant triangular planes.
432     is redefined static;
433
434     HasShadingAspect (me) returns Boolean from Standard 
435         ---C++: inline 
436         ---Purpose: Returns True if the   Drawer has shading aspect active.
437     is static;      
438         
439     ShadingAspectGlobal(me) returns Boolean from Standard
440     is redefined static;  
441         ---Purpose: Provides the attributes for hidden line removal.
442
443
444     DrawHiddenLine(me) returns Boolean from Standard 
445         ---Purpose: Returns Standard_True if the hidden lines are to be drawn.
446         --          By default the hidden lines are not drawn.
447     is redefined static;
448     
449     HiddenLineAspect(me:mutable) returns mutable LineAspect from Prs3d
450         ---Purpose: Returns a link with
451         -- Prs3d_Drawer_HiddenLineAspect, which provides
452         -- settings for hidden line aspects.
453         -- These settings can be edited. The default values are:
454         --          Color: Quantity_NOC_YELLOW
455         --          Type of line: Aspect_TOL_DASH
456         --          Width: 1.
457     is redefined static;
458
459     
460     SeenLineAspect(me:mutable) returns mutable LineAspect from Prs3d
461         ---Purpose: Returns a link with
462         -- Prs3d_Drawer_SeenLineAspect, which provides
463         -- settings for seen line aspects.
464         -- These settings can be edited. The default values are:
465         --          Color: Quantity_NOC_YELLOW
466         --          Type of line: Aspect_TOL_SOLID
467         --          Width: 1.
468     is redefined static;
469     
470   
471     HasPlaneAspect(me) returns Boolean from Standard;
472         ---C++: inline
473
474     PlaneAspect(me:mutable) returns mutable PlaneAspect from Prs3d
475     is redefined static;
476         ---Purpose:
477         -- Returns a link with Prs3d_Drawer_PlaneAspect.
478         -- This method provides settings for the appearance of planes.
479
480
481     VectorAspect(me:mutable) returns mutable LineAspect from Prs3d
482         ---Purpose: Returns a link with Prs3d_Drawer_VectorAspect,
483         -- which provides settings for the appearance of vectors.
484         -- These settings can be edited. The default values are:
485         --          Color: Quantity_NOC_SKYBLUE
486         --          Type of line: Aspect_TOL_SOLID Width: 1.
487     is redefined static;
488     
489     SetFaceBoundaryDraw (me           : mutable;
490                          theIsEnabled : Boolean from Standard)
491     is redefined static;
492         ---Purpose: Enables or disables drawing of face boundaries for shading presentations.
493         -- The method sets drawing flag owned by the drawer that will be used during
494         -- visualization instead of the one set in link.
495         -- theIsEnabled is a boolean flag indicating whether the face boundaries should be
496         -- drawn or not.
497
498     IsFaceBoundaryDraw (me) returns Boolean from Standard
499     is redefined static;
500         ---Purpose: Checks whether the drawing of face boundaries is enabled or not.
501
502     SetFaceBoundaryAspect (me        : mutable;
503                            theAspect : LineAspect from Prs3d)
504     is redefined static;
505         ---Purpose: Sets line aspect for face boundaries.
506         -- The method sets line aspect owned by the drawer that will be used during
507         -- visualization instead of the one set in link.
508         -- theAspect is the line aspect that determines the look of the face boundaries.
509
510     FaceBoundaryAspect (me : mutable) returns mutable LineAspect from Prs3d
511     is redefined static;
512         ---Purpose: Returns line aspect of face boundaries.
513
514     IsOwnFaceBoundaryDraw (me) returns Boolean from Standard
515     is static;
516         ---Purpose: Returns true if the drawer has its own attribute for 
517         -- "draw face boundaries" flag that overrides the one in the link.
518         ---C++: inline
519
520     IsOwnFaceBoundaryAspect (me) returns Boolean from Standard
521     is static;
522         ---Purpose: Returns true if the drawer has its own attribute for 
523         -- face boundaries aspect that overrides the one in the link.
524         ---C++: inline
525 --
526 --  Attributes for the presentation of a Datum.
527 --  
528
529     HasDatumAspect(me) returns Boolean from Standard;
530         ---C++: inline 
531
532     DatumAspect(me:mutable) returns mutable DatumAspect from Prs3d
533         ---Purpose: Returns a link with Prs3d_Drawer_DatumAspect,
534         -- which provides settings for the appearance of datums.
535         -- These settings can be edited. The default values for
536         -- the three axes are:
537         --          Color: Quantity_NOC_PEACHPUFF
538         --          Type of line: Aspect_TOL_SOLID Width: 1.
539     is redefined static;
540
541 --
542 --  Attributes for the presentation of a dimensions.
543 --  
544
545     DimensionAspect(me:mutable) returns mutable DimensionAspect from Prs3d
546     ---Purpose: Returns a link with Prs3d_Drawer_DimensionAspect,
547 -- which provides settings for the appearance of dimensions.
548     is redefined static;
549
550     HasDimensionAspect (me) returns Boolean from Standard
551         ---C++: inline 
552         ---Purpose: Returns true if the Drawer has a dimension aspect setting active.
553     is static;      
554      
555 -- Attributes for the sections
556
557     SectionAspect (me:mutable) returns mutable LineAspect from Prs3d
558         ---Purpose: Returns a link with Prs3d_Drawer_SectionAspect,
559         -- which provides settings for wires which highlight sections.
560         -- The LineAspect for the wire can be edited.
561         -- The default values are:
562         -- Color: Quantity_NOC_ORANGE
563         -- Type of line: Aspect_TOL_SOLID
564         -- Width: 1.
565         -- These attributes are used by the following algorithms:
566         -- Prs3d_WFShape
567     is redefined static;    
568
569     Link(me:mutable) returns any Drawer from Prs3d
570     is static;
571         ---C++: return const&
572
573     HasLink(me) returns Boolean from Standard
574     is static;
575         ---C++: inline
576
577     Link (me:mutable; aDrawer: Drawer from Prs3d)     
578     is static;
579         ---C++: inline
580
581     
582     ClearLocalAttributes(me:mutable) is virtual;    
583         ---Purpose: Removes attributes stored in a Local Context.    
584     
585     WasLastLocal(me) returns Boolean from Standard;
586         ---C++: inline
587         ---Purpose: Returns true if the last called attribute was local; false if it was global.
588     
589     HasLocalAttributes(me) returns Boolean from Standard;
590         ---C++: inline
591         ---Purpose:
592         -- Returns true if a Local Context has stored attributes
593         -- for Interactive Objects.
594
595 fields
596     myLink                           : Drawer from Prs3d;
597     hasLocalAttributes               : Boolean from Standard;           
598     
599     myhasOwnDeviationCoefficient     : Boolean from Standard;
600     myOwnDeviationCoefficient        : Real from Standard;
601     myPreviousDeviationCoefficient   : Real from Standard;
602     
603     myhasOwnHLRDeviationCoefficient  : Boolean from Standard;
604     myOwnHLRDeviationCoefficient     : Real from Standard;
605     myPreviousHLRDeviationCoefficient: Real from Standard;
606     
607     myhasOwnDeviationAngle           : Boolean from Standard;
608     myOwnDeviationAngle              : Real from Standard;
609     myPreviousDeviationAngle         : Real from Standard;
610     
611     myhasOwnHLRDeviationAngle        : Boolean from Standard;
612     myOwnHLRDeviationAngle           : Real from Standard; 
613     myPreviousHLRDeviationAngle      : Real from Standard;
614     myHasOwnFaceBoundaryDraw         : Boolean from Standard;
615 end Drawer;
616  
617