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 | |
17 | class 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 | |
46 | uses |
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 | |
66 | is |
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 | |
618 | fields |
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 |
645 | end Drawer; |
646 | |
647 | |