0024624: Lost word in license statement in source files
[occt.git] / src / AIS / AIS_Circle.cdl
1 -- Created on: 1997-01-21
2 -- Created by: Prestataire Christiane ARMAND
3 -- Copyright (c) 1997-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 under
9 -- the terms of the GNU Lesser General Public License 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 --   GG  :  GER61351 17/11/1999 Change SetColor() with a compatible Quantity_Color instead
18 --                                     the restricted NameOfColor.
19
20 class Circle from AIS inherits InteractiveObject from AIS
21
22         ---Purpose: Constructs circle datums to be used in construction of
23         -- composite shapes.
24
25 uses 
26     Circle                from Geom,
27     Point                 from Geom,
28     Presentation          from Prs3d,
29     PresentationManager3d from PrsMgr,
30     NameOfColor           from Quantity,
31     Color                         from Quantity,
32     Selection             from SelectMgr,
33     Projector             from Prs3d,
34     Transformation        from Geom,
35     Line                  from AIS,
36     KindOfInteractive from AIS
37     
38
39 is
40     Create(aCircle : Circle from Geom) 
41     returns mutable Circle from AIS;
42         ---Purpose: Initializes this algorithm for constructing AIS circle
43         -- datums initializes the circle aCircle
44     Create(theCircle : Circle from Geom;
45            theUStart : Real from Standard;
46            theUEnd   : Real from Standard;
47            theIsFilledCircleSens : Boolean from Standard = Standard_False) 
48     returns mutable Circle from AIS;
49     ---Purpose: Initializes this algorithm for constructing AIS circle datums.    
50     -- Initializes the circle theCircle, the arc
51     --   starting point theUStart, the arc ending point theUEnd,
52     --   and the type of sensitivity theIsFilledCircleSens.
53
54     Compute(me            : mutable;
55             aPresentationManager: PresentationManager3d from PrsMgr;
56             aPresentation : mutable Presentation from Prs3d;
57             aMode         : Integer from Standard = 0) 
58     is redefined static  private;
59     
60     Compute(me:mutable;
61                 aProjector: Projector from Prs3d;
62                 aPresentation: mutable Presentation from Prs3d)
63     is redefined static private;     
64
65     Compute(me            : mutable;
66             aProjector    : Projector from Prs3d;
67             aTrsf         : Transformation from Geom;
68             aPresentation : mutable Presentation from Prs3d)
69     is redefined;
70          ---Purpose: computes the presentation according to a point of view
71          --          given by <aProjector>.
72          --          To be Used when the associated degenerated Presentations
73          --          have been transformed by <aTrsf> which is not a Pure
74          --          Translation. The HLR Prs can't be deducted automatically
75          --          WARNING :<aTrsf> must be applied
76          --           to the object to display before computation  !!!
77
78 -- Methods from SelectableObject
79
80     ComputeSelection(me         : mutable;
81                      aSelection : mutable Selection from SelectMgr;
82                      aMode      : Integer from Standard)is private;
83
84  
85 -- Methods from InteractiveObject
86
87   
88   Signature(me) returns Integer from Standard is redefined;
89          ---C++: inline
90          ---Purpose: Returns index 6 by default.
91   
92   Type(me) returns KindOfInteractive from AIS is redefined;
93          ---C++: inline
94          ---Purpose: Indicates that the type of Interactive Object is a datum.
95   
96   Circle(me) returns any Circle from Geom;
97          ---C++: inline
98          ---C++: return const & 
99          ---Purpose: Returns the circle component defined in SetCircle.
100    
101   Parameters(me; u1,u2 : in out Real from Standard);
102          ---C++: inline
103          ---Purpose:
104          -- Constructs instances of the starting point and the end
105          -- point parameters, u1 and u2.
106  
107   SetCircle(me:mutable;aCircle : Circle from Geom);
108          ---C++: inline
109          ---Purpose: Allows you to provide settings for the circle datum aCircle.
110   
111   SetFirstParam(me:mutable;u:Real);
112          ---C++: inline
113          ---Purpose: Allows you to set the parameter u for the starting point of an arc.
114   
115   SetLastParam(me:mutable;u:Real);
116          ---C++: inline
117          ---Purpose: Allows you to provide the parameter u for the end point of an arc.
118
119     SetColor(me :mutable; aColor : NameOfColor from Quantity)
120     is redefined static;
121         --- Purpose: Assigns the color aColor to the solid line boundary of the circle datum.
122     SetColor(me :mutable; aColor : Color from Quantity)
123     is redefined static;
124          
125     SetWidth(me:mutable; aValue:Real from Standard)
126     is redefined static; 
127         ---Purpose: Assigns the width aValue to the solid line boundary of the circle datum.
128     UnsetColor(me:mutable)
129     is redefined static; 
130         ---Purpose: Removes color from the solid line boundary of the circle datum.    
131     UnsetWidth(me:mutable)    
132     is redefined static; 
133         ---Purpose: Removes width settings from the solid line boundary of the circle datum.
134
135     IsFilledCircleSens (me) returns Boolean from Standard;
136     ---C++: inline
137     ---Purpose: Returns the type of sensitivity for the circle;
138
139     SetFilledCircleSens (me: mutable;
140                          theIsFilledCircleSens : Boolean from Standard);
141     ---C++: inline
142     ---Purpose: Sets the type of sensitivity for the circle. If theIsFilledCircleSens set to Standard_True
143     -- then the whole circle will be detectable, otherwise only the boundary of the circle.
144
145     ComputeCircle(me: mutable;
146                   aPresentation : mutable Presentation from Prs3d)
147     is private;
148      
149     ComputeArc(me: mutable;
150                aPresentation : mutable Presentation from Prs3d)
151     is private;
152
153     ComputeCircleSelection(me: mutable;
154                            aSelection : mutable Selection from SelectMgr)
155     is private;
156      
157     ComputeArcSelection(me: mutable;
158                         aSelection : mutable Selection from SelectMgr)
159     is private;
160
161 fields
162
163     myComponent   : Circle  from Geom;
164     myUStart      : Real    from Standard;
165     myUEnd        : Real    from Standard;
166     myCircleIsArc : Boolean from Standard;
167     myIsFilledCircleSens : Boolean from Standard;
168     
169 end Circle ;