OCC22318 Regression (since OCCT 6.3.1): bad shading of small cylinder (forum thread...
[occt.git] / src / Extrema / Extrema.cdl
CommitLineData
7fd59977 1-- File: Extrema.cdl
2-- Created: Tue Feb 26 15:01:07 1991
3-- Author: Isabelle GRIGNON
4-- <isg@topsn3>
5---Copyright: Matra Datavision 1991
6
7package Extrema
8 ---Purpose: This package calculates the distances between
9 -- points, curves and surfaces.
10 -- In general case, the algorithm to find the
11 -- distances is a minimization algorithm of a function
12 -- of variables: F(X). It is stopped when:
13 -- for X1=X+Dx, F(X) and F(X1) are the same.
14 -- The value of Dx can be calculated for all the
15 -- algorithms.
16
17 ---Level : Public.
18 -- All methods of all classes will be public.
19
20
21uses
22 gp,
23 math,
24 TColStd,
25 TColgp,
26 StdFail,
27 Standard,
28 TCollection,
29 GeomAbs,
30 Adaptor3d,
31 Adaptor2d,
32 Geom,
33 Geom2d
34
35is
36
37 class CurveTool;
38 class Curve2dTool;
39
40 generic class Point;
41 class POnSurf;
42
43 generic class ExtPSOfRev;
44
45 -----------------------------------
46 -- Treatement of elementary curves
47 -- and surfaces extremas:
48 -----------------------------------
49 class ExtPElC;
50 class ExtPElC2d;
51 class ExtPElS;
52 class ExtPExtS;
53 class ExtPRevS;
54 class ExtElC;
55 class ExtElC2d;
56
57 class ExtElCS;
58 class ExtElSS;
59
60 -----------------------------------------------
61 -- generic classes for POINT-CURVE extremas:
62 -----------------------------------------------
63 private generic class FuncExtPC, SeqPC;
64 generic class GenExtPC, PCF;
65 generic class GenLocateExtPC, PCLocF;
66
67 -------------------------------------------------
68 -- classes for POINT-SURFACE extremas:
69 -------------------------------------------------
70 private class FuncExtPS;
71 class GenExtPS;
72 class GenLocateExtPS;
73
74 ----------------------------------------------
75 -- generic classes for CURVE-CURVE extremas:
76 ----------------------------------------------
77 private generic class FuncExtCC, SeqPOnC;
78 generic class GenExtCC, CCF;
79 generic class GenLocateExtCC, CCLocF;
80 generic class CurveCache;
81
82
83 ----------------------------------------------
84 -- classes for CURVE-SURFACE extremas:
85 ----------------------------------------------
86 private class FuncExtCS;
87 class GenExtCS;
88 class GenLocateExtCS;
89
90 ----------------------------------------------
91 -- classes for SURFACE-SURFACE extremas:
92 ----------------------------------------------
93 private class FuncExtSS;
94 class GenExtSS;
95 class GenLocateExtSS;
96
97 --------------------------------------------------
98 -- the following classes switches the curve or
99 -- surface types for approximate elementary curves.
100 -- the tools are the tools from Adaptor3d.
101 --------------------------------------------------
102 -- Point-Curve:
103 generic class GExtPC, EPC;
104 generic class GLocateExtPC, ELPC, LocEPC;
105
106 -- Point-Surface:
107 class ExtPS;
108
109 -- Curve-Curve:
110 -- 3d:
111 generic class GExtCC, CCache, ECC;
112 generic class GLocateExtCC, LCCache, ELCC, LocECC;
113 -- 2d:
114 generic class GExtCC2d, CCache2d, ECC2d;
115 generic class GLocateExtCC2d, LCCache2d, ELCC2d, LocECC2d;
116
117 -- Curve-Surface:
118 class ExtCS;
119
120 -- Surface-Surface:
121 class ExtSS;
122
123
124 -----------------------------------------------
125 -- the following class is used to locate
126 -- a first evaluation of the possible extremas.
127 -----------------------------------------------
128 generic class CurveLocator;
129
130
131 --------------------------------------
132 --- instantiations of generic classes:
133 --------------------------------------
134 class POnCurv instantiates Point from Extrema(Pnt from gp);
135 class POnCurv2d instantiates Point from Extrema(Pnt2d from gp);
136
137 class Array1OfPOnCurv instantiates
138 Array1 from TCollection(POnCurv);
139
140 class Array2OfPOnCurv instantiates
141 Array2 from TCollection(POnCurv);
142
143 class Array1OfPOnCurv2d instantiates
144 Array1 from TCollection(POnCurv2d);
145
146 class Array2OfPOnCurv2d instantiates
147 Array2 from TCollection(POnCurv2d);
148
149 class Array1OfPOnSurf instantiates
150 Array1 from TCollection(POnSurf);
151
152 class Array2OfPOnSurf instantiates
153 Array2 from TCollection(POnSurf);
154
155
156 class HArray1OfPOnCurv instantiates
157 HArray1 from TCollection(POnCurv, Array1OfPOnCurv);
158
159 class HArray2OfPOnCurv instantiates
160 HArray2 from TCollection(POnCurv, Array2OfPOnCurv);
161
162 class HArray1OfPOnCurv2d instantiates
163 HArray1 from TCollection(POnCurv2d,Array1OfPOnCurv2d);
164
165 class HArray2OfPOnCurv2d instantiates
166 HArray2 from TCollection(POnCurv2d,Array2OfPOnCurv2d);
167
168
169 class HArray1OfPOnSurf instantiates
170 HArray1 from TCollection(POnSurf, Array1OfPOnSurf);
171
172 class HArray2OfPOnSurf instantiates
173 HArray2 from TCollection(POnSurf, Array2OfPOnSurf);
174
175
176 class SequenceOfPOnCurv instantiates
177 Sequence from TCollection(POnCurv);
178
179 class SequenceOfPOnCurv2d instantiates
180 Sequence from TCollection(POnCurv2d);
181
182 class SequenceOfPOnSurf instantiates
183 Sequence from TCollection(POnSurf);
184
185
186
187 --- 3d instantiations:
188 class ExtPC instantiates GExtPC from Extrema
189 (Curve from Adaptor3d,
190 CurveTool from Extrema,
191 ExtPElC from Extrema,
192 Pnt from gp,
193 Vec from gp,
194 POnCurv from Extrema,
195 SequenceOfPOnCurv from Extrema);
196
197
198 class LocateExtPC instantiates GLocateExtPC from Extrema
199 (Curve from Adaptor3d,
200 CurveTool from Extrema,
201 ExtPElC from Extrema,
202 Pnt from gp,
203 Vec from gp,
204 POnCurv from Extrema,
205 SequenceOfPOnCurv from Extrema);
206
207
208 class ExtCC instantiates GExtCC from Extrema
209 (Curve from Adaptor3d,
210 CurveTool from Extrema,
211 Curve from Adaptor3d,
212 CurveTool from Extrema);
213
214 class LocateExtCC instantiates GLocateExtCC from Extrema
215 (Curve from Adaptor3d,
216 CurveTool from Extrema,
217 Curve from Adaptor3d,
218 CurveTool from Extrema);
219
220
221 --- 2d instantiations:
222 class ExtPC2d instantiates GExtPC from Extrema
223 (Curve2d from Adaptor2d,
224 Curve2dTool from Extrema,
225 ExtPElC2d from Extrema,
226 Pnt2d from gp,
227 Vec2d from gp,
228 POnCurv2d from Extrema,
229 SequenceOfPOnCurv2d from Extrema);
230
231
232 class LocateExtPC2d instantiates GLocateExtPC from Extrema
233 (Curve2d from Adaptor2d,
234 Curve2dTool from Extrema,
235 ExtPElC2d from Extrema,
236 Pnt2d from gp,
237 Vec2d from gp,
238 POnCurv2d from Extrema,
239 SequenceOfPOnCurv2d from Extrema);
240
241
242 class ExtCC2d instantiates GExtCC2d from Extrema
243 (Curve2d from Adaptor2d,
244 Curve2dTool from Extrema,
245 Curve2d from Adaptor2d,
246 Curve2dTool from Extrema);
247
248 class LocateExtCC2d instantiates GLocateExtCC2d from Extrema
249 (Curve2d from Adaptor2d,
250 Curve2dTool from Extrema,
251 Curve2d from Adaptor2d,
252 Curve2dTool from Extrema);
253
254
255
256
257end Extrema;