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