blob: 9e0b607180e6db2370bf268c08ca9d8388f96c61 (
plain)
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
184
185
186
187
188
189
|
-- File: Intersection.cdl
-- Created: Mon Apr 27 16:46:10 1992
-- Author: Laurent BUCHARD
-- <lbr@topsn3>
---Copyright: Matra Datavision 1992
deferred class Intersection from IntRes2d
---Purpose: Defines the root class of all the Intersections
-- between two 2D-Curves, and provides all the methods
-- about the results of the Intersections Algorithms.
uses IntersectionPoint from IntRes2d,
IntersectionSegment from IntRes2d,
SequenceOfIntersectionPoint from IntRes2d,
SequenceOfIntersectionSegment from IntRes2d
raises NotDone from StdFail,
OutOfRange from Standard
is
Initialize
---Purpose: Empty constructor.
is protected;
---C++:inline
Initialize(Other: Intersection from IntRes2d)
---C++:inline
is protected;
IsDone(me)
---Purpose: returns TRUE when the computation was successful.
---C++: inline
returns Boolean from Standard
is static;
IsEmpty(me)
---Purpose: Returns TRUE if there is no intersection between the
-- given arguments.
-- The exception NotDone is raised if IsDone returns FALSE.
---C++: inline
returns Boolean from Standard
raises NotDone from StdFail
is static;
NbPoints(me)
---Purpose: This function returns the number of intersection
-- points between the 2 curves.
-- The exception NotDone is raised if IsDone returns FALSE.
---C++: inline
returns Integer from Standard
raises NotDone from StdFail
is static;
Point(me; N : Integer from Standard)
---Purpose: This function returns the intersection point
-- of range N;
-- The exception NotDone is raised if IsDone returns FALSE.
-- The exception OutOfRange is raised if (N <= 0)
-- or (N > NbPoints).
---C++: inline
returns IntersectionPoint from IntRes2d
---C++: return const &
raises NotDone from StdFail,
OutOfRange from Standard
is static;
NbSegments(me)
---Purpose: This function returns the number of intersection
-- segments between the two curves.
-- The exception NotDone is raised if IsDone returns FALSE.
---C++: inline
returns Integer from Standard
raises NotDone from StdFail
is static;
Segment(me; N : Integer)
---Purpose: This function returns the intersection segment
-- of range N;
-- The exception NotDone is raised if IsDone returns FALSE.
-- The exception OutOfRange is raised if (N <= 0)
-- or (N > NbPoints).
---C++: inline
returns IntersectionSegment from IntRes2d
---C++: return const &
raises NotDone from StdFail,
OutOfRange from Standard
is static;
SetValues(me: in out; Inter: Intersection from IntRes2d)
--Purpose: Copies the Inters values into the current object.
is static protected;
Append(me: in out; Inter : Intersection from IntRes2d;
FirstParam1: Real from Standard;
LastParam1 : Real from Standard;
FirstParam2: Real from Standard;
LastParam2 : Real from Standard)
--Purpose: Appends the Inters values to the current object
-- FirstParam and LastParam are the parameters of
-- the bounds of the parameter interval of the
-- curves.
is static protected;
Append(me: in out; Seg: IntersectionSegment from IntRes2d)
--Purpose: Appends a new Intersection Segment.
---C++: inline
is static protected;
Append(me: in out; Pnt: IntersectionPoint from IntRes2d)
--Purpose: Appends a new Intersection Point.
---C++: inline
is static protected;
Insert(me: in out; Pnt: IntersectionPoint from IntRes2d)
--Purpose: Inserts a new Intersection Point.
is static protected;
ResetFields(me: in out)
--Purpose: Resets all fields.
---C++: inline
is static protected;
SetReversedParameters(me: in out; Reverseflag: Boolean from Standard)
--Purpose: Initialize the reverse flag. This flag is used to
-- determine if the first and second parameters have
-- to be swaped when the intersection points and
-- segments are created.
---C++: inline
is static;
ReversedParameters(me)
--Purpose: Returns the value of the reverse flag.
---C++: inline
returns Boolean from Standard
is static protected;
fields
done : Boolean from Standard is protected;
reverse : Boolean from Standard;
lpnt : SequenceOfIntersectionPoint from IntRes2d;
lseg : SequenceOfIntersectionSegment from IntRes2d;
end Intersection;
|