0024138: Exception during projection of the point on the face
[occt.git] / src / Extrema / Extrema_CurveLocator.cdl
1 -- Created on: 1992-07-21
2 -- Created by: Laurent PAINNOT
3 -- Copyright (c) 1992-1999 Matra Datavision
4 -- Copyright (c) 1999-2012 OPEN CASCADE SAS
5 --
6 -- The content of this file is subject to the Open CASCADE Technology Public
7 -- License Version 6.5 (the "License"). You may not use the content of this file
8 -- except in compliance with the License. Please obtain a copy of the License
9 -- at http://www.opencascade.org and read it completely before using this file.
10 --
11 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13 --
14 -- The Original Code and all software distributed under the License is
15 -- distributed on an "AS IS" basis, without warranty of any kind, and the
16 -- Initial Developer hereby disclaims all such warranties, including without
17 -- limitation, any warranties of merchantability, fitness for a particular
18 -- purpose or non-infringement. Please see the License for the specific terms
19 -- and conditions governing the rights and limitations under the License.
20
21
22
23
24
25 generic class CurveLocator from Extrema 
26     (Curve1 as any;
27      Tool1  as any;   -- as ToolCurve(Curve1)
28      Curve2 as any;
29      Tool2  as any;   -- as ToolCurve(Curve2)
30      POnC   as any;
31      Pnt    as any)
32                                         
33      
34 is
35
36     Locate (myclass; P: Pnt; C: Curve1; NbU: Integer; Papp: out POnC);
37     ---Purpose: Among a set of points {C(ui),i=1,NbU}, locate the point
38     --          P=C(uj) such that:
39     --           distance(P,C) = Min{distance(P,C(ui))}
40
41
42     Locate (myclass; P: Pnt; C: Curve1; NbU: Integer; Umin, Usup: Real;Papp: out POnC);
43     ---Purpose: Among a set of points {C(ui),i=1,NbU}, locate the point
44     --          P=C(uj) such that:
45     --           distance(P,C) = Min{distance(P,C(ui))}
46     --           The research is done between umin and usup.
47
48
49    Locate (myclass; C1: Curve1; C2: Curve2; NbU, NbV: Integer; Papp1, Papp2: out POnC);
50     ---Purpose: Among two sets of points {C1(ui),i=1,NbU} and
51     --          {C2(vj),j=1,NbV}, locate the two points P1=C1(uk) and 
52     --          P2=C2(vl) such that:
53     --           distance(P1,P2) = Min {distance(C1(ui),C2(vj))}.
54
55
56 end CurveLocator;