1 -- Created on: 2000-05-18
2 -- Created by: Peter KURNEV
3 -- Copyright (c) 2000-2014 OPEN CASCADE SAS
5 -- This file is part of Open CASCADE Technology software library.
7 -- This library is free software; you can redistribute it and / or modify it
8 -- under the terms of the GNU Lesser General Public version 2.1 as published
9 -- by the Free Software Foundation, with special exception defined in the file
10 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
11 -- distribution for complete text of the license and disclaimer of any warranty.
13 -- Alternatively, this file may be used under the terms of Open CASCADE
14 -- commercial license or contractual agreement.
18 ---Purpose: Contains classes for intersection and classification
19 --- purposes and accompanying classes
57 ---Purpose: class provides the Edge/Edge algorithm
60 ---Purpose: class provides the Edge/Face algorithm
63 ---Purpose: class provides classification of a point in a face
65 class LineConstructor;
66 ---Purpose: class provides post-processing of results of
67 --- surfaces intersection
71 ---Purpose: auxiliary class for range management
73 class BaseRangeSample;
74 ---Purpose: base class for range index management
76 class CurveRangeSample;
77 ---Purpose: class for range index management of curve
79 class SurfaceRangeSample;
80 ---Purpose: class for range index management of surface
82 class CurveRangeLocalizeData;
84 class SurfaceRangeLocalizeData;
86 class BeanFaceIntersector;
87 ---Purpose: class provides computing ranges of parameters
88 --- of edge/face intersection.
90 class BeanBeanIntersector;
91 ---Purpose: class provides computing ranges of parameters
92 --- of edge/edge intersection.
96 ---Purpose: class is a container of
105 ---Purpose: class redefines TopolTool from Adaptor3d
108 ---Purpose: class provides the Face/Face algorithm
112 ---Purpose: class is a container of usefull geometrical and
113 --- topological algorithms
115 generic class CArray1;
117 --- I n s t a n t i a t i o n s
119 class SequenceOfPntOn2Faces instantiates
120 Sequence from TCollection(PntOn2Faces from IntTools);
122 class SequenceOfCurves instantiates
123 Sequence from TCollection(Curve from IntTools);
126 class SequenceOfRanges instantiates
127 Sequence from TCollection(Range from IntTools);
129 class CArray1OfInteger instantiates
130 CArray1(Integer from Standard);
132 class CArray1OfReal instantiates
133 CArray1(Real from Standard);
135 class SequenceOfRoots instantiates
136 Sequence from TCollection(Root from IntTools);
138 class Array1OfRoots instantiates
139 Array1 from TCollection (Root from IntTools);
141 class Array1OfRange instantiates
142 Array1 from TCollection (Range from IntTools);
144 class QuickSort instantiates
145 QuickSort from SortTools (Root from IntTools,
146 Array1OfRoots from IntTools,
147 Compare from IntTools);
149 class QuickSortRange instantiates
150 QuickSort from SortTools (Range from IntTools,
151 Array1OfRange from IntTools,
152 CompareRange from IntTools);
153 class SequenceOfCommonPrts instantiates
154 Sequence from TCollection(CommonPrt from IntTools);
156 class IndexedDataMapOfTransientAddress instantiates
157 IndexedDataMap from TCollection(Transient from Standard,
158 Address from Standard,
159 MapTransientHasher from TColStd);
161 --modified by NIZHNY-MKK Wed Oct 5 18:06:39 2005
162 class ListOfCurveRangeSample instantiates
163 List from TCollection(CurveRangeSample from IntTools);
165 class ListOfSurfaceRangeSample instantiates
166 List from TCollection(SurfaceRangeSample from IntTools);
168 class ListOfBox instantiates
169 List from TCollection(Box from Bnd);
171 class CurveRangeSampleMapHasher;
172 ---Purpose: class for range index management of curve
174 class SurfaceRangeSampleMapHasher;
176 class MapOfCurveSample instantiates
177 Map from TCollection(CurveRangeSample from IntTools,
178 CurveRangeSampleMapHasher from IntTools);
180 class MapOfSurfaceSample instantiates
181 Map from TCollection(SurfaceRangeSample from IntTools,
182 SurfaceRangeSampleMapHasher from IntTools);
184 class DataMapOfCurveSampleBox instantiates
185 DataMap from TCollection(CurveRangeSample from IntTools,
187 CurveRangeSampleMapHasher from IntTools);
189 class DataMapOfSurfaceSampleBox instantiates
190 DataMap from TCollection(SurfaceRangeSample from IntTools,
192 SurfaceRangeSampleMapHasher from IntTools);
193 -----------------------------------------------------
194 -- Block of static functions
195 -----------------------------------------------------
196 Length (E : Edge from TopoDS)
197 returns Real from Standard;
198 ---Purpose: returns the length of the edge;
200 RemoveIdenticalRoots (aSeq :out SequenceOfRoots from IntTools;
201 anEpsT: Real from Standard);
202 ---Purpose: Remove from the sequence aSeq the Roots that have
203 -- values ti and tj such as |ti-tj] < anEpsT.
205 SortRoots (aSeq :out SequenceOfRoots from IntTools;
206 anEpsT: Real from Standard);
207 ---Purpose: Sort the sequence aSeq of the Roots to arrange the
208 -- Roons in increasing order
209 FindRootStates (aSeq :out SequenceOfRoots from IntTools;
210 anEpsNull: Real from Standard);
211 ---Purpose: Find the states (before and after) for each Root
212 -- from the sequence aSeq
214 Parameter (P : Pnt from gp;
215 Curve : Curve from Geom;
216 aParm : out Real from Standard)
217 returns Integer from Standard;
219 GetRadius(C: Curve from BRepAdaptor;
220 t1,t3:Real from Standard;
221 R:out Real from Standard)
222 returns Integer from Standard;
225 PrepareArgs(C: in out Curve from BRepAdaptor;
226 tMax,tMin: Real from Standard;
227 Discret : Integer from Standard;
228 Deflect : Real from Standard;
229 anArgs : out CArray1OfReal from IntTools)
230 returns Integer from Standard;