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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
|
-- File: IntPatch_ImpPrmIntersection.cdl
-- Created: Thu May 7 08:47:45 1992
-- Author: Jacques GOUSSARD
---Copyright: Matra Datavision 1992
class ImpPrmIntersection from IntPatch
---Purpose: Implementation of the intersection between a natural
-- quadric patch : Plane, Cone, Cylinder or Sphere and
-- a bi-parametrised surface.
uses
TheSearchInside from IntPatch,
HSurface from Adaptor3d,
TopolTool from Adaptor3d,
Point from IntPatch,
SequenceOfPoint from IntPatch,
TheSOnBounds from IntPatch,
SequenceOfLine from IntPatch,
Line from IntPatch,
PathPointTool from IntSurf,
SequenceOfPathPoint from IntSurf,
Quadric from IntSurf,
QuadricTool from IntSurf,
InteriorPoint from IntSurf,
InteriorPointTool from IntSurf
raises NotDone from StdFail,
OutOfRange from Standard,
DomainError from Standard,
ConstructionError from Standard
is
Create
returns ImpPrmIntersection from IntPatch;
Create(Surf1: HSurface from Adaptor3d; D1: TopolTool from Adaptor3d;
Surf2: HSurface from Adaptor3d; D2: TopolTool from Adaptor3d;
TolArc,TolTang,Fleche,Pas: Real from Standard)
returns ImpPrmIntersection from IntPatch
raises ConstructionError from Standard;
SetStartPoint(me: in out; U,V: Real from Standard)
---Purpose: to search for solution from the given point
is static;
Perform(me: in out;
Surf1: HSurface from Adaptor3d; D1: TopolTool from Adaptor3d;
Surf2: HSurface from Adaptor3d; D2: TopolTool from Adaptor3d;
TolArc,TolTang,Fleche,Pas: Real from Standard)
raises ConstructionError from Standard
is static;
IsDone(me)
---Purpose: Returns true if the calculus was succesfull.
returns Boolean from Standard
---C++: inline
is static;
IsEmpty(me)
---Purpose: Returns true if the is no intersection.
returns Boolean from Standard
---C++: inline
raises NotDone from StdFail
is static;
NbPnts(me)
---Purpose: Returns the number of "single" points.
returns Integer from Standard
---C++: inline
raises NotDone from StdFail
is static;
Point(me; Index: Integer from Standard)
---Purpose: Returns the point of range Index.
-- An exception is raised if Index<=0 or Index>NbPnt.
returns Point from IntPatch
---C++: return const&
---C++: inline
raises NotDone from StdFail,
OutOfRange from Standard
is static;
NbLines(me)
---Purpose: Returns the number of intersection lines.
returns Integer from Standard
---C++: inline
raises NotDone from StdFail
is static;
Line(me; Index: Integer from Standard)
---Purpose: Returns the line of range Index.
-- An exception is raised if Index<=0 or Index>NbLine.
returns Line from IntPatch
---C++: return const&
---C++: inline
raises NotDone from StdFail,
OutOfRange from Standard
is static;
fields
done : Boolean from Standard;
empt : Boolean from Standard;
spnt : SequenceOfPoint from IntPatch;
slin : SequenceOfLine from IntPatch;
solrst : TheSOnBounds from IntPatch;
solins : TheSearchInside from IntPatch;
-- iwalk : TheIWalking from IntPatch;
myIsStartPnt: Boolean from Standard;
myUStart : Real from Standard;
myVStart : Real from Standard;
end ImpPrmIntersection;
|