0024510: Remove unused local variables
[occt.git] / src / IntCurve / IntCurve_IntCurveCurveGen.cdl
1 -- Created on: 1992-05-22
2 -- Created by: Jacques GOUSSARD
3 -- Copyright (c) 1992-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
9 -- under the terms of the GNU Lesser General Public 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 IntCurveCurveGen from IntCurve (
18     TheCurve         as any;
19     TheCurveTool     as any) -- as CurveTool from IntCurve(TheCurve)
20
21         ---Purpose: Provides the algorithm to intersect two 2D-curves.
22         --          The curves may be parametric curves or Conic (see
23         --          the template class CurveTool).
24         --
25         -- Note: The  exception  ConstructionError  is   raised  in
26         --          constructors  or in Perform  methods when a domain
27         --          (Domain from IntRes2d)  is not  correct, i-e  when
28         --          the method  TheType  returns GeomAbs_Circle     or
29         --          GeomAbs_Ellipsei   and the corresponding domain is
30         --          not  closed (use the SetEquivalentParameters for a
31         --          domain on  a circle  or an  ellipse)  or  when the
32         --          method  TheType   returns  GeomAbs_Other and   the
33         --          domain     of  the   curve   is    not     bounded
34         --          (HasFirstPoint() && HasLastPoint() return True).
35         ---Level: Advanced
36         
37 inherits Intersection from IntRes2d
38
39 uses Domain        from IntRes2d,
40      IntConicConic from IntCurve,
41      IConicTool    from IntCurve,
42      Array1OfReal  from TColStd
43  
44 raises ConstructionError from Standard
45
46                       
47         class TheProjPCur instantiates ProjPCurGen from IntCurve(
48                         TheCurve,
49                         TheCurveTool);
50                        
51         class TheIntConicCurve instantiates IntConicCurveGen from IntCurve
52                         (IConicTool      from  IntCurve,
53                          TheCurve,
54                          TheCurveTool,
55                          TheProjPCur);
56
57         class IntConicCurve instantiates UserIntConicCurveGen from IntCurve
58                         (IConicTool      from  IntCurve,
59                          TheCurve,
60                          TheCurveTool,
61                          TheIntConicCurve);
62
63         class TheIntPCurvePCurve  instantiates IntPolyPolyGen from IntCurve
64                         (TheCurve,
65                          TheCurveTool,
66                          TheProjPCur);
67 is
68
69     Create
70     
71         ---Purpose: Empty constructor.
72         returns IntCurveCurveGen from IntCurve;
73         ---C++: inline
74
75
76     Create (C:  TheCurve; TolConf,Tol: Real from Standard)
77     
78         ---Purpose: Self Intersection of a curve
79         ---C++: inline
80         returns IntCurveCurveGen from IntCurve
81         raises ConstructionError from Standard;
82
83
84     Create (C:  TheCurve; D: Domain from IntRes2d;
85             TolConf,Tol: Real from Standard)
86             
87         ---Purpose: Self Intersection of a curve with a domain.
88         ---C++: inline
89         returns IntCurveCurveGen from IntCurve
90         raises ConstructionError from Standard;
91             
92
93     Create (C1:  TheCurve; C2:  TheCurve;
94             TolConf,Tol: Real from Standard)
95
96         ---Purpose: Intersection between 2 curves.
97         ---C++: inline 
98         returns IntCurveCurveGen from IntCurve
99         raises ConstructionError from Standard;
100
101
102     Create (C1:  TheCurve; D1: Domain from IntRes2d;
103             C2:  TheCurve; 
104             TolConf,Tol: Real from Standard)
105
106         ---Purpose: Intersection between 2 curves.
107         ---C++: inline
108         returns IntCurveCurveGen from IntCurve
109         raises ConstructionError from Standard;
110         
111         
112     Create (C1:  TheCurve; 
113             C2:  TheCurve; D2: Domain from IntRes2d;
114             TolConf,Tol: Real from Standard)
115     
116         ---Purpose: Intersection between 2 curves.
117         ---C++: inline
118         returns IntCurveCurveGen from IntCurve
119         raises ConstructionError from Standard;
120
121
122
123     Create (C1:  TheCurve; D1: Domain from IntRes2d;
124             C2:  TheCurve; D2: Domain from IntRes2d;
125             TolConf,Tol: Real from Standard)
126
127         ---Purpose: Intersection between 2 curves.
128         ---C++: inline
129         returns IntCurveCurveGen from IntCurve
130         raises ConstructionError from Standard;
131
132
133
134     Perform (me: in out;
135              C1:  TheCurve; D1: Domain from IntRes2d;
136              C2:  TheCurve; D2: Domain from IntRes2d;
137              TolConf,Tol: Real from Standard)
138         ---Purpose: Intersection between 2 curves.
139
140         raises ConstructionError from Standard
141         is static;
142
143     Perform (me: in out;
144              C1:  TheCurve; 
145              C2:  TheCurve; 
146              TolConf,Tol: Real from Standard)
147         
148         ---Purpose: Intersection between 2 curves.
149         ---C++: inline
150         raises ConstructionError from Standard
151         is static;
152
153     Perform (me: in out;
154              C1:  TheCurve; D1: Domain from IntRes2d;
155              TolConf,Tol: Real from Standard)
156
157         ---Purpose: Intersection between 2 curves.
158         raises ConstructionError from Standard
159         is static;
160
161     Perform (me: in out;
162              C1:  TheCurve; 
163              TolConf,Tol: Real from Standard)
164
165         ---Purpose: Intersection between 2 curves.
166
167         raises ConstructionError from Standard
168         is static;
169
170     Perform (me: in out;
171              C1:  TheCurve; D1: Domain from IntRes2d;
172              C2:  TheCurve; 
173              TolConf,Tol: Real from Standard)
174         ---C++: inline
175         ---Purpose: Intersection between 2 curves.
176
177         raises ConstructionError from Standard
178         is static;
179
180     Perform (me: in out;
181              C1:  TheCurve; 
182              C2:  TheCurve; D2: Domain from IntRes2d;
183              TolConf,Tol: Real from Standard)
184         ---C++: inline
185         ---Purpose: Intersection between 2 curves.
186
187         raises ConstructionError from Standard
188         is static;
189
190
191     ComputeDomain(me;  C1: TheCurve; TolDomain: Real from Standard)
192     
193         ---Purpose: Create a domain from a curve
194         returns Domain from IntRes2d
195         is static;
196         
197     
198     
199     InternalPerform(me: in out;
200              C1:  TheCurve; D1: Domain from IntRes2d;
201              C2:  TheCurve; D2: Domain from IntRes2d;
202              TolConf,Tol: Real from Standard;
203              Composite: Boolean from Standard)
204
205         ---Purpose: Intersection between 2 curves.
206
207         raises ConstructionError from Standard
208         is static private;
209         
210         
211         
212     InternalCompositePerform_noRecurs(me: in out;
213             NbInterC1: Integer from Standard;
214             C1:  TheCurve;
215             NumInterC1: Integer from Standard;
216             Tab1: Array1OfReal from TColStd;
217             D1: Domain from IntRes2d;          
218             NbInterC2: Integer from Standard;
219             C2:  TheCurve;
220             NumInterC2: Integer from Standard;
221             Tab2: Array1OfReal from TColStd;
222             D2: Domain from IntRes2d;
223             TolConf,Tol: Real from Standard)
224         
225         ---Purpose: Part of InternalCompositePerform function
226      
227         raises ConstructionError from Standard
228         is static private;
229         
230   
231
232     InternalCompositePerform(me: in out;
233              C1:  TheCurve; D1: Domain from IntRes2d;
234              N1,NB1: Integer from Standard;
235              Tab1: Array1OfReal from TColStd;
236              C2:  TheCurve; D2: Domain from IntRes2d;
237              N2,NB2: Integer from Standard;
238              Tab2: Array1OfReal from TColStd;
239              TolConf,Tol: Real from Standard;
240              Composite: Boolean from Standard)
241
242         ---Purpose: Intersection between 2 curves.
243
244         raises ConstructionError from Standard
245         is static private;
246
247
248 fields
249
250     param1inf     : Real              from Standard;
251     param1sup     : Real              from Standard;
252     param2inf     : Real              from Standard;
253     param2sup     : Real              from Standard;
254     intconiconi   : IntConicConic     from IntCurve;
255     intconicurv   : TheIntConicCurve;
256     intcurvcurv   : TheIntPCurvePCurve;
257
258 end IntCurveCurveGen;
259
260
261
262
263