0023634: Eliminate Polyline and Polygon usage in drawers
[occt.git] / src / Prs3d / Prs3d_AngleAspect.cdl
1 -- Created on: 1993-06-03
2 -- Created by: Jean-Louis FRENKEL
3 -- Copyright (c) 1993-1999 Matra Datavision
4 -- Copyright (c) 1999-2012 OPEN CASCADE SAS
5 --
6 -- The content of this file is subject to the Open CASCADE Technology Public
7 -- License Version 6.5 (the "License"). You may not use the content of this file
8 -- except in compliance with the License. Please obtain a copy of the License
9 -- at http://www.opencascade.org and read it completely before using this file.
10 --
11 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13 --
14 -- The Original Code and all software distributed under the License is
15 -- distributed on an "AS IS" basis, without warranty of any kind, and the
16 -- Initial Developer hereby disclaims all such warranties, including without
17 -- limitation, any warranties of merchantability, fitness for a particular
18 -- purpose or non-infringement. Please see the License for the specific terms
19 -- and conditions governing the rights and limitations under the License.
20
21
22 class AngleAspect from Prs3d inherits CompositeAspect from Prs3d 
23
24         ---Purpose: A framework for defining how an angle will be
25         -- displayed in a presentation. Aspects of angle display include:
26         -- -   display of the arrow pointing to the angle
27         -- -   display of the line making up the shaft of the arrow
28         -- -   display of the text referring to the angle.
29         --   The definition set by this class is then passed to the
30         -- attribute manager Prs3d_Drawer.
31         -- Any object which requires a value for angle aspect as
32         -- an argument may then be given the attribute manager
33         -- as a substitute argument in the form of a field such as
34         -- myDrawer for example.
35         
36 uses 
37
38     LineAspect from Prs3d,
39     TextAspect from Prs3d,
40     ArrowAspect from Prs3d
41
42 is
43
44 -- 
45 --  Attributes for the lines.
46 -- 
47     Create returns mutable AngleAspect from Prs3d;
48
49     LineAspect(me) returns mutable LineAspect from Prs3d;
50         --- Purpose: Returns the setting determining how the line making
51         -- up the shaft of the arrow will be displayed.   
52     
53     SetLineAspect(me: mutable; anAspect: LineAspect from Prs3d);
54         ---Purpose: Sets how the line making up the shaft of an arrow will be displayed.
55     TextAspect(me) returns mutable TextAspect from Prs3d is static;
56         --- Purpose: Returns the setting determining how text in the
57         -- presentation of an angle will be displayed.   
58     
59     SetTextAspect(me:mutable; anAspect: TextAspect from Prs3d) is static;
60         ---Purpose: Sets how text in the presentation of an angle will be displayed.
61     ArrowAspect(me) returns mutable ArrowAspect from Prs3d is static;
62         ---Purpose: Returns the setting determining how an arrow head
63         -- which points to an angle will be displayed.    
64     
65     SetArrowAspect(me: mutable; anAspect: ArrowAspect from Prs3d) is static;
66         ---Purpose: Sets how an arrow head which points to an angle will be displayed.
67
68 fields
69
70     myLineAspect: LineAspect from Prs3d;
71     myArrowAspect: ArrowAspect from Prs3d;
72     myTextAspect: TextAspect from Prs3d;
73     
74 end AngleAspect from Prs3d;