Integration of OCCT 6.5.0 from SVN
[occt.git] / src / Aspect / Aspect_AspectLine.cdl
1 --
2 -- File:        Aspect_AspectLine.cdl
3 -- Created:     Jeudi 22 Aout 1991
4 -- Author:      NW,JPB,CAL
5 --
6 ---Copyright:   MatraDatavision 1991,1992,1993,1994
7 --
8
9 deferred class AspectLine from Aspect
10         
11 inherits
12
13         TShared
14
15         ---Purpose: This class allows the definition of a group
16         --          of attributes for the LINE primitive
17         --          The attributes are:
18         --              * Colour
19         --              * Type
20         --              * Thickness
21         --          When any value of the group is modified
22         --          all graphic objects using the group are modified.
23
24 uses
25
26         Color           from Quantity,
27
28         TypeOfLine      from Aspect 
29
30 raises
31
32         AspectLineDefinitionError       from Aspect
33
34 is
35
36         Initialize;
37         ---Level: Public
38         ---Purpose: Initialise the constructor for Graphic3d_AspectLine3d.
39         --
40         -- Default values :
41         --              Color = Quantity_NOC_YELLOW;
42         --              Type  = Aspect_TOL_SOLID;
43         --              Width = 1.0;
44         --
45
46         Initialize ( AColor     : Color from Quantity;
47                      AType      : TypeOfLine from Aspect;
48                      AWidth     : Real from Standard )
49         ---Level: Public
50         ---Purpose: Initialise the values for the
51         --          constructor of Graphic3d_AspectLine3d.
52         --
53         raises AspectLineDefinitionError from Aspect;
54         -- if the width is a negative value.
55
56         ---------------------------------------------------
57         -- Category: Methods to modify the class definition
58         ---------------------------------------------------
59
60         SetColor ( me           : mutable;
61                    AColor       : Color from Quantity );
62         ---Level: Public
63         ---Purpose: Modifies the colour of <me>.
64         ---Category: Methods to modify the class definition
65
66         SetType ( me    : mutable;
67                   AType : TypeOfLine from Aspect );
68         ---Level: Public
69         ---Purpose: Modifies the type of <me>.
70         ---Category: Methods to modify the class definition
71
72         SetWidth ( me           : mutable;
73                    AWidth       : Real from Standard )
74         ---Level: Public
75         ---Purpose: Modifies the thickness of <me>.
76         --  Category: Methods to modify the class definition
77         --  Warning: Raises AspectLineDefinitionError if the
78         --          width is a negative value.
79         raises AspectLineDefinitionError from Aspect;
80
81         ----------------------------
82         -- Category: Inquire methods
83         ----------------------------
84
85         Values ( me;
86                  AColor : out Color from Quantity;
87                  AType  : out TypeOfLine from Aspect;
88                  AWidth : out Real from Standard );
89         ---Level: Public
90         ---Purpose: Returns the current values of the group <me>.
91         ---Category: Inquire methods
92
93 --\f
94
95 fields
96
97 --
98 -- Class        :       Aspect_AspectLine
99 --
100 -- Purpose      :       Declaration of variables specific to
101 --                      drawing lines
102 --
103 -- Reminder     :       A line drawing context is defined by:
104 --                      - the colour
105 --                      - the type
106 --                      - the thickness
107 --
108
109         -- the colour
110         MyColor :       Color from Quantity;
111
112         -- the type
113         MyType  :       TypeOfLine from Aspect;
114
115         -- the thickness
116         MyWidth :       Real from Standard;
117
118 end AspectLine;