0023625: New functionality building reflect lines on a shape
[occt.git] / src / Contap / Contap_ContAna.cdl
1 -- Created on: 1993-03-04
2 -- Created by: Jacques GOUSSARD
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
23 class ContAna from Contap
24
25         ---Purpose: This class provides the computation of the contours
26         --          for quadric surfaces.
27
28 uses Sphere    from gp,
29      Cylinder  from gp,
30      Cone      from gp,
31      Lin       from gp,
32      Circ      from gp,
33      Pnt       from gp,
34      Dir       from gp,
35      CurveType from GeomAbs
36
37
38 raises NotDone     from StdFail,
39        DomainError from Standard,
40        OutOfRange  from Standard
41
42 is
43
44     Create
45     
46         returns ContAna from Contap;
47         
48         
49     Perform(me: in out; S: Sphere from gp; D: Dir from gp)
50     
51         is static;
52
53
54     Perform(me: in out; S: Sphere from gp; D  : Dir from gp; 
55                                            Ang: Real from Standard)
56     
57         is static;
58
59
60     Perform(me: in out; S: Sphere from gp; Eye: Pnt from gp)
61     
62         is static;
63
64
65     Perform(me: in out; C: Cylinder from gp; D: Dir from gp)
66     
67         is static;
68
69
70     Perform(me: in out; C: Cylinder from gp; D  : Dir from gp;
71                                              Ang: Real from Standard)
72     
73         is static;
74
75
76     Perform(me: in out; C: Cylinder from gp; Eye: Pnt from gp)
77     
78         ---Purpose: 
79     
80         is static;
81
82
83     Perform(me: in out; C: Cone from gp; D: Dir from gp)
84     
85         is static;
86
87
88     Perform(me: in out; C: Cone from gp; D  : Dir from gp;
89                                          Ang: Real from Standard)
90     
91         is static;
92
93
94     Perform(me: in out; C: Cone from gp; Eye: Pnt from gp)
95     
96         ---Purpose: 
97     
98         is static;
99
100
101     IsDone(me)
102     
103         returns Boolean from Standard
104         ---C++: inline
105
106         is static;
107         
108
109     NbContours(me)
110     
111         returns Integer from Standard
112         ---C++: inline
113         
114         raises NotDone from StdFail
115         
116         is static;
117
118
119
120     TypeContour(me)
121     
122         ---Purpose: Returns GeomAbs_Line or GeomAbs_Circle, when
123         --          IsDone() returns True.
124     
125         returns CurveType from GeomAbs
126         ---C++: inline
127         
128         raises NotDone     from StdFail,
129                DomainError from Standard
130         
131         is static;
132
133
134     Circle(me)
135     
136         returns Circ from gp
137         ---C++: inline
138         
139         raises NotDone from StdFail,
140                DomainError from Standard
141
142
143         is static;
144
145
146     Line(me; Index: Integer from Standard)
147
148         returns Lin from gp
149         
150         raises NotDone from StdFail,
151                DomainError from Standard,
152                OutOfRange  from Standard
153
154         is static;
155
156
157 fields
158
159     done  : Boolean   from Standard;
160     nbSol : Integer   from Standard;
161     typL  : CurveType from GeomAbs;
162     pt1   : Pnt       from gp;
163     pt2   : Pnt       from gp;
164     pt3   : Pnt       from gp;
165     pt4   : Pnt       from gp;
166     dir1  : Dir       from gp;
167     dir2  : Dir       from gp;
168     dir3  : Dir       from gp;  
169     dir4  : Dir       from gp;  
170     prm   : Real      from Standard;
171
172 end ContAna;