0022692: A wrong function is called inside the Extrema_CurveTool::IsRational
[occt.git] / src / Extrema / Extrema_GLocateExtCC.cdl
1 -- File:        Extrema_GLocateExtCC.cdl
2 -- Created:     Wed Jul  6 15:37:56 1994
3 -- Author:      Laurent PAINNOT
4 --              <lpa@metrox>
5 ---Copyright:    Matra Datavision 1994
6
7 generic class GLocateExtCC from Extrema (Curve1    as any;
8                                          Tool1     as any;
9                                          Curve2    as any;
10                                          Tool2     as any)
11                                         
12         ---Purpose: It calculates the distance between two curves with
13         --          a close point; these distances can be maximum or 
14         --          minimum.
15
16 uses   POnCurv from Extrema,
17        Pnt from gp,
18        HArray1OfPnt from TColgp
19
20 raises  DomainError  from Standard,
21         NotDone      from StdFail
22
23
24     class LCCache instantiates CurveCache from Extrema (Curve1, Pnt from gp, HArray1OfPnt from TColgp);
25
26     class ELCC    instantiates GenExtCC      from Extrema
27         (Curve1,
28          Tool1,
29          Curve2,
30          Tool2,
31          LCCache,
32          HArray1OfPnt from TColgp,
33          POnCurv,
34          Pnt,
35          Vec);
36
37
38     class LocECC    instantiates GenLocateExtCC      from Extrema
39         (Curve1,
40          Tool1,
41          Curve2,
42          Tool2,
43          POnCurv,
44          Pnt,
45          Vec);
46
47
48 is
49     Create (C1: Curve1; C2: Curve2; U0,V0: Real)
50         returns GLocateExtCC
51         ---Purpose: Calculates the distance with a close point. The
52         --          close point is defined by a parameter value on each 
53         --          curve.
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.
57         raises  DomainError;
58                 -- if U0 and V0 are outside the definition ranges of the 
59                 -- curves.
60     
61     IsDone (me) returns Boolean
62         ---Purpose: Returns True if the distance is found.
63         is static;
64
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.
69         is static;
70
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.
76         is static;
77
78 fields
79     myDone  : Boolean;
80     mySqDist: Real;
81     myPoint1: POnCurv;
82     myPoint2: POnCurv;
83
84 end GLocateExtCC;