0024313: BRepAlgoAPI_Section and IntTools_FaceFace aren't written to handle Geom_Surf...
[occt.git] / src / IntTools / IntTools.cdl
CommitLineData
b311480e 1-- Created on: 2000-05-18
2-- Created by: Peter KURNEV
3-- Copyright (c) 2000-2012 OPEN CASCADE SAS
4--
5-- The content of this file is subject to the Open CASCADE Technology Public
6-- License Version 6.5 (the "License"). You may not use the content of this file
7-- except in compliance with the License. Please obtain a copy of the License
8-- at http://www.opencascade.org and read it completely before using this file.
9--
10-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
11-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
12--
13-- The Original Code and all software distributed under the License is
14-- distributed on an "AS IS" basis, without warranty of any kind, and the
15-- Initial Developer hereby disclaims all such warranties, including without
16-- limitation, any warranties of merchantability, fitness for a particular
17-- purpose or non-infringement. Please see the License for the specific terms
18-- and conditions governing the rights and limitations under the License.
19
7fd59977 20
21package IntTools
22
23 ---Purpose: Contains classes for intersection and classification
24 --- purposes and accompanying classes
25uses
26
27 TCollection,
28 TopoDS,
29 TopAbs,
30 TColStd,
31 BRepAdaptor,
32 BRepTopAdaptor,
33 SortTools,
34 TopTools,
35 math,
36 gp,
37 Bnd,
38 Adaptor3d,
39 GeomAdaptor,
40 Geom,
41 Geom2d,
42 GeomInt,
43 GeomAbs,
44 GeomAPI,
45 Extrema,
46 IntPatch,
47 IntSurf,
48 BRepClass3d,
4f189102 49 TColgp,
3f524765 50 MMgt,
4e57c75e 51 BOPInt
7fd59977 52
53is
54
55 class Range;
56 class CommonPrt;
57 class Root;
58 class Compare;
59 class CompareRange;
60
61 class EdgeEdge;
62 ---Purpose: class provides the Edge/Edge algorithm
63
64 class EdgeFace;
65 ---Purpose: class provides the Edge/Face algorithm
66
67 class FClass2d;
68 ---Purpose: class provides classification of a point in a face
69
70 class LineConstructor;
71 ---Purpose: class provides post-processing of results of
72 --- surfaces intersection
73
74 -----
75 class MarkedRangeSet;
76 ---Purpose: auxiliary class for range management
77
7fd59977 78 class BaseRangeSample;
79 ---Purpose: base class for range index management
80
81 class CurveRangeSample;
82 ---Purpose: class for range index management of curve
83
84 class SurfaceRangeSample;
85 ---Purpose: class for range index management of surface
86
87 class CurveRangeLocalizeData;
88
89 class SurfaceRangeLocalizeData;
7fd59977 90
91 class BeanFaceIntersector;
92 ---Purpose: class provides computing ranges of parameters
93 --- of edge/face intersection.
94
95 class BeanBeanIntersector;
96 ---Purpose: class provides computing ranges of parameters
97 --- of edge/edge intersection.
98
99 -----
100 class Curve;
101 ---Purpose: class is a container of
102 --- one 3d curve
103 --- two 2d curves
104 -----
105
106 class PntOnFace;
107 class PntOn2Faces;
108
109 class TopolTool;
110 ---Purpose: class redefines TopolTool from Adaptor3d
111
112 class FaceFace;
113 ---Purpose: class provides the Face/Face algorithm
114 ---
115
7fd59977 116 class Tools;
117 ---Purpose: class is a container of usefull geometrical and
118 --- topological algorithms
119
120 generic class CArray1;
121 ---
7fd59977 122 --- I n s t a n t i a t i o n s
123 ---
124 class SequenceOfPntOn2Faces instantiates
125 Sequence from TCollection(PntOn2Faces from IntTools);
126 --
127 class SequenceOfCurves instantiates
128 Sequence from TCollection(Curve from IntTools);
129
130
131 class SequenceOfRanges instantiates
132 Sequence from TCollection(Range from IntTools);
133
134 class CArray1OfInteger instantiates
135 CArray1(Integer from Standard);
136
137 class CArray1OfReal instantiates
138 CArray1(Real from Standard);
139
140 class SequenceOfRoots instantiates
141 Sequence from TCollection(Root from IntTools);
142
143 class Array1OfRoots instantiates
144 Array1 from TCollection (Root from IntTools);
145
146 class Array1OfRange instantiates
147 Array1 from TCollection (Range from IntTools);
148
149 class QuickSort instantiates
150 QuickSort from SortTools (Root from IntTools,
151 Array1OfRoots from IntTools,
152 Compare from IntTools);
153
154 class QuickSortRange instantiates
155 QuickSort from SortTools (Range from IntTools,
156 Array1OfRange from IntTools,
157 CompareRange from IntTools);
158 class SequenceOfCommonPrts instantiates
159 Sequence from TCollection(CommonPrt from IntTools);
160
161 class IndexedDataMapOfTransientAddress instantiates
162 IndexedDataMap from TCollection(Transient from Standard,
163 Address from Standard,
164 MapTransientHasher from TColStd);
165
166--modified by NIZHNY-MKK Wed Oct 5 18:06:39 2005
167 class ListOfCurveRangeSample instantiates
168 List from TCollection(CurveRangeSample from IntTools);
169
170 class ListOfSurfaceRangeSample instantiates
171 List from TCollection(SurfaceRangeSample from IntTools);
172
173 class ListOfBox instantiates
174 List from TCollection(Box from Bnd);
175
176 class CurveRangeSampleMapHasher;
177 ---Purpose: class for range index management of curve
178
179 class SurfaceRangeSampleMapHasher;
180
181 class MapOfCurveSample instantiates
182 Map from TCollection(CurveRangeSample from IntTools,
183 CurveRangeSampleMapHasher from IntTools);
184
185 class MapOfSurfaceSample instantiates
186 Map from TCollection(SurfaceRangeSample from IntTools,
187 SurfaceRangeSampleMapHasher from IntTools);
188
189 class DataMapOfCurveSampleBox instantiates
190 DataMap from TCollection(CurveRangeSample from IntTools,
191 Box from Bnd,
192 CurveRangeSampleMapHasher from IntTools);
193
194 class DataMapOfSurfaceSampleBox instantiates
195 DataMap from TCollection(SurfaceRangeSample from IntTools,
196 Box from Bnd,
197 SurfaceRangeSampleMapHasher from IntTools);
198 -----------------------------------------------------
199 -- Block of static functions
200 -----------------------------------------------------
201 Length (E : Edge from TopoDS)
202 returns Real from Standard;
203 ---Purpose: returns the length of the edge;
204
205 RemoveIdenticalRoots (aSeq :out SequenceOfRoots from IntTools;
206 anEpsT: Real from Standard);
207 ---Purpose: Remove from the sequence aSeq the Roots that have
208 -- values ti and tj such as |ti-tj] < anEpsT.
209
210 SortRoots (aSeq :out SequenceOfRoots from IntTools;
211 anEpsT: Real from Standard);
212 ---Purpose: Sort the sequence aSeq of the Roots to arrange the
213 -- Roons in increasing order
214 FindRootStates (aSeq :out SequenceOfRoots from IntTools;
215 anEpsNull: Real from Standard);
216 ---Purpose: Find the states (before and after) for each Root
217 -- from the sequence aSeq
218
219 Parameter (P : Pnt from gp;
220 Curve : Curve from Geom;
221 aParm : out Real from Standard)
222 returns Integer from Standard;
223
224 GetRadius(C: Curve from BRepAdaptor;
225 t1,t3:Real from Standard;
226 R:out Real from Standard)
227 returns Integer from Standard;
228
229
230 PrepareArgs(C: in out Curve from BRepAdaptor;
231 tMax,tMin: Real from Standard;
232 Discret : Integer from Standard;
233 Deflect : Real from Standard;
234 anArgs : out CArray1OfReal from IntTools)
235 returns Integer from Standard;
236
237end IntTools;
238
239
240