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