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