0024428: Implementation of LGPL license
[occt.git] / src / Aspect / Aspect_AspectMarker.cdl
1 -- Created on: 1991-09-02
2 -- Created by: NW,JPB,CAL
3 -- Copyright (c) 1991-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
5 --
6 -- This file is part of Open CASCADE Technology software library.
7 --
8 -- This library is free software; you can redistribute it and / or modify it
9 -- under the terms of the GNU Lesser General Public version 2.1 as published
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.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
16
17 deferred class AspectMarker from Aspect
18
19 inherits
20
21         TShared
22
23         ---Purpose: This class allows the definition of a group
24         --          of attributes for the primitive MARKER.
25         --          the attributes are:
26         --              * Colour
27         --              * Type
28         --              * Scale factor
29         --          When any value of the group is modified
30         --          all graphic objects using the group are modified
31
32 uses
33
34         Color           from Quantity,
35
36         TypeOfMarker    from Aspect
37
38 raises
39
40         AspectMarkerDefinitionError     from Aspect
41
42 is
43
44         Initialize;
45         ---Level: Public
46         ---Purpose: Initialise the constructor for Graphic3d_AspectMarker3d.
47         --
48         -- defaults values :
49         --
50         --      Color   = Quantity_NOC_YELLOW;
51         --      Type    = Aspect_TOM_X;
52         --      Scale   = 1.0;
53
54         Initialize ( AColor     : Color from Quantity;
55                      AType      : TypeOfMarker from Aspect;
56                      AScale     : Real from Standard )
57         ---Level: Public
58         ---Purpose: Initialise the values for the
59         --          constructor of Graphic3d_AspectMarker3d.
60         --  Warning: Raises AspectMarkerDefinitionError if the
61         --          scale is a negative value.
62         raises AspectMarkerDefinitionError from Aspect;
63
64         ---------------------------------------------------
65         -- Category: Methods to modify the class definition
66         ---------------------------------------------------
67
68         SetColor ( me           : mutable;
69                    AColor       : Color from Quantity );
70         ---Level: Public
71         ---Purpose: Modifies the colour of <me>.
72         ---Category: Methods to modify the class definition
73
74         SetScale ( me           : mutable;
75                    AScale       : Real from Standard )
76         ---Level: Public
77         ---Purpose: Modifies the scale factor of <me>.
78         --          Marker type Aspect_TOM_POINT is not affected
79         --          by the marker size scale factor. It is always
80         --          the smallest displayable dot.
81         --  Warning: Raises AspectMarkerDefinitionError if the
82         --          scale is a negative value.
83         raises AspectMarkerDefinitionError from Aspect;
84
85         SetType ( me    : mutable;
86                   AType : TypeOfMarker from Aspect );
87         ---Level: Public
88         ---Purpose: Modifies the type of marker <me>.
89         ---Category: Methods to modify the class definition
90
91         ----------------------------
92         -- Category: Inquire methods
93         ----------------------------
94
95         Values ( me;
96                  AColor : out Color from Quantity;
97                  AType  : out TypeOfMarker from Aspect;
98                  AScale : out Real from Standard );
99         ---Level: Public
100         ---Purpose: Returns the current values of the group <me>.
101         ---Category: Inquire methods
102
103 --\f
104
105 fields
106
107 --
108 -- Class        :       Aspect_AspectMarker
109 --
110 -- Purpose      :       Declaration of variables specific to the context of
111 --                      drawing markers
112 --
113 -- Reminder     :       A drawing context for markers is defined by :
114 --                      - the colour
115 --                      - the type
116 --                      - the scale
117 --
118
119         -- the colour
120         MyColor :       Color from Quantity;
121
122         -- the type
123         MyType  :       TypeOfMarker from Aspect;
124
125         -- the scale
126         MyScale :       Real from Standard;
127
128 end AspectMarker;