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