0024428: Implementation of LGPL license
[occt.git] / src / BRepBlend / BRepBlend_SurfPointEvolRadInv.cdl
1 -- Created on: 1997-07-29
2 -- Created by: Jerome LEMONIER
3 -- Copyright (c) 1997-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
9 -- under the terms of the GNU Lesser General Public 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 class SurfPointEvolRadInv from BRepBlend
18
19 inherits SurfPointFuncInv from Blend
20
21     ---Purpose: This function  is used  to find a  solution on  a done
22     --          point   of   the curve when   using  SurfRstConsRad or
23     --          CSConstRad...          
24     --          The vector <X>  used in Value, Values and  Derivatives
25     --          methods  has  to   be the  vector   of the  parametric
26     --          coordinates w, U,  V where w is  the parameter  on the
27     --          guide line, U,V   are the parametric coordinates of  a
28     --          point on the partner surface.
29
30 uses
31     Pnt      from gp,
32     Vector   from math,
33     Matrix   from math,
34     HSurface from Adaptor3d,
35     HCurve   from Adaptor3d,
36     Function  from  Law
37
38 is
39     Create(S : HSurface from Adaptor3d; C : HCurve from Adaptor3d; 
40     Evol : Function  from  Law)
41     returns SurfPointEvolRadInv from BRepBlend;
42         
43     Set(me: in out; Choix: Integer from Standard)
44     is static;
45
46     NbEquations(me)
47     ---Purpose: returns 3.
48     returns Integer from Standard;
49
50     Value(me: in out; X: Vector; F: out Vector)
51     ---Purpose: computes the values <F> of the Functions for the 
52     --          variable <X>.
53     --          Returns True if the computation was done successfully, 
54     --          False otherwise.
55     returns Boolean from Standard;
56     
57     Derivatives(me: in out; X: Vector; D: out Matrix)
58     ---Purpose: returns the values <D> of the derivatives for the 
59     --          variable <X>.
60     --          Returns True if the computation was done successfully, 
61     --          False otherwise.
62     returns Boolean from Standard;
63     
64     Values(me: in out; X: Vector; F: out Vector; D: out Matrix)
65     ---Purpose: returns the values <F> of the functions and the derivatives
66     --          <D> for the variable <X>.
67     --          Returns True if the computation was done successfully, 
68     --          False otherwise.
69     returns Boolean from Standard;
70
71     Set(me: in out; P : Pnt from gp);
72     ---Purpose: Set the Point on which a solution has to be found.
73
74     GetTolerance(me; Tolerance: out Vector from math; Tol: Real from Standard);
75     ---Purpose: Returns in the vector Tolerance the parametric tolerance
76     --          for each of the 3 variables;
77     --          Tol is the tolerance used in 3d space.
78
79     GetBounds(me; InfBound,SupBound: out Vector from math);
80     ---Purpose: Returns in the vector InfBound the lowest values allowed
81     --          for each of the 3 variables.
82     --          Returns in the vector SupBound the greatest values allowed
83     --          for each of the 3 variables.
84
85     IsSolution(me: in out; Sol: Vector from math; Tol: Real from Standard)
86     ---Purpose: Returns Standard_True if Sol is a zero of the function.
87     --          Tol is the tolerance used in 3d space.
88     returns Boolean from Standard;
89
90 fields
91
92     surf  : HSurface from Adaptor3d;
93     curv  : HCurve   from Adaptor3d;
94     point : Pnt      from gp;
95     ray   : Real     from Standard;
96     choix : Integer  from Standard;
97     tevol : Function from Law;
98     sg1   : Real     from Standard; 
99      
100     
101 end SurfPointEvolRadInv;