0024023: Revamp the OCCT Handle -- ambiguity
[occt.git] / src / BRepBlend / BRepBlend_CurvPointRadInv.cdl
1 -- Created on: 1997-02-12
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 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 CurvPointRadInv from BRepBlend
18
19 inherits CurvPointFuncInv from Blend 
20
21     ---Purpose: Function of reframing between a point and a curve.
22     --          valid in cases of constant and progressive radius.
23     --          This function  is used  to find a  solution on  a done
24     --          point   of   the curve 1 when   using  RstRstConsRad or
25     --          CSConstRad... 
26     --          The vector <X>  used in Value, Values and  Derivatives
27     --          methods  has  to   be the  vector   of the  parametric
28     --          coordinates w, U where w is  the parameter  on the
29     --          guide line, U   are the parametric coordinates of  a
30     --          point on the partner curve 2.
31
32 uses
33     Pnt      from gp,
34     Vector   from math,
35     Matrix   from math,
36     HCurve   from Adaptor3d
37
38
39 is
40     Create(C1 : HCurve from Adaptor3d; C2  : HCurve from Adaptor3d)
41     returns CurvPointRadInv from BRepBlend;
42         
43     Set(me: in out; Choix: Integer from Standard)
44     is static;
45
46     NbEquations(me)
47     ---Purpose: returns 2.
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     curv1 : HCurve   from Adaptor3d;
93     curv2 : HCurve   from Adaptor3d;
94     point : Pnt      from gp;
95     choix : Integer  from Standard;
96
97 end CurvPointRadInv;