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
156
157
158
159
160
161
162
163
164
165
166
167
168
|
-- File: SearchOnBoundaries.cdl
-- Created: Fri Sep 4 11:43:50 1992
-- Author: Jacques GOUSSARD
-- <jag@sdsun2>
---Copyright: Matra Datavision 1992
generic class SearchOnBoundaries from IntStart (
TheVertex as any;
TheArc as any;
TheArcTool as any; -- as ArcTool from IntStart(TheArc)
TheSOBTool as any; -- as SOBTool from IntStart(TheVertex,TheArc)
TheTopolTool as Transient; -- as TopolTool from IntStart
-- (TheVertex,TheArc)
TheFunction as any) -- as SOBFunction from IntStart(TheArc)
---Purpose: This class implements algorithmes to find the intersection
-- points and curves between the arcs of restriction
-- of a surface (parametric or implicit), used through
-- the classes TheArcTool, TheSOBTool and TheTopolTool,
-- and an implicit surface (natural quadric : Pln, Cylinder,
-- Cone, Sphere from gp)..
raises NotDone from StdFail,
OutOfRange from Standard,
ConstructionError from Standard
class ThePathPoint instantiates PathPoint from IntStart
(TheVertex,TheArc);
class SequenceOfPathPoint instantiates Sequence from TCollection
(ThePathPoint);
class TheSegment instantiates Segment from IntStart
(TheVertex,
TheArc,
ThePathPoint);
class SequenceOfSegment instantiates Sequence from TCollection
(TheSegment);
is
Create
---Purpose: Empty constructor.
returns SearchOnBoundaries from IntStart;
Perform(me : in out;
F : in out TheFunction;
Domain: TheTopolTool;
TolBoundary,TolTangency : Real from Standard)
---Purpose: Algorithm to find the points and parts of curves of Domain
-- (domain of of restriction of a surface) which verify
-- F = 0.
-- TolBoundary defines if a curve is on Q.
-- TolTangency defines if a point is on Q.
raises ConstructionError from Standard
-- The exception ConstructionError is raised if one of the bounds
-- of an arc of the domain is infinite. See the method Bounds
-- of the class SOBTool.
is static;
IsDone(me)
---Purpose: Returns True if the calculus was successful.
returns Boolean from Standard
---C++: inline
is static;
AllArcSolution(me)
---Purpose: Returns true if all arc of the Arcs are solution (inside
-- the surface).
-- An exception is raised if IsDone returns False.
returns Boolean from Standard
---C++: inline
raises NotDone from StdFail
is static;
NbPoints(me)
---Purpose: Returns the number of resulting points.
-- An exception is raised if IsDone returns False (NotDone).
returns Integer from Standard
---C++: inline
raises NotDone from StdFail
is static;
Point(me; Index: Integer from Standard)
---Purpose: Returns the resulting point of range Index.
-- The exception NotDone is raised if IsDone() returns
-- False.
-- The exception OutOfRange is raised if
-- Index <= 0 or Index > NbPoints.
returns ThePathPoint from IntStart
---C++: return const&
---C++: inline
raises NotDone from StdFail,
OutOfRange from Standard
is static;
NbSegments(me)
---Purpose: Returns the number of the resulting segments.
-- An exception is raised if IsDone returns False (NotDone).
returns Integer from Standard
---C++: inline
raises NotDone from StdFail
is static;
Segment(me; Index: Integer from Standard)
---Purpose: Returns the resulting segment of range Index.
-- The exception NotDone is raised if IsDone() returns
-- False.
-- The exception OutOfRange is raised if
-- Index <= 0 or Index > NbPoints.
returns TheSegment from IntStart
---C++: return const&
---C++: inline
raises NotDone from StdFail,
OutOfRange from Standard
is static;
fields
done : Boolean from Standard;
all : Boolean from Standard;
sseg : SequenceOfSegment from IntStart;
spnt : SequenceOfPathPoint from IntStart;
end SearchOnBoundaries;
|