1 // Created on: 1993-01-14
2 // Created by: Remi LEQUETTE
3 // Copyright (c) 1993-1999 Matra Datavision
4 // Copyright (c) 1999-2014 OPEN CASCADE SAS
6 // This file is part of Open CASCADE Technology software library.
8 // This library is free software; you can redistribute it and/or modify it under
9 // the terms of the GNU Lesser General Public License version 2.1 as published
10 // by the Free Software Foundation, with special exception defined in the file
11 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 // distribution for complete text of the license and disclaimer of any warranty.
14 // Alternatively, this file may be used under the terms of Open CASCADE
15 // commercial license or contractual agreement.
17 #ifndef _TopTools_HeaderFile
18 #define _TopTools_HeaderFile
20 #include <Standard.hxx>
21 #include <Standard_DefineAlloc.hxx>
22 #include <Standard_Handle.hxx>
24 #include <Standard_OStream.hxx>
25 #include <Standard_Integer.hxx>
27 class TopTools_ShapeMapHasher;
28 class TopTools_OrientedShapeMapHasher;
29 class TopTools_LocationSet;
30 class TopTools_ShapeSet;
33 //! The TopTools package provides utilities for the
34 //! topological data structure.
36 //! * ShapeMapHasher. Hash a Shape base on the TShape
37 //! and the Location. The Orientation is not used.
39 //! * OrientedShapeMapHasher. Hash a Shape base on the
40 //! TShape ,the Location and the Orientation.
42 //! * Instantiations of TCollection for Shapes :
45 //! DataMapOfIntegerShape
46 //! DataMapOfShapeInteger
47 //! DataMapOfShapeReal
54 //! HArray1OfListShape
55 //! DataMapOfIntegerListOfShape
56 //! DataMapOfShapeListOfShape
57 //! DataMapOfShapeListOfInteger
58 //! IndexedDataMapOfShapeShape
59 //! IndexedDataMapOfShapeListOfShape
60 //! DataMapOfShapeShape
61 //! IndexedMapOfOrientedShape
62 //! DataMapOfShapeSequenceOfShape
63 //! IndexedDataMapOfShapeAddress
64 //! DataMapOfOrientedShapeShape
66 //! * LocationSet : to write sets of locations.
68 //! * ShapeSet : to writes sets of TShapes.
72 //! Dump : To dump the topology of a Shape.
80 //! A set of Shapes. Can be dump, wrote or read.
81 //! Dumps the topological structure of <Sh> on the
83 Standard_EXPORT static void Dump (const TopoDS_Shape& Sh, Standard_OStream& S);
85 //! This is to bypass an extraction bug. It will force
86 //! the inclusion of Standard_Integer.hxx itself
87 //! including Standard_OStream.hxx at the correct
89 Standard_EXPORT static void Dummy (const Standard_Integer I);
105 friend class TopTools_ShapeMapHasher;
106 friend class TopTools_OrientedShapeMapHasher;
107 friend class TopTools_LocationSet;
108 friend class TopTools_ShapeSet;
118 #endif // _TopTools_HeaderFile