2 -- Created: Wed Jul 24 14:31:49 1991
3 -- Author: Michel CHAUVAT
5 ---Copyright: Matra Datavision 1991
7 -- Modified by skv - Thu Sep 30 15:19:59 2004 OCC593
10 private class FuncExtPS from Extrema
12 inherits FunctionSetWithDerivatives from math
13 ---Purpose: Fonction permettant de rechercher les extrema de la
14 -- distance entre un point et une surface.
16 uses POnSurf from Extrema,
17 SequenceOfPOnSurf from Extrema,
18 SequenceOfReal from TColStd,
22 Surface from Adaptor3d,
23 SurfacePtr from Adaptor3d
25 raises OutOfRange from Standard
28 Create returns FuncExtPS;
30 Create (P: Pnt; S: Surface from Adaptor3d) returns FuncExtPS;
33 Initialize(me: in out; S: Surface from Adaptor3d)
34 ---Purpose: sets the field mysurf of the function.
37 SetPoint(me: in out; P: Pnt)
38 ---Purpose: sets the field mysurf of the function.
41 ------------------------------------------------------------
42 -- In all next methods, an exception is raised if the fields
43 -- were not initialized.
45 NbVariables (me) returns Integer;
47 NbEquations (me) returns Integer;
49 Value (me: in out; UV: Vector; F: out Vector) returns Boolean;
50 ---Purpose: Calcul de Fi(U,V).
52 Derivatives (me: in out; UV: Vector; DF: out Matrix)
54 ---Purpose: Calcul de Fi'(U,V).
56 Values (me: in out; UV: Vector; F: out Vector; DF: out Matrix)
58 ---Purpose: Calcul de Fi(U,V) et Fi'(U,V).
60 GetStateNumber (me: in out) returns Integer
61 ---Purpose: Memorise l'extremum trouve.
64 NbExt (me) returns Integer;
65 ---Purpose: Renvoie le nombre d'extrema trouves.
67 SquareDistance (me; N: Integer) returns Real
68 ---Purpose: Renvoie la valeur de la Nieme distance.
70 -- si N < 1 ou N > NbExt(me).
72 Point (me; N: Integer) returns POnSurf
73 ---Purpose: Renvoie le Nieme extremum.
75 -- si N < 1 ou N > NbExt(me).
77 -- Modified by skv - Thu Sep 30 15:19:59 2004 OCC593 Begin
78 HasDegIso(me) returns Boolean from Standard;
79 -- Modified by skv - Thu Sep 30 15:19:59 2004 OCC593 End
81 Bidon(me) returns SurfacePtr from Adaptor3d
86 myS : SurfacePtr from Adaptor3d;
88 myU : Real; -- valeur courante de U
89 myV : Real; -- valeur courante de V
90 myPs : Pnt from gp; -- point courant
92 mySqDist: SequenceOfReal from TColStd;
93 myPoint: SequenceOfPOnSurf from Extrema;