0024023: Revamp the OCCT Handle -- ambiguity
[occt.git] / src / BRepBlend / BRepBlend_SurfCurvEvolRadInv.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 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 class SurfCurvEvolRadInv from BRepBlend
18
19 inherits SurfCurvFuncInv from Blend
20
21     ---Purpose: Function of reframing between a surface restriction
22     --          of the surface and a curve.
23     --          Class     used   to   compute  a    solution   of  the
24     --          surfRstConstRad  problem  on a done restriction of the
25     --          surface.
26     --          The vector  <X> used in  Value, Values and Derivatives
27     --          methods  has   to  be the   vector  of  the parametric
28     --          coordinates  wguide, wcurv, wrst  where  wguide is the
29     --          parameter on the guide line, wcurv is the parameter on
30     --          the curve, wrst is the parameter on the restriction on
31     --          the surface.
32
33 uses
34     HCurve2d from Adaptor2d,
35     HCurve   from Adaptor3d,
36     HSurface from Adaptor3d,
37     Vector   from math,
38     Matrix   from math, 
39     Function  from  Law
40
41
42 is
43
44     Create(S  : HSurface from Adaptor3d; 
45            C  : HCurve from Adaptor3d;
46            Cg : HCurve from Adaptor3d; 
47            Evol : Function  from  Law)
48     returns SurfCurvEvolRadInv from BRepBlend;
49         
50     Set(me: in out;Choix: Integer from Standard)
51     is static;
52
53     NbEquations(me)
54     ---Purpose: returns 3.
55     returns Integer from Standard;
56
57     Value(me: in out; X: Vector; F: out Vector)
58     ---Purpose: computes the values <F> of the Functions for the 
59     --          variable <X>.
60     --          Returns True if the computation was done successfully, 
61     --          False otherwise.
62     returns Boolean from Standard;
63     
64     Derivatives(me: in out; X: Vector; D: out Matrix)
65     ---Purpose: returns the values <D> of the derivatives for the 
66     --          variable <X>.
67     --          Returns True if the computation was done successfully, 
68     --          False otherwise.
69     returns Boolean from Standard;
70     
71     Values(me: in out; X: Vector; F: out Vector; D: out Matrix)
72     ---Purpose: returns the values <F> of the functions and the derivatives
73     --          <D> for the variable <X>.
74     --          Returns True if the computation was done successfully, 
75     --          False otherwise.
76     returns Boolean from Standard;
77
78     Set(me: in out; Rst : HCurve2d from Adaptor2d);
79     ---Purpose: Set the restriction on which a solution has to be found. 
80
81     GetTolerance(me; Tolerance: out Vector from math; Tol: Real from Standard);
82     ---Purpose: Returns in the vector Tolerance the parametric tolerance
83     --          for each of the 3 variables;
84     --          Tol is the tolerance used in 3d space.
85
86     GetBounds(me; InfBound,SupBound: out Vector from math);
87     ---Purpose: Returns in the vector InfBound the lowest values allowed
88     --          for each of the 3 variables.
89     --          Returns in the vector SupBound the greatest values allowed
90     --          for each of the 3 variables.
91
92     IsSolution(me: in out; Sol: Vector from math; Tol: Real from Standard)
93     ---Purpose: Returns Standard_True if Sol is a zero of the function.
94     --          Tol is the tolerance used in 3d space.
95     returns Boolean from Standard;
96
97 fields
98
99     surf  : HSurface from Adaptor3d;
100     curv  : HCurve   from Adaptor3d;
101     guide : HCurve   from Adaptor3d;
102     rst   : HCurve2d from Adaptor2d;
103     ray   : Real     from Standard;
104     choix : Integer  from Standard; 
105     tevol : Function from Law;
106     sg1   : Real     from Standard; 
107      
108     
109 end SurfCurvEvolRadInv;
110
111