0025292: Face/Face intersection algorithm gives different results for different order...
[occt.git] / src / Extrema / Extrema_ExtPRevS.cdl
CommitLineData
b311480e 1-- Created on: 1999-09-21
2-- Created by: Edward AGAPOV
3-- Copyright (c) 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
0734c53d 17class ExtPRevS from Extrema inherits Transient from Standard
7fd59977 18
19 ---Purpose: It calculates all the extremum (minimum and
20 -- maximum) distances between a point and a surface
21 -- of revolution.
22
23uses
24 POnSurf from Extrema,
25 GenExtPS from Extrema,
26
0734c53d 27 HSurfaceOfRevolution from Adaptor3d,
28
7fd59977 29 Ax2 from gp,
30 Pnt from gp
31
32raises
33 NotDone from StdFail,
34 OutOfRange
35
36
37is
38
39 Create returns ExtPRevS from Extrema;
40
0734c53d 41 Create (P: Pnt; S: HSurfaceOfRevolution from Adaptor3d;
7fd59977 42 Umin, Usup, Vmin, Vsup: Real;
43 TolU,TolV: Real)
44 returns ExtPRevS from Extrema;
45 ---Purpose: It calculates all the distances between a point
46 -- from gp and a SurfacePtr from Adaptor3d.
47
0734c53d 48 Create (P: Pnt; S: HSurfaceOfRevolution from Adaptor3d;
7fd59977 49 TolU,TolV: Real)
50 returns ExtPRevS from Extrema;
51 ---Purpose: It calculates all the distances between a point
52 -- from gp and a SurfacePtr from Adaptor3d.
53
0734c53d 54 Initialize(me: mutable; S: HSurfaceOfRevolution from Adaptor3d;
7fd59977 55 Umin, Usup, Vmin, Vsup: Real;
56 TolU,TolV: Real)
57 is static;
58
0734c53d 59 Perform (me: mutable; P: Pnt)
7fd59977 60 is static;
61
62 IsDone (me) returns Boolean
63 ---Purpose: Returns True if the distances are found.
64 is static;
65
66 NbExt (me) returns Integer
67 ---Purpose: Returns the number of extremum distances.
68 raises NotDone from StdFail
69 -- if IsDone(me)=False.
70 is static;
71
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.
76 OutOfRange
77 -- if N < 1 or N > NbPoints(me).
78 is static;
79
80 Point (me; N: Integer) returns POnSurf
5d99f2c8 81 ---C++: return const &
7fd59977 82 ---Purpose: Returns the point of the Nth resulting distance.
83 raises NotDone from StdFail,
84 -- if IsDone(me)=False.
85 OutOfRange
86 -- if N < 1 or N > NbPoints(me).
87 is static;
88
89fields
0734c53d 90 myS : HSurfaceOfRevolution from Adaptor3d;
91 myvinf : Real from Standard;
92 myvsup : Real from Standard;
93 mytolv : Real from Standard;
7fd59977 94
95 myPosition : Ax2 from gp;
96 myExtPS : GenExtPS from Extrema;
97
98 myIsAnalyticallyComputable : Boolean from Standard;
99
100 myDone : Boolean;
101 myNbExt: Integer;
6f94f1df
RL
102 mySqDist: Real [8];
103 myPoint: POnSurf from Extrema [8];
7fd59977 104
105end ExtPRevS;