b311480e |
1 | -- Created on: 2000-05-18 |
2 | -- Created by: Peter KURNEV |
973c2be1 |
3 | -- Copyright (c) 2000-2014 OPEN CASCADE SAS |
b311480e |
4 | -- |
973c2be1 |
5 | -- This file is part of Open CASCADE Technology software library. |
b311480e |
6 | -- |
d5f74e42 |
7 | -- This library is free software; you can redistribute it and/or modify it under |
8 | -- the terms of the GNU Lesser General Public License version 2.1 as published |
973c2be1 |
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. |
b311480e |
12 | -- |
973c2be1 |
13 | -- Alternatively, this file may be used under the terms of Open CASCADE |
14 | -- commercial license or contractual agreement. |
7fd59977 |
15 | |
16 | package IntTools |
17 | |
18 | ---Purpose: Contains classes for intersection and classification |
19 | --- purposes and accompanying classes |
20 | uses |
21 | |
22 | TCollection, |
23 | TopoDS, |
24 | TopAbs, |
25 | TColStd, |
26 | BRepAdaptor, |
27 | BRepTopAdaptor, |
28 | SortTools, |
29 | TopTools, |
30 | math, |
31 | gp, |
32 | Bnd, |
33 | Adaptor3d, |
34 | GeomAdaptor, |
35 | Geom, |
36 | Geom2d, |
37 | GeomInt, |
38 | GeomAbs, |
39 | GeomAPI, |
40 | Extrema, |
41 | IntPatch, |
42 | IntSurf, |
43 | BRepClass3d, |
4f189102 |
44 | TColgp, |
3f524765 |
45 | MMgt, |
4e57c75e |
46 | BOPInt |
7fd59977 |
47 | |
48 | is |
49 | |
50 | class Range; |
51 | class CommonPrt; |
52 | class Root; |
53 | class Compare; |
54 | class CompareRange; |
55 | |
56 | class EdgeEdge; |
57 | ---Purpose: class provides the Edge/Edge algorithm |
58 | |
59 | class EdgeFace; |
60 | ---Purpose: class provides the Edge/Face algorithm |
61 | |
62 | class FClass2d; |
63 | ---Purpose: class provides classification of a point in a face |
64 | |
65 | class LineConstructor; |
66 | ---Purpose: class provides post-processing of results of |
67 | --- surfaces intersection |
68 | |
69 | ----- |
70 | class MarkedRangeSet; |
71 | ---Purpose: auxiliary class for range management |
72 | |
7fd59977 |
73 | class BaseRangeSample; |
74 | ---Purpose: base class for range index management |
75 | |
76 | class CurveRangeSample; |
77 | ---Purpose: class for range index management of curve |
78 | |
79 | class SurfaceRangeSample; |
80 | ---Purpose: class for range index management of surface |
81 | |
82 | class CurveRangeLocalizeData; |
83 | |
84 | class SurfaceRangeLocalizeData; |
7fd59977 |
85 | |
86 | class BeanFaceIntersector; |
87 | ---Purpose: class provides computing ranges of parameters |
88 | --- of edge/face intersection. |
89 | |
7fd59977 |
90 | ----- |
91 | class Curve; |
92 | ---Purpose: class is a container of |
93 | --- one 3d curve |
94 | --- two 2d curves |
95 | ----- |
96 | |
97 | class PntOnFace; |
98 | class PntOn2Faces; |
99 | |
100 | class TopolTool; |
101 | ---Purpose: class redefines TopolTool from Adaptor3d |
102 | |
103 | class FaceFace; |
104 | ---Purpose: class provides the Face/Face algorithm |
105 | --- |
106 | |
7fd59977 |
107 | class Tools; |
108 | ---Purpose: class is a container of usefull geometrical and |
109 | --- topological algorithms |
110 | |
111 | generic class CArray1; |
112 | --- |
7fd59977 |
113 | --- I n s t a n t i a t i o n s |
114 | --- |
115 | class SequenceOfPntOn2Faces instantiates |
116 | Sequence from TCollection(PntOn2Faces from IntTools); |
117 | -- |
118 | class SequenceOfCurves instantiates |
119 | Sequence from TCollection(Curve from IntTools); |
120 | |
121 | |
122 | class SequenceOfRanges instantiates |
123 | Sequence from TCollection(Range from IntTools); |
124 | |
125 | class CArray1OfInteger instantiates |
126 | CArray1(Integer from Standard); |
127 | |
128 | class CArray1OfReal instantiates |
129 | CArray1(Real from Standard); |
130 | |
131 | class SequenceOfRoots instantiates |
132 | Sequence from TCollection(Root from IntTools); |
133 | |
134 | class Array1OfRoots instantiates |
135 | Array1 from TCollection (Root from IntTools); |
136 | |
137 | class Array1OfRange instantiates |
138 | Array1 from TCollection (Range from IntTools); |
139 | |
140 | class QuickSort instantiates |
141 | QuickSort from SortTools (Root from IntTools, |
142 | Array1OfRoots from IntTools, |
143 | Compare from IntTools); |
144 | |
145 | class QuickSortRange instantiates |
146 | QuickSort from SortTools (Range from IntTools, |
147 | Array1OfRange from IntTools, |
148 | CompareRange from IntTools); |
149 | class SequenceOfCommonPrts instantiates |
150 | Sequence from TCollection(CommonPrt from IntTools); |
151 | |
152 | class IndexedDataMapOfTransientAddress instantiates |
153 | IndexedDataMap from TCollection(Transient from Standard, |
154 | Address from Standard, |
155 | MapTransientHasher from TColStd); |
156 | |
157 | --modified by NIZHNY-MKK Wed Oct 5 18:06:39 2005 |
158 | class ListOfCurveRangeSample instantiates |
159 | List from TCollection(CurveRangeSample from IntTools); |
160 | |
161 | class ListOfSurfaceRangeSample instantiates |
162 | List from TCollection(SurfaceRangeSample from IntTools); |
163 | |
164 | class ListOfBox instantiates |
165 | List from TCollection(Box from Bnd); |
166 | |
167 | class CurveRangeSampleMapHasher; |
168 | ---Purpose: class for range index management of curve |
169 | |
170 | class SurfaceRangeSampleMapHasher; |
171 | |
172 | class MapOfCurveSample instantiates |
173 | Map from TCollection(CurveRangeSample from IntTools, |
174 | CurveRangeSampleMapHasher from IntTools); |
175 | |
176 | class MapOfSurfaceSample instantiates |
177 | Map from TCollection(SurfaceRangeSample from IntTools, |
178 | SurfaceRangeSampleMapHasher from IntTools); |
179 | |
180 | class DataMapOfCurveSampleBox instantiates |
181 | DataMap from TCollection(CurveRangeSample from IntTools, |
182 | Box from Bnd, |
183 | CurveRangeSampleMapHasher from IntTools); |
184 | |
185 | class DataMapOfSurfaceSampleBox instantiates |
186 | DataMap from TCollection(SurfaceRangeSample from IntTools, |
187 | Box from Bnd, |
188 | SurfaceRangeSampleMapHasher from IntTools); |
189 | ----------------------------------------------------- |
190 | -- Block of static functions |
191 | ----------------------------------------------------- |
192 | Length (E : Edge from TopoDS) |
193 | returns Real from Standard; |
194 | ---Purpose: returns the length of the edge; |
195 | |
196 | RemoveIdenticalRoots (aSeq :out SequenceOfRoots from IntTools; |
197 | anEpsT: Real from Standard); |
198 | ---Purpose: Remove from the sequence aSeq the Roots that have |
199 | -- values ti and tj such as |ti-tj] < anEpsT. |
200 | |
201 | SortRoots (aSeq :out SequenceOfRoots from IntTools; |
202 | anEpsT: Real from Standard); |
203 | ---Purpose: Sort the sequence aSeq of the Roots to arrange the |
204 | -- Roons in increasing order |
205 | FindRootStates (aSeq :out SequenceOfRoots from IntTools; |
206 | anEpsNull: Real from Standard); |
207 | ---Purpose: Find the states (before and after) for each Root |
208 | -- from the sequence aSeq |
209 | |
210 | Parameter (P : Pnt from gp; |
211 | Curve : Curve from Geom; |
212 | aParm : out Real from Standard) |
213 | returns Integer from Standard; |
214 | |
215 | GetRadius(C: Curve from BRepAdaptor; |
216 | t1,t3:Real from Standard; |
217 | R:out Real from Standard) |
218 | returns Integer from Standard; |
219 | |
220 | |
221 | PrepareArgs(C: in out Curve from BRepAdaptor; |
222 | tMax,tMin: Real from Standard; |
223 | Discret : Integer from Standard; |
224 | Deflect : Real from Standard; |
225 | anArgs : out CArray1OfReal from IntTools) |
226 | returns Integer from Standard; |
227 | |
228 | end IntTools; |
229 | |
230 | |
231 | |