7fd59977 |
1 | -- File: Contap_ContourGen.cdl |
2 | -- Created: Fri Feb 5 09:39:18 1993 |
3 | -- Author: Jacques GOUSSARD |
4 | -- <jag@topsn2> |
5 | ---Copyright: Matra Datavision 1993 |
6 | |
7 | |
8 | generic class ContourGen from Contap |
9 | (TheVertex as any; |
10 | TheArc as any; |
11 | TheSurface as any; |
12 | TheArcTool as any; -- as ArcTool from Contap(TheArc) |
13 | TheSurfaceTool as any; -- as SurfaceTool from Contap(TheSurface) |
14 | TheContTool as any; -- as ContTool from Contap(TheVertex,TheArc, |
15 | -- TheSurface) |
16 | TheTopolTool as Transient)-- as TopolTool from IntStart(TheVertex, |
17 | -- TheArc) |
18 | |
19 | ---Purpose: |
20 | |
21 | |
22 | uses PathPoint from IntSurf, |
23 | PathPointTool from IntSurf, |
24 | SequenceOfPathPoint from IntSurf, |
25 | InteriorPoint from IntSurf, |
26 | InteriorPointTool from IntSurf, |
27 | SequenceOfInteriorPoint from IntSurf, |
28 | Pnt from gp, |
29 | Vec from gp |
30 | |
31 | |
32 | raises NotDone from StdFail, |
33 | OutOfRange from Standard, |
34 | ConstructionError from Standard |
35 | |
36 | class ThePoint instantiates Point from Contap |
37 | (TheVertex, |
38 | TheArc); |
39 | |
40 | class TheSequenceOfPoint instantiates Sequence from TCollection |
41 | (ThePoint); |
42 | |
43 | class TheHSequenceOfPoint instantiates HSequence from TCollection |
44 | (ThePoint,TheSequenceOfPoint); |
45 | |
46 | |
47 | class TheLine instantiates Line from Contap |
48 | (TheVertex, |
49 | TheArc, |
50 | ThePoint, |
51 | TheHSequenceOfPoint); |
52 | |
53 | |
54 | class TheSequenceOfLine instantiates Sequence from TCollection |
55 | (TheLine); |
56 | |
57 | |
58 | class TheSurfProps instantiates SurfProps from Contap |
59 | (TheSurface, |
60 | TheSurfaceTool); |
61 | |
62 | |
63 | class TheSurfFunction instantiates SurfFunction from Contap |
64 | (TheSurface, |
65 | TheSurfaceTool, |
66 | TheSurfProps from Contap, |
67 | TheContTool); |
68 | |
69 | class TheArcFunction instantiates ArcFunction from Contap |
70 | (TheArc, |
71 | TheSurface, |
72 | TheArcTool, |
73 | TheSurfaceTool, |
74 | TheSurfProps from Contap, |
75 | TheContTool); |
76 | |
77 | |
78 | class TheSearch instantiates SearchOnBoundaries from IntStart |
79 | (TheVertex, |
80 | TheArc, |
81 | TheArcTool, |
82 | TheContTool, |
83 | TheTopolTool, |
84 | TheArcFunction from Contap); |
85 | |
86 | |
87 | class TheIWalking instantiates IWalking from IntWalk |
88 | (PathPoint from IntSurf, |
89 | PathPointTool from IntSurf, |
90 | SequenceOfPathPoint from IntSurf, |
91 | InteriorPoint from IntSurf, |
92 | InteriorPointTool from IntSurf, |
93 | SequenceOfInteriorPoint from IntSurf, |
94 | TheSurface, |
95 | TheSurfaceTool, |
96 | TheSurfFunction from Contap); |
97 | |
98 | |
99 | class TheSearchInside instantiates SearchInside from IntStart |
100 | (TheSurface, |
101 | TheSurfaceTool, |
102 | TheTopolTool, |
103 | TheContTool, |
104 | TheSurfFunction from Contap); |
105 | |
106 | is |
107 | |
108 | Create |
109 | |
110 | returns ContourGen from Contap; |
111 | |
112 | |
113 | Create(Direction: Vec from gp) |
114 | |
115 | returns ContourGen from Contap; |
116 | |
117 | |
118 | Create(Direction: Vec from gp; Angle: Real from Standard) |
119 | |
120 | returns ContourGen from Contap; |
121 | |
122 | |
123 | Create(Eye: Pnt from gp) |
124 | |
125 | returns ContourGen from Contap; |
126 | |
127 | |
128 | Create(Surf: TheSurface; Domain: TheTopolTool; |
129 | Direction: Vec from gp) |
130 | |
131 | ---Purpose: Creates the contour in a given direction. |
132 | |
133 | returns ContourGen from Contap; |
134 | |
135 | |
136 | Create(Surf: TheSurface; Domain: TheTopolTool; |
137 | Direction: Vec from gp; Angle: Real from Standard) |
138 | |
139 | ---Purpose: Creates the contour in a given direction. |
140 | |
141 | returns ContourGen from Contap; |
142 | |
143 | |
144 | Create(Surf: TheSurface; Domain: TheTopolTool; |
145 | Eye: Pnt from gp) |
146 | |
147 | ---Purpose: Creates the contour for a perspective view. |
148 | |
149 | returns ContourGen from Contap; |
150 | |
151 | |
152 | Perform(me: in out; Surf: TheSurface; Domain: TheTopolTool) |
153 | |
154 | ---Purpose: Creates the contour in a given direction. |
155 | |
156 | raises ConstructionError from Standard |
157 | is static; |
158 | |
159 | |
160 | Perform(me: in out; Surf: TheSurface; Domain: TheTopolTool; |
161 | Direction: Vec from gp) |
162 | |
163 | ---Purpose: Creates the contour in a given direction. |
164 | |
165 | is static; |
166 | |
167 | |
168 | Perform(me: in out; Surf: TheSurface; Domain: TheTopolTool; |
169 | Direction: Vec from gp; Angle: Real from Standard) |
170 | |
171 | ---Purpose: Creates the contour in a given direction. |
172 | |
173 | is static; |
174 | |
175 | |
176 | Perform(me: in out; Surf: TheSurface; Domain: TheTopolTool; |
177 | Eye: Pnt from gp) |
178 | |
179 | ---Purpose: Creates the contour for a perspective view. |
180 | |
181 | is static; |
182 | |
183 | |
184 | Init(me: in out; Direction: Vec from gp) |
185 | |
186 | is static; |
187 | |
188 | |
189 | Init(me: in out; Direction: Vec from gp; Angle: Real from Standard) |
190 | |
191 | is static; |
192 | |
193 | |
194 | Init(me: in out; Eye: Pnt from gp) |
195 | |
196 | is static; |
197 | |
198 | |
199 | IsDone(me) |
200 | |
201 | returns Boolean from Standard |
202 | ---C++: inline |
203 | |
204 | is static; |
205 | |
206 | |
207 | IsEmpty(me) |
208 | |
209 | ---Purpose: Returns true if the is no line. |
210 | |
211 | returns Boolean from Standard |
212 | ---C++: inline |
213 | |
214 | raises NotDone from StdFail |
215 | |
216 | is static; |
217 | |
218 | |
219 | NbLines(me) |
220 | |
221 | returns Integer from Standard |
222 | ---C++: inline |
223 | |
224 | raises NotDone from StdFail |
225 | |
226 | is static; |
227 | |
228 | |
229 | Line(me; Index: Integer from Standard) |
230 | |
231 | returns TheLine from Contap |
232 | ---C++: return const& |
233 | ---C++: inline |
234 | |
235 | raises NotDone from StdFail, |
236 | OutOfRange from Standard |
237 | |
238 | is static; |
239 | |
240 | |
241 | SurfaceFunction(me : in out) |
242 | returns TheSurfFunction |
243 | ---Purpose: Returns a reference on the internal |
244 | -- SurfaceFunction. This is used to compute tangents |
245 | -- on the lines. |
246 | ---C++: return & |
247 | ---C++: inline |
248 | is static; |
249 | |
250 | |
251 | Perform(me: in out; Domain: TheTopolTool) |
252 | |
253 | is static private; |
254 | |
255 | |
256 | PerformAna(me: in out; Domain: TheTopolTool) |
257 | |
258 | is static private; |
259 | |
260 | |
261 | fields |
262 | |
263 | done : Boolean from Standard; |
264 | slin : TheSequenceOfLine from Contap; |
265 | solrst : TheSearch from Contap; |
266 | solins : TheSearchInside from Contap; |
267 | mySFunc : TheSurfFunction from Contap; |
268 | myAFunc : TheArcFunction from Contap; |
269 | modeset : Boolean from Standard; |
270 | |
271 | end ContourGen; |