Integration of OCCT 6.5.0 from SVN
[occt.git] / src / Extrema / Extrema_FuncExtPS.cdl
1 -- File:        FuncExtPS.cdl
2 -- Created:     Wed Jul 24 14:31:49 1991
3 -- Author:      Michel CHAUVAT
4 --              <mca@topsn3>
5 ---Copyright:    Matra Datavision 1991
6
7 -- Modified by skv - Thu Sep 30 15:19:59 2004 OCC593
8
9
10 private class FuncExtPS from Extrema
11
12  inherits FunctionSetWithDerivatives from math
13     ---Purpose: Fonction permettant de rechercher les extrema de la 
14     --          distance entre un point et une surface.
15
16 uses    POnSurf           from Extrema,
17         SequenceOfPOnSurf from Extrema,
18         SequenceOfReal    from TColStd,
19         Pnt               from gp,
20         Vector            from math,
21         Matrix            from math,
22         Surface           from Adaptor3d,
23         SurfacePtr        from Adaptor3d
24
25 raises  OutOfRange from Standard
26
27 is
28     Create returns FuncExtPS;
29
30     Create (P: Pnt; S: Surface from Adaptor3d) returns FuncExtPS;
31         ---Purpose:
32
33     Initialize(me: in out; S: Surface from Adaptor3d)
34         ---Purpose: sets the field mysurf of the function.
35     is static;
36     
37     SetPoint(me: in out; P: Pnt)
38         ---Purpose: sets the field mysurf of the function.
39     is static;
40
41     ------------------------------------------------------------
42     -- In all next methods, an exception is raised if the fields 
43     -- were not initialized.
44
45     NbVariables (me) returns Integer;
46
47     NbEquations (me) returns Integer;
48
49     Value (me: in out; UV: Vector; F: out Vector) returns Boolean;
50         ---Purpose: Calcul de Fi(U,V).
51
52     Derivatives (me: in out; UV: Vector; DF: out Matrix)
53         returns Boolean;
54         ---Purpose: Calcul de Fi'(U,V).
55
56     Values (me: in out; UV: Vector; F: out Vector; DF: out Matrix)
57         returns Boolean;
58         ---Purpose: Calcul de Fi(U,V) et Fi'(U,V).
59
60     GetStateNumber (me: in out) returns Integer
61         ---Purpose: Memorise l'extremum trouve.
62         is redefined;
63
64     NbExt (me) returns Integer;
65         ---Purpose: Renvoie le nombre d'extrema trouves.
66
67     SquareDistance (me; N: Integer) returns Real
68         ---Purpose: Renvoie la valeur de la Nieme distance.
69         raises  OutOfRange;
70                 -- si N < 1 ou N > NbExt(me).
71
72     Point (me; N: Integer) returns POnSurf
73         ---Purpose: Renvoie le Nieme extremum.
74         raises  OutOfRange;
75                 -- si N < 1 ou N > NbExt(me).
76
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
80
81     Bidon(me) returns SurfacePtr from Adaptor3d
82     is static private;
83  
84 fields
85     myP    : Pnt from gp;
86     myS    : SurfacePtr from Adaptor3d;
87
88     myU    : Real;          -- valeur courante de U
89     myV    : Real;          -- valeur courante de V
90     myPs   : Pnt from gp;   -- point courant
91
92     mySqDist: SequenceOfReal    from TColStd;
93     myPoint: SequenceOfPOnSurf from Extrema;
94     myPinit: Boolean;
95     mySinit: Boolean;
96     myUIsoIsDeg: Boolean;
97     myVIsoIsDeg: Boolean;
98
99 end FuncExtPS;