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
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
|
-- File: IntTools.cdl
-- Created: Thu May 18 13:34:39 2000
-- Author: Peter KURNEV
-- <pkv@irinox>
---Copyright: Matra Datavision 2000
package IntTools
---Purpose: Contains classes for intersection and classification
--- purposes and accompanying classes
uses
TCollection,
TopoDS,
TopAbs,
TColStd,
BRepAdaptor,
BRepTopAdaptor,
SortTools,
TopTools,
math,
gp,
Bnd,
Adaptor3d,
GeomAdaptor,
Geom,
Geom2d,
GeomInt,
GeomAbs,
GeomAPI,
Extrema,
IntPatch,
IntSurf,
BRepClass3d,
TColgp
is
class Range;
class CommonPrt;
class Root;
class Compare;
class CompareRange;
class EdgeEdge;
---Purpose: class provides the Edge/Edge algorithm
class EdgeFace;
---Purpose: class provides the Edge/Face algorithm
class FClass2d;
---Purpose: class provides classification of a point in a face
class LineConstructor;
---Purpose: class provides post-processing of results of
--- surfaces intersection
-----
class MarkedRangeSet;
---Purpose: auxiliary class for range management
--modified by NIZHNY-MKK Wed Oct 5 18:08:38 2005.BEGIN
class BaseRangeSample;
---Purpose: base class for range index management
class CurveRangeSample;
---Purpose: class for range index management of curve
class SurfaceRangeSample;
---Purpose: class for range index management of surface
class CurveRangeLocalizeData;
class SurfaceRangeLocalizeData;
--modified by NIZHNY-MKK Wed Oct 5 18:08:43 2005.END
class BeanFaceIntersector;
---Purpose: class provides computing ranges of parameters
--- of edge/face intersection.
class BeanBeanIntersector;
---Purpose: class provides computing ranges of parameters
--- of edge/edge intersection.
-----
class Curve;
---Purpose: class is a container of
--- one 3d curve
--- two 2d curves
-----
class PntOnFace;
class PntOn2Faces;
class TopolTool;
---Purpose: class redefines TopolTool from Adaptor3d
class FaceFace;
---Purpose: class provides the Face/Face algorithm
---
class ShrunkRange;
---Purpose: class provides computing and storage of shrunk range
--- for an edge bounded by two vertices
class Context;
---Purpose: class is a container of a large number of reusable
--- projection and classification algorithms
class Tools;
---Purpose: class is a container of usefull geometrical and
--- topological algorithms
generic class CArray1;
---
--- P o i n t e r s
---
pointer PContext to Context from IntTools;
---
--- I n s t a n t i a t i o n s
---
class SequenceOfPntOn2Faces instantiates
Sequence from TCollection(PntOn2Faces from IntTools);
--
class SequenceOfCurves instantiates
Sequence from TCollection(Curve from IntTools);
class SequenceOfRanges instantiates
Sequence from TCollection(Range from IntTools);
class CArray1OfInteger instantiates
CArray1(Integer from Standard);
class CArray1OfReal instantiates
CArray1(Real from Standard);
class SequenceOfRoots instantiates
Sequence from TCollection(Root from IntTools);
class Array1OfRoots instantiates
Array1 from TCollection (Root from IntTools);
class Array1OfRange instantiates
Array1 from TCollection (Range from IntTools);
class QuickSort instantiates
QuickSort from SortTools (Root from IntTools,
Array1OfRoots from IntTools,
Compare from IntTools);
class QuickSortRange instantiates
QuickSort from SortTools (Range from IntTools,
Array1OfRange from IntTools,
CompareRange from IntTools);
class SequenceOfCommonPrts instantiates
Sequence from TCollection(CommonPrt from IntTools);
class IndexedDataMapOfTransientAddress instantiates
IndexedDataMap from TCollection(Transient from Standard,
Address from Standard,
MapTransientHasher from TColStd);
--modified by NIZHNY-MKK Wed Oct 5 18:06:39 2005
class ListOfCurveRangeSample instantiates
List from TCollection(CurveRangeSample from IntTools);
class ListOfSurfaceRangeSample instantiates
List from TCollection(SurfaceRangeSample from IntTools);
class ListOfBox instantiates
List from TCollection(Box from Bnd);
class CurveRangeSampleMapHasher;
---Purpose: class for range index management of curve
class SurfaceRangeSampleMapHasher;
class MapOfCurveSample instantiates
Map from TCollection(CurveRangeSample from IntTools,
CurveRangeSampleMapHasher from IntTools);
class MapOfSurfaceSample instantiates
Map from TCollection(SurfaceRangeSample from IntTools,
SurfaceRangeSampleMapHasher from IntTools);
class DataMapOfCurveSampleBox instantiates
DataMap from TCollection(CurveRangeSample from IntTools,
Box from Bnd,
CurveRangeSampleMapHasher from IntTools);
class DataMapOfSurfaceSampleBox instantiates
DataMap from TCollection(SurfaceRangeSample from IntTools,
Box from Bnd,
SurfaceRangeSampleMapHasher from IntTools);
-----------------------------------------------------
-- Block of static functions
-----------------------------------------------------
Length (E : Edge from TopoDS)
returns Real from Standard;
---Purpose: returns the length of the edge;
RemoveIdenticalRoots (aSeq :out SequenceOfRoots from IntTools;
anEpsT: Real from Standard);
---Purpose: Remove from the sequence aSeq the Roots that have
-- values ti and tj such as |ti-tj] < anEpsT.
SortRoots (aSeq :out SequenceOfRoots from IntTools;
anEpsT: Real from Standard);
---Purpose: Sort the sequence aSeq of the Roots to arrange the
-- Roons in increasing order
FindRootStates (aSeq :out SequenceOfRoots from IntTools;
anEpsNull: Real from Standard);
---Purpose: Find the states (before and after) for each Root
-- from the sequence aSeq
Parameter (P : Pnt from gp;
Curve : Curve from Geom;
aParm : out Real from Standard)
returns Integer from Standard;
GetRadius(C: Curve from BRepAdaptor;
t1,t3:Real from Standard;
R:out Real from Standard)
returns Integer from Standard;
PrepareArgs(C: in out Curve from BRepAdaptor;
tMax,tMin: Real from Standard;
Discret : Integer from Standard;
Deflect : Real from Standard;
anArgs : out CArray1OfReal from IntTools)
returns Integer from Standard;
end IntTools;
|