1 -- File: Prs3d_ArrowAspect.cdl
2 -- Created: Fri Jun 11 11:28:18 1993
3 -- Author: Jean-Louis FRENKEL
5 -- Modified GG : GER61351 01/02/00 Add SetColor() & Aspect() methods
6 ---Copyright: Matra Datavision 1993
9 class ArrowAspect from Prs3d inherits CompositeAspect from Prs3d
10 ---Purpose: A framework for displaying arrows in representations
11 -- of dimensions and relations.
14 PlaneAngle from Quantity,
15 NameOfColor from Quantity,
17 AspectLine3d from Graphic3d
20 InvalidAngle from Prs3d
23 Create returns mutable ArrowAspect from Prs3d;
24 ---Purpose: Constructs an empty framework for displaying arrows
25 -- in representations of lengths. The lengths displayed
26 -- are either on their own or in chamfers, fillets,
27 -- diameters and radii.
28 Create (anAngle: PlaneAngle from Quantity; aLength: Length from Quantity)
29 returns mutable ArrowAspect from Prs3d;
30 --- Purpose: Constructs a framework to display an arrow with a
31 -- shaft of the length aLength and having a head with
32 -- sides at the angle anAngle from each other.
34 SetAngle(me: mutable; anAngle: PlaneAngle from Quantity)
35 ---Purpose: defines the angle of the arrows.
36 raises InvalidAngle from Prs3d
39 Angle(me) returns PlaneAngle from Quantity
40 ---Purpose: returns the current value of the angle used when drawing an arrow.
43 SetLength(me: mutable; aLength: Length from Quantity)
44 ---Purpose: defines the length of the arrows.
47 Length(me) returns Length from Quantity
48 ---Purpose: returns the current value of the length used when drawing an arrow.
51 SetColor(me: mutable; aColor: Color from Quantity);
53 SetColor(me: mutable; aColor: NameOfColor from Quantity);
55 Aspect(me) returns AspectLine3d from Graphic3d;
57 Print( me; s: in out OStream from Standard)
61 myArrowAspect: AspectLine3d from Graphic3d;
62 myAngle: PlaneAngle from Quantity;
63 myLength: Length from Quantity;
65 end ArrowAspect from Prs3d;