0024023: Revamp the OCCT Handle -- ambiguity
[occt.git] / src / Aspect / Aspect_AspectLine.cdl
1 -- Created by: NW,JPB,CAL
2 -- Copyright (c) 1991-1999 Matra Datavision
3 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
4 --
5 -- This file is part of Open CASCADE Technology software library.
6 --
7 -- This library is free software; you can redistribute it and/or modify it under
8 -- the terms of the GNU Lesser General Public License version 2.1 as published
9 -- by the Free Software Foundation, with special exception defined in the file
10 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
11 -- distribution for complete text of the license and disclaimer of any warranty.
12 --
13 -- Alternatively, this file may be used under the terms of Open CASCADE
14 -- commercial license or contractual agreement.
15
16 deferred class AspectLine from Aspect
17         
18 inherits
19
20         TShared
21
22         ---Purpose: This class allows the definition of a group
23         --          of attributes for the LINE primitive
24         --          The attributes are:
25         --              * Colour
26         --              * Type
27         --              * Thickness
28         --          When any value of the group is modified
29         --          all graphic objects using the group are modified.
30
31 uses
32
33         Color           from Quantity,
34
35         TypeOfLine      from Aspect 
36
37 raises
38
39         AspectLineDefinitionError       from Aspect
40
41 is
42
43         Initialize;
44         ---Level: Public
45         ---Purpose: Initialise the constructor for Graphic3d_AspectLine3d.
46         --
47         -- Default values :
48         --              Color = Quantity_NOC_YELLOW;
49         --              Type  = Aspect_TOL_SOLID;
50         --              Width = 1.0;
51         --
52
53         Initialize ( AColor     : Color from Quantity;
54                      AType      : TypeOfLine from Aspect;
55                      AWidth     : Real from Standard )
56         ---Level: Public
57         ---Purpose: Initialise the values for the
58         --          constructor of Graphic3d_AspectLine3d.
59         --
60         raises AspectLineDefinitionError from Aspect;
61         -- if the width is a negative value.
62
63         ---------------------------------------------------
64         -- Category: Methods to modify the class definition
65         ---------------------------------------------------
66
67         SetColor ( me           : mutable;
68                    AColor       : Color from Quantity );
69         ---Level: Public
70         ---Purpose: Modifies the colour of <me>.
71         ---Category: Methods to modify the class definition
72
73         SetType ( me    : mutable;
74                   AType : TypeOfLine from Aspect );
75         ---Level: Public
76         ---Purpose: Modifies the type of <me>.
77         ---Category: Methods to modify the class definition
78
79         SetWidth ( me           : mutable;
80                    AWidth       : Real from Standard )
81         ---Level: Public
82         ---Purpose: Modifies the thickness of <me>.
83         --  Category: Methods to modify the class definition
84         --  Warning: Raises AspectLineDefinitionError if the
85         --          width is a negative value.
86         raises AspectLineDefinitionError from Aspect;
87
88         ----------------------------
89         -- Category: Inquire methods
90         ----------------------------
91
92         Values ( me;
93                  AColor : out Color from Quantity;
94                  AType  : out TypeOfLine from Aspect;
95                  AWidth : out Real from Standard );
96         ---Level: Public
97         ---Purpose: Returns the current values of the group <me>.
98         ---Category: Inquire methods
99
100 --\f
101
102 fields
103
104 --
105 -- Class        :       Aspect_AspectLine
106 --
107 -- Purpose      :       Declaration of variables specific to
108 --                      drawing lines
109 --
110 -- Reminder     :       A line drawing context is defined by:
111 --                      - the colour
112 --                      - the type
113 --                      - the thickness
114 --
115
116         -- the colour
117         MyColor :       Color from Quantity;
118
119         -- the type
120         MyType  :       TypeOfLine from Aspect;
121
122         -- the thickness
123         MyWidth :       Real from Standard;
124
125 end AspectLine;