0024096: Eliminate compiler warning C4505 in MSVC++ with warning level 4
[occt.git] / src / Extrema / Extrema_GenLocateExtCC.cdl
1 -- Created on: 1995-07-18
2 -- Created by: Modelistation
3 -- Copyright (c) 1995-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 generic class  GenLocateExtCC from Extrema 
23 (Curve1    as any;
24  Tool1     as any;  -- as ToolCurve(Curve1);
25  Curve2    as any;
26  Tool2     as any;  -- as ToolCurve(Curve2);
27  POnC      as any;
28  Pnt       as any;
29  Vec       as any)
30                                         
31         ---Purpose: It calculates the distance between two curves with
32         --          a close point; these distances can be maximum or 
33         --          minimum.
34
35
36 raises  DomainError  from Standard,
37         NotDone      from StdFail
38
39 private class CCLocF instantiates FuncExtCC (Curve1, Tool1,  
40                                              Curve2, Tool2,  
41                                              POnC, Pnt, Vec);
42
43 is
44     Create (C1: Curve1; C2: Curve2; U0,V0: Real; TolU,TolV: Real)
45         returns GenLocateExtCC
46         ---Purpose: Calculates the distance with a close point. The
47         --          close point is defined by a parameter value on each 
48         --          curve.
49         --          The function F(u,v)=distance(C1(u),C2(v)) has an 
50         --          extremun when gradient(f)=0. The algorithm searchs
51         --          the zero near the close point.
52         raises  DomainError;
53                 -- if U0 and V0 are outside the definition ranges of the 
54                 -- curves.
55     
56     IsDone (me) returns Boolean
57         ---Purpose: Returns True if the distance is found.
58         is static;
59
60     SquareDistance (me) returns Real
61         ---Purpose: Returns the value of the extremum square distance.
62         raises  NotDone from StdFail
63                 -- if IsDone(me)=False.
64         is static;
65
66     Point (me; P1, P2: out POnC)
67         ---Purpose: Returns the points of the extremum distance. 
68         --          P1 is on the first curve, P2 on the second one.
69         raises  NotDone from StdFail
70                 -- if IsDone(me)=False.
71         is static;
72
73
74 fields
75     myDone  : Boolean;
76     mySqDist: Real;
77     myPoint1: POnC;
78     myPoint2: POnC;
79
80 end GenLocateExtCC;