2 -- Created: Tue Feb 26 15:01:07 1991
3 -- Author: Isabelle GRIGNON
5 ---Copyright: Matra Datavision 1991
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
18 -- All methods of all classes will be public.
43 generic class ExtPSOfRev;
45 -----------------------------------
46 -- Treatement of elementary curves
47 -- and surfaces extremas:
48 -----------------------------------
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;
67 -------------------------------------------------
68 -- classes for POINT-SURFACE extremas:
69 -------------------------------------------------
70 private class FuncExtPS;
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;
83 ----------------------------------------------
84 -- classes for CURVE-SURFACE extremas:
85 ----------------------------------------------
86 private class FuncExtCS;
90 ----------------------------------------------
91 -- classes for SURFACE-SURFACE extremas:
92 ----------------------------------------------
93 private class FuncExtSS;
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 --------------------------------------------------
103 generic class GExtPC, EPC;
104 generic class GLocateExtPC, ELPC, LocEPC;
111 generic class GExtCC, CCache, ECC;
112 generic class GLocateExtCC, LCCache, ELCC, LocECC;
114 generic class GExtCC2d, CCache2d, ECC2d;
115 generic class GLocateExtCC2d, LCCache2d, ELCC2d, LocECC2d;
124 -----------------------------------------------
125 -- the following class is used to locate
126 -- a first evaluation of the possible extremas.
127 -----------------------------------------------
128 generic class CurveLocator;
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);
137 class Array1OfPOnCurv instantiates
138 Array1 from TCollection(POnCurv);
140 class Array2OfPOnCurv instantiates
141 Array2 from TCollection(POnCurv);
143 class Array1OfPOnCurv2d instantiates
144 Array1 from TCollection(POnCurv2d);
146 class Array2OfPOnCurv2d instantiates
147 Array2 from TCollection(POnCurv2d);
149 class Array1OfPOnSurf instantiates
150 Array1 from TCollection(POnSurf);
152 class Array2OfPOnSurf instantiates
153 Array2 from TCollection(POnSurf);
156 class HArray1OfPOnCurv instantiates
157 HArray1 from TCollection(POnCurv, Array1OfPOnCurv);
159 class HArray2OfPOnCurv instantiates
160 HArray2 from TCollection(POnCurv, Array2OfPOnCurv);
162 class HArray1OfPOnCurv2d instantiates
163 HArray1 from TCollection(POnCurv2d,Array1OfPOnCurv2d);
165 class HArray2OfPOnCurv2d instantiates
166 HArray2 from TCollection(POnCurv2d,Array2OfPOnCurv2d);
169 class HArray1OfPOnSurf instantiates
170 HArray1 from TCollection(POnSurf, Array1OfPOnSurf);
172 class HArray2OfPOnSurf instantiates
173 HArray2 from TCollection(POnSurf, Array2OfPOnSurf);
176 class SequenceOfPOnCurv instantiates
177 Sequence from TCollection(POnCurv);
179 class SequenceOfPOnCurv2d instantiates
180 Sequence from TCollection(POnCurv2d);
182 class SequenceOfPOnSurf instantiates
183 Sequence from TCollection(POnSurf);
187 --- 3d instantiations:
188 class ExtPC instantiates GExtPC from Extrema
189 (Curve from Adaptor3d,
190 CurveTool from Extrema,
191 ExtPElC from Extrema,
194 POnCurv from Extrema,
195 SequenceOfPOnCurv from Extrema);
198 class LocateExtPC instantiates GLocateExtPC from Extrema
199 (Curve from Adaptor3d,
200 CurveTool from Extrema,
201 ExtPElC from Extrema,
204 POnCurv from Extrema,
205 SequenceOfPOnCurv from Extrema);
208 class ExtCC instantiates GExtCC from Extrema
209 (Curve from Adaptor3d,
210 CurveTool from Extrema,
211 Curve from Adaptor3d,
212 CurveTool from Extrema);
214 class LocateExtCC instantiates GLocateExtCC from Extrema
215 (Curve from Adaptor3d,
216 CurveTool from Extrema,
217 Curve from Adaptor3d,
218 CurveTool from Extrema);
221 --- 2d instantiations:
222 class ExtPC2d instantiates GExtPC from Extrema
223 (Curve2d from Adaptor2d,
224 Curve2dTool from Extrema,
225 ExtPElC2d from Extrema,
228 POnCurv2d from Extrema,
229 SequenceOfPOnCurv2d from Extrema);
232 class LocateExtPC2d instantiates GLocateExtPC from Extrema
233 (Curve2d from Adaptor2d,
234 Curve2dTool from Extrema,
235 ExtPElC2d from Extrema,
238 POnCurv2d from Extrema,
239 SequenceOfPOnCurv2d from Extrema);
242 class ExtCC2d instantiates GExtCC2d from Extrema
243 (Curve2d from Adaptor2d,
244 Curve2dTool from Extrema,
245 Curve2d from Adaptor2d,
246 Curve2dTool from Extrema);
248 class LocateExtCC2d instantiates GLocateExtCC2d from Extrema
249 (Curve2d from Adaptor2d,
250 Curve2dTool from Extrema,
251 Curve2d from Adaptor2d,
252 Curve2dTool from Extrema);