1 -- Created on: 1993-01-14
2 -- Created by: Remi LEQUETTE
3 -- Copyright (c) 1993-1999 Matra Datavision
4 -- Copyright (c) 1999-2012 OPEN CASCADE SAS
6 -- The content of this file is subject to the Open CASCADE Technology Public
7 -- License Version 6.5 (the "License"). You may not use the content of this file
8 -- except in compliance with the License. Please obtain a copy of the License
9 -- at http://www.opencascade.org and read it completely before using this file.
11 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
14 -- The Original Code and all software distributed under the License is
15 -- distributed on an "AS IS" basis, without warranty of any kind, and the
16 -- Initial Developer hereby disclaims all such warranties, including without
17 -- limitation, any warranties of merchantability, fitness for a particular
18 -- purpose or non-infringement. Please see the License for the specific terms
19 -- and conditions governing the rights and limitations under the License.
25 ---Purpose: The TopTools package provides utilities for the
26 -- topological data structure.
28 -- * ShapeMapHasher. Hash a Shape base on the TShape
29 -- and the Location. The Orientation is not used.
31 -- * OrientedShapeMapHasher. Hash a Shape base on the
32 -- TShape ,the Location and the Orientation.
34 -- * Instantiations of TCollection for Shapes :
37 -- DataMapOfIntegerShape
38 -- DataMapOfShapeInteger
47 -- DataMapOfIntegerListOfShape
48 -- DataMapOfShapeListOfShape
49 -- DataMapOfShapeListOfInteger
50 -- IndexedDataMapOfShapeShape
51 -- IndexedDataMapOfShapeListOfShape
52 -- DataMapOfShapeShape
53 -- IndexedMapOfOrientedShape
54 -- DataMapOfShapeSequenceOfShape
55 -- IndexedDataMapOfShapeAddress
56 -- DataMapOfOrientedShapeShape
58 -- * LocationSet : to write sets of locations.
60 -- * ShapeSet : to writes sets of TShapes.
64 -- Dump : To dump the topology of a Shape.
68 -- All methods of all classes will be public.
83 ----------------------------------------------------------
84 -- TCollections for Shapes
85 ----------------------------------------------------------
89 class OrientedShapeMapHasher;
91 class MapOfShape instantiates
92 Map from TCollection(Shape from TopoDS,
93 ShapeMapHasher from TopTools);
95 class MapOfOrientedShape instantiates
96 Map from TCollection(Shape from TopoDS,
97 OrientedShapeMapHasher from TopTools);
99 class IndexedMapOfShape instantiates
100 IndexedMap from TCollection(Shape from TopoDS,
101 ShapeMapHasher from TopTools);
103 class DataMapOfIntegerShape instantiates
104 DataMap from TCollection(Integer,
106 MapIntegerHasher from TColStd);
108 class DataMapOfOrientedShapeInteger instantiates
109 DataMap from TCollection(Shape from TopoDS,
110 Integer from Standard,
111 OrientedShapeMapHasher from TopTools);
113 class DataMapOfShapeInteger instantiates
114 DataMap from TCollection(Shape from TopoDS,
115 Integer from Standard,
116 ShapeMapHasher from TopTools);
118 class DataMapOfShapeReal instantiates
119 DataMap from TCollection(Shape from TopoDS,
121 ShapeMapHasher from TopTools);
123 class Array1OfShape instantiates
124 Array1 from TCollection (Shape from TopoDS);
126 class HArray1OfShape instantiates
127 HArray1 from TCollection(Shape from TopoDS,
128 Array1OfShape from TopTools);
130 class Array2OfShape instantiates
131 Array2 from TCollection (Shape from TopoDS);
133 class HArray2OfShape instantiates
134 HArray2 from TCollection(Shape from TopoDS,
135 Array2OfShape from TopTools);
137 class SequenceOfShape instantiates
138 Sequence from TCollection (Shape from TopoDS);
140 class HSequenceOfShape instantiates
141 HSequence from TCollection(Shape from TopoDS,
142 SequenceOfShape from TopTools);
144 class ListOfShape instantiates
145 List from TCollection (Shape from TopoDS);
147 class Array1OfListOfShape instantiates
148 Array1 from TCollection (ListOfShape from TopTools);
150 class HArray1OfListOfShape instantiates
151 HArray1 from TCollection(ListOfShape from TopTools,
152 Array1OfListOfShape from TopTools);
154 class DataMapOfIntegerListOfShape instantiates
155 DataMap from TCollection(Integer from Standard,
156 ListOfShape from TopTools,
157 MapIntegerHasher from TColStd);
159 class DataMapOfShapeListOfShape instantiates
160 DataMap from TCollection(Shape from TopoDS,
161 ListOfShape from TopTools,
162 ShapeMapHasher from TopTools);
164 class DataMapOfShapeListOfInteger instantiates
165 DataMap from TCollection(Shape from TopoDS,
166 ListOfInteger from TColStd,
167 ShapeMapHasher from TopTools);
169 class IndexedDataMapOfShapeShape instantiates
170 IndexedDataMap from TCollection(Shape from TopoDS,
172 ShapeMapHasher from TopTools);
173 class IndexedDataMapOfShapeListOfShape instantiates
174 IndexedDataMap from TCollection(Shape from TopoDS,
175 ListOfShape from TopTools,
176 ShapeMapHasher from TopTools);
178 class DataMapOfShapeShape instantiates
179 DataMap from TCollection (Shape from TopoDS,
181 ShapeMapHasher from TopTools);
183 class IndexedMapOfOrientedShape instantiates
184 IndexedMap from TCollection(Shape from TopoDS,
185 OrientedShapeMapHasher from TopTools);
187 class DataMapOfShapeSequenceOfShape instantiates
188 DataMap from TCollection (Shape from TopoDS,
189 SequenceOfShape from TopTools,
190 ShapeMapHasher from TopTools);
192 class IndexedDataMapOfShapeAddress instantiates
193 IndexedDataMap from TCollection(Shape from TopoDS,
194 Address from Standard,
195 ShapeMapHasher from TopTools);
197 class DataMapOfOrientedShapeShape instantiates
198 DataMap from TCollection (Shape from TopoDS,
200 OrientedShapeMapHasher from TopTools);
202 ----------------------------------------------------------
203 -- Tools for writing and reading Locations and Shapes
204 ----------------------------------------------------------
207 ---Purpose: A set of Locations. Can be dump, wrote or read.
209 pointer LocationSetPtr to LocationSet from TopTools;
212 ---Purpose: A set of Shapes. Can be dump, wrote or read.
218 imported MutexForShapeProvider;
220 Dump(Sh : Shape from TopoDS; S : in out OStream);
221 ---Purpose: Dumps the topological structure of <Sh> on the
225 ---Purpose: This is to bypass an extraction bug. It will force
226 -- the inclusion of Standard_Integer.hxx itself
227 -- including Standard_OStream.hxx at the correct