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