bb48f4623b1f37593d0b4e60235e0cc3d43d2032
[occt.git] / src / GccIter / GccIter_FunctionTanCuCu.cdl
1 -- Created on: 1992-02-20
2 -- Created by: Remy GILET
3 -- Copyright (c) 1992-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
5 --
6 -- This file is part of Open CASCADE Technology software library.
7 --
8 -- This library is free software; you can redistribute it and/or modify it under
9 -- the terms of the GNU Lesser General Public License version 2.1 as published
10 -- by the Free Software Foundation, with special exception defined in the file
11 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 -- distribution for complete text of the license and disclaimer of any warranty.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
16
17 generic class FunctionTanCuCu from GccIter (
18     TheCurve     as any;
19     TheCurveTool as any) -- as CurvePGTool from GccInt (TheCurve)
20
21 inherits FunctionSetWithDerivatives from math 
22
23     ---Purpose: This abstract class describes a Function of 1 Variable 
24     --          used to find a line tangent to two curves.
25
26 uses Vector from math,
27      Matrix from math,
28      Circ2d from gp,
29      Pnt2d  from gp,
30      Vec2d  from gp,
31      Type3  from GccIter
32
33      
34 raises ConstructionError
35
36 is
37
38 Create (Curv1 : TheCurve ;
39         Curv2 : TheCurve ) returns FunctionTanCuCu from GccIter;
40
41 Create (Circ1 : Circ2d   from gp ;
42         Curv2 : TheCurve         ) returns FunctionTanCuCu from GccIter;
43
44 InitDerivative(me                   : in out                      ;
45                X                    :        Vector from math     ;
46                Point1,Point2        :    out Pnt2d  from gp       ;
47                Tan1,Tan2,D21,D22    :    out Vec2d  from gp       )
48 raises ConstructionError
49 is static;
50
51 NbVariables(me) returns Integer;
52     ---Purpose: returns the number of variables of the function.
53
54 NbEquations(me) returns Integer;
55     ---Purpose: returns the number of equations of the function.
56
57 Value (me : in out                 ;
58        X  :        Vector from math;
59        F  :    out Vector from math) returns Boolean;
60     ---Purpose: Computes the value of the function F for the variable X.
61     --          It returns True if the computation is successfully done,
62     --          False otherwise.
63
64 Derivatives (me    : in out                 ;
65              X     :        Vector from math;
66              Deriv :    out Matrix from math) returns Boolean;
67     ---Purpose: Computes the derivative of the function F for the variable X.
68     --          It returns True if the computation is successfully done,
69     --          False otherwise.
70
71 Values (me    : in out                 ;
72         X     :        Vector from math;
73         F     : out    Vector from math;
74         Deriv : out    Matrix from math) returns Boolean;
75     ---Purpose: Computes the value and the derivative of the function F 
76     --          for the variable X.
77     --          It returns True if the computation is successfully done,
78     --          False otherwise.
79
80 fields
81
82 TheCurve1     : TheCurve               ;
83 TheCurve2     : TheCurve               ;
84 TheCirc1      : Circ2d   from gp       ;
85 TheType       : Type3    from GccIter  ;
86
87 end FunctionTanCuCu;
88
89
90