1 -- File: Extrema_GLocateExtCC.cdl
2 -- Created: Wed Jul 6 15:37:56 1994
3 -- Author: Laurent PAINNOT
5 ---Copyright: Matra Datavision 1994
7 generic class GLocateExtCC from Extrema (Curve1 as any;
12 ---Purpose: It calculates the distance between two curves with
13 -- a close point; these distances can be maximum or
16 uses POnCurv from Extrema,
18 HArray1OfPnt from TColgp
20 raises DomainError from Standard,
24 class LCCache instantiates CurveCache from Extrema (Curve1, Pnt from gp, HArray1OfPnt from TColgp);
26 class ELCC instantiates GenExtCC from Extrema
32 HArray1OfPnt from TColgp,
38 class LocECC instantiates GenLocateExtCC from Extrema
49 Create (C1: Curve1; C2: Curve2; U0,V0: Real)
51 ---Purpose: Calculates the distance with a close point. The
52 -- close point is defined by a parameter value on each
54 -- The function F(u,v)=distance(C1(u),C2(v)) has an
55 -- extremun when gradient(f)=0. The algorithm searchs
56 -- the zero near the close point.
58 -- if U0 and V0 are outside the definition ranges of the
61 IsDone (me) returns Boolean
62 ---Purpose: Returns True if the distance is found.
65 SquareDistance (me) returns Real
66 ---Purpose: Returns the value of the extremum square distance.
67 raises NotDone from StdFail
68 -- if IsDone(me)=False.
71 Point (me; P1,P2: out POnCurv)
72 ---Purpose: Returns the points of the extremum distance.
73 -- P1 is on the first curve, P2 on the second one.
74 raises NotDone from StdFail
75 -- if IsDone(me)=False.