/
IntStart_SearchOnBoundaries.cdl
183 lines (121 loc) · 5.24 KB
/
IntStart_SearchOnBoundaries.cdl
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
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
-- Created on: 1992-09-04
-- Created by: Jacques GOUSSARD
-- Copyright (c) 1992-1999 Matra Datavision
-- Copyright (c) 1999-2012 OPEN CASCADE SAS
--
-- The content of this file is subject to the Open CASCADE Technology Public
-- License Version 6.5 (the "License"). You may not use the content of this file
-- except in compliance with the License. Please obtain a copy of the License
-- at http://www.opencascade.org and read it completely before using this file.
--
-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
--
-- The Original Code and all software distributed under the License is
-- distributed on an "AS IS" basis, without warranty of any kind, and the
-- Initial Developer hereby disclaims all such warranties, including without
-- limitation, any warranties of merchantability, fitness for a particular
-- purpose or non-infringement. Please see the License for the specific terms
-- and conditions governing the rights and limitations under the License.
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;