1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
-- File: Extrema_ExtPRevS.cdl
-- Created: Tue Sep 21 15:42:54 1999
-- Author: Edward AGAPOV
-- <eap@strelox.nnov.matra-dtv.fr>
---Copyright: Matra Datavision 1999
class ExtPRevS from Extrema
---Purpose: It calculates all the extremum (minimum and
-- maximum) distances between a point and a surface
-- of revolution.
uses
POnSurf from Extrema,
GenExtPS from Extrema,
SurfaceOfRevolution from Adaptor3d,
SurfacePtr from Adaptor3d,
Ax2 from gp,
Pnt from gp
raises
NotDone from StdFail,
OutOfRange
is
Create returns ExtPRevS from Extrema;
Create (P: Pnt; S: SurfaceOfRevolution from Adaptor3d;
Umin, Usup, Vmin, Vsup: Real;
TolU,TolV: Real)
returns ExtPRevS from Extrema;
---Purpose: It calculates all the distances between a point
-- from gp and a SurfacePtr from Adaptor3d.
Create (P: Pnt; S: SurfaceOfRevolution from Adaptor3d;
TolU,TolV: Real)
returns ExtPRevS from Extrema;
---Purpose: It calculates all the distances between a point
-- from gp and a SurfacePtr from Adaptor3d.
Initialize(me: in out; S: SurfaceOfRevolution from Adaptor3d;
Umin, Usup, Vmin, Vsup: Real;
TolU,TolV: Real)
is static;
Perform (me: in out; P: Pnt)
is static;
IsDone (me) returns Boolean
---Purpose: Returns True if the distances are found.
is static;
NbExt (me) returns Integer
---Purpose: Returns the number of extremum distances.
raises NotDone from StdFail
-- if IsDone(me)=False.
is static;
SquareDistance (me; N: Integer) returns Real
---Purpose: Returns the value of the Nth resulting square distance.
raises NotDone from StdFail,
-- if IsDone(me)=False.
OutOfRange
-- if N < 1 or N > NbPoints(me).
is static;
Point (me; N: Integer) returns POnSurf
---Purpose: Returns the point of the Nth resulting distance.
raises NotDone from StdFail,
-- if IsDone(me)=False.
OutOfRange
-- if N < 1 or N > NbPoints(me).
is static;
fields
myS : SurfacePtr from Adaptor3d;
myvinf : Real from Standard;
myvsup : Real from Standard;
mytolv : Real from Standard;
myPosition : Ax2 from gp;
myExtPS : GenExtPS from Extrema;
myIsAnalyticallyComputable : Boolean from Standard;
myDone : Boolean;
myNbExt: Integer;
mySqDist: Real [6];
myPoint: POnSurf from Extrema [6];
end ExtPRevS;
|