1 -- Created on: 1999-09-21
2 -- Created by: Edward AGAPOV
3 -- Copyright (c) 1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
6 -- This file is part of Open CASCADE Technology software library.
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.
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
17 class ExtPRevS from Extrema inherits Transient from Standard
19 ---Purpose: It calculates all the extremum (minimum and
20 -- maximum) distances between a point and a surface
25 GenExtPS from Extrema,
27 HSurfaceOfRevolution from Adaptor3d,
39 Create returns ExtPRevS from Extrema;
41 Create (P: Pnt; S: HSurfaceOfRevolution from Adaptor3d;
42 Umin, Usup, Vmin, Vsup: Real;
44 returns ExtPRevS from Extrema;
45 ---Purpose: It calculates all the distances between a point
46 -- from gp and a SurfacePtr from Adaptor3d.
48 Create (P: Pnt; S: HSurfaceOfRevolution from Adaptor3d;
50 returns ExtPRevS from Extrema;
51 ---Purpose: It calculates all the distances between a point
52 -- from gp and a SurfacePtr from Adaptor3d.
54 Initialize(me: mutable; S: HSurfaceOfRevolution from Adaptor3d;
55 Umin, Usup, Vmin, Vsup: Real;
59 Perform (me: mutable; P: Pnt)
62 IsDone (me) returns Boolean
63 ---Purpose: Returns True if the distances are found.
66 NbExt (me) returns Integer
67 ---Purpose: Returns the number of extremum distances.
68 raises NotDone from StdFail
69 -- if IsDone(me)=False.
72 SquareDistance (me; N: Integer) returns Real
73 ---Purpose: Returns the value of the Nth resulting square distance.
74 raises NotDone from StdFail,
75 -- if IsDone(me)=False.
77 -- if N < 1 or N > NbPoints(me).
80 Point (me; N: Integer) returns POnSurf
81 ---C++: return const &
82 ---Purpose: Returns the point of the Nth resulting distance.
83 raises NotDone from StdFail,
84 -- if IsDone(me)=False.
86 -- if N < 1 or N > NbPoints(me).
90 myS : HSurfaceOfRevolution from Adaptor3d;
91 myvinf : Real from Standard;
92 myvsup : Real from Standard;
93 mytolv : Real from Standard;
95 myPosition : Ax2 from gp;
96 myExtPS : GenExtPS from Extrema;
98 myIsAnalyticallyComputable : Boolean from Standard;
103 myPoint: POnSurf from Extrema [8];