// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _TopTools_HeaderFile
#define _TopTools_HeaderFile

#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Macro.hxx>

#include <Standard_OStream.hxx>
#include <Standard_Integer.hxx>
class TopoDS_Shape;
class TopTools_ShapeMapHasher;
class TopTools_OrientedShapeMapHasher;
class TopTools_MapOfShape;
class TopTools_MapOfOrientedShape;
class TopTools_IndexedMapOfShape;
class TopTools_DataMapOfIntegerShape;
class TopTools_DataMapOfOrientedShapeInteger;
class TopTools_DataMapOfShapeInteger;
class TopTools_DataMapOfShapeReal;
class TopTools_Array1OfShape;
class TopTools_HArray1OfShape;
class TopTools_Array2OfShape;
class TopTools_HArray2OfShape;
class TopTools_SequenceOfShape;
class TopTools_HSequenceOfShape;
class TopTools_ListOfShape;
class TopTools_Array1OfListOfShape;
class TopTools_HArray1OfListOfShape;
class TopTools_DataMapOfIntegerListOfShape;
class TopTools_DataMapOfShapeListOfShape;
class TopTools_DataMapOfShapeListOfInteger;
class TopTools_IndexedDataMapOfShapeShape;
class TopTools_IndexedDataMapOfShapeListOfShape;
class TopTools_DataMapOfShapeShape;
class TopTools_IndexedMapOfOrientedShape;
class TopTools_DataMapOfShapeSequenceOfShape;
class TopTools_IndexedDataMapOfShapeAddress;
class TopTools_DataMapOfOrientedShapeShape;
class TopTools_LocationSet;
class TopTools_ShapeSet;
class TopTools_StdMapNodeOfMapOfShape;
class TopTools_MapIteratorOfMapOfShape;
class TopTools_StdMapNodeOfMapOfOrientedShape;
class TopTools_MapIteratorOfMapOfOrientedShape;
class TopTools_IndexedMapNodeOfIndexedMapOfShape;
class TopTools_DataMapNodeOfDataMapOfIntegerShape;
class TopTools_DataMapIteratorOfDataMapOfIntegerShape;
class TopTools_DataMapNodeOfDataMapOfOrientedShapeInteger;
class TopTools_DataMapIteratorOfDataMapOfOrientedShapeInteger;
class TopTools_DataMapNodeOfDataMapOfShapeInteger;
class TopTools_DataMapIteratorOfDataMapOfShapeInteger;
class TopTools_DataMapNodeOfDataMapOfShapeReal;
class TopTools_DataMapIteratorOfDataMapOfShapeReal;
class TopTools_SequenceNodeOfSequenceOfShape;
class TopTools_ListNodeOfListOfShape;
class TopTools_ListIteratorOfListOfShape;
class TopTools_DataMapNodeOfDataMapOfIntegerListOfShape;
class TopTools_DataMapIteratorOfDataMapOfIntegerListOfShape;
class TopTools_DataMapNodeOfDataMapOfShapeListOfShape;
class TopTools_DataMapIteratorOfDataMapOfShapeListOfShape;
class TopTools_DataMapNodeOfDataMapOfShapeListOfInteger;
class TopTools_DataMapIteratorOfDataMapOfShapeListOfInteger;
class TopTools_IndexedDataMapNodeOfIndexedDataMapOfShapeShape;
class TopTools_IndexedDataMapNodeOfIndexedDataMapOfShapeListOfShape;
class TopTools_DataMapNodeOfDataMapOfShapeShape;
class TopTools_DataMapIteratorOfDataMapOfShapeShape;
class TopTools_IndexedMapNodeOfIndexedMapOfOrientedShape;
class TopTools_DataMapNodeOfDataMapOfShapeSequenceOfShape;
class TopTools_DataMapIteratorOfDataMapOfShapeSequenceOfShape;
class TopTools_IndexedDataMapNodeOfIndexedDataMapOfShapeAddress;
class TopTools_DataMapNodeOfDataMapOfOrientedShapeShape;
class TopTools_DataMapIteratorOfDataMapOfOrientedShapeShape;


//! The  TopTools package provides   utilities for the
//! topological data structure.
//!
//! * ShapeMapHasher. Hash a  Shape base on the TShape
//! and the Location. The Orientation is not used.
//!
//! * OrientedShapeMapHasher. Hash a Shape base on the
//! TShape ,the Location and the Orientation.
//!
//! * Instantiations of TCollection for Shapes :
//! MapOfShape
//! IndexedMapOfShape
//! DataMapOfIntegerShape
//! DataMapOfShapeInteger
//! DataMapOfShapeReal
//! Array1OfShape
//! HArray1OfShape
//! SequenceOfShape
//! HSequenceOfShape
//! ListOfShape
//! Array1OfListShape
//! HArray1OfListShape
//! DataMapOfIntegerListOfShape
//! DataMapOfShapeListOfShape
//! DataMapOfShapeListOfInteger
//! IndexedDataMapOfShapeShape
//! IndexedDataMapOfShapeListOfShape
//! DataMapOfShapeShape
//! IndexedMapOfOrientedShape
//! DataMapOfShapeSequenceOfShape
//! IndexedDataMapOfShapeAddress
//! DataMapOfOrientedShapeShape
//!
//! * LocationSet : to write sets of locations.
//!
//! * ShapeSet : to writes sets of TShapes.
//!
//! Package Methods :
//!
//! Dump : To dump the topology of a Shape.
class TopTools 
{
public:

  DEFINE_STANDARD_ALLOC

  
  //! A set of Shapes. Can be dump, wrote or read.
  //! Dumps the topological structure  of <Sh>  on the
  //! stream <S>.
  Standard_EXPORT static   void Dump (const TopoDS_Shape& Sh, Standard_OStream& S) ;
  
  //! This is to bypass an extraction bug. It will force
  //! the  inclusion    of  Standard_Integer.hxx  itself
  //! including Standard_OStream.hxx  at   the   correct
  //! position.
  Standard_EXPORT static   void Dummy (const Standard_Integer I) ;




protected:





private:




friend class TopTools_ShapeMapHasher;
friend class TopTools_OrientedShapeMapHasher;
friend class TopTools_MapOfShape;
friend class TopTools_MapOfOrientedShape;
friend class TopTools_IndexedMapOfShape;
friend class TopTools_DataMapOfIntegerShape;
friend class TopTools_DataMapOfOrientedShapeInteger;
friend class TopTools_DataMapOfShapeInteger;
friend class TopTools_DataMapOfShapeReal;
friend class TopTools_Array1OfShape;
friend class TopTools_HArray1OfShape;
friend class TopTools_Array2OfShape;
friend class TopTools_HArray2OfShape;
friend class TopTools_SequenceOfShape;
friend class TopTools_HSequenceOfShape;
friend class TopTools_ListOfShape;
friend class TopTools_Array1OfListOfShape;
friend class TopTools_HArray1OfListOfShape;
friend class TopTools_DataMapOfIntegerListOfShape;
friend class TopTools_DataMapOfShapeListOfShape;
friend class TopTools_DataMapOfShapeListOfInteger;
friend class TopTools_IndexedDataMapOfShapeShape;
friend class TopTools_IndexedDataMapOfShapeListOfShape;
friend class TopTools_DataMapOfShapeShape;
friend class TopTools_IndexedMapOfOrientedShape;
friend class TopTools_DataMapOfShapeSequenceOfShape;
friend class TopTools_IndexedDataMapOfShapeAddress;
friend class TopTools_DataMapOfOrientedShapeShape;
friend class TopTools_LocationSet;
friend class TopTools_ShapeSet;
friend class TopTools_StdMapNodeOfMapOfShape;
friend class TopTools_MapIteratorOfMapOfShape;
friend class TopTools_StdMapNodeOfMapOfOrientedShape;
friend class TopTools_MapIteratorOfMapOfOrientedShape;
friend class TopTools_IndexedMapNodeOfIndexedMapOfShape;
friend class TopTools_DataMapNodeOfDataMapOfIntegerShape;
friend class TopTools_DataMapIteratorOfDataMapOfIntegerShape;
friend class TopTools_DataMapNodeOfDataMapOfOrientedShapeInteger;
friend class TopTools_DataMapIteratorOfDataMapOfOrientedShapeInteger;
friend class TopTools_DataMapNodeOfDataMapOfShapeInteger;
friend class TopTools_DataMapIteratorOfDataMapOfShapeInteger;
friend class TopTools_DataMapNodeOfDataMapOfShapeReal;
friend class TopTools_DataMapIteratorOfDataMapOfShapeReal;
friend class TopTools_SequenceNodeOfSequenceOfShape;
friend class TopTools_ListNodeOfListOfShape;
friend class TopTools_ListIteratorOfListOfShape;
friend class TopTools_DataMapNodeOfDataMapOfIntegerListOfShape;
friend class TopTools_DataMapIteratorOfDataMapOfIntegerListOfShape;
friend class TopTools_DataMapNodeOfDataMapOfShapeListOfShape;
friend class TopTools_DataMapIteratorOfDataMapOfShapeListOfShape;
friend class TopTools_DataMapNodeOfDataMapOfShapeListOfInteger;
friend class TopTools_DataMapIteratorOfDataMapOfShapeListOfInteger;
friend class TopTools_IndexedDataMapNodeOfIndexedDataMapOfShapeShape;
friend class TopTools_IndexedDataMapNodeOfIndexedDataMapOfShapeListOfShape;
friend class TopTools_DataMapNodeOfDataMapOfShapeShape;
friend class TopTools_DataMapIteratorOfDataMapOfShapeShape;
friend class TopTools_IndexedMapNodeOfIndexedMapOfOrientedShape;
friend class TopTools_DataMapNodeOfDataMapOfShapeSequenceOfShape;
friend class TopTools_DataMapIteratorOfDataMapOfShapeSequenceOfShape;
friend class TopTools_IndexedDataMapNodeOfIndexedDataMapOfShapeAddress;
friend class TopTools_DataMapNodeOfDataMapOfOrientedShapeShape;
friend class TopTools_DataMapIteratorOfDataMapOfOrientedShapeShape;

};







#endif // _TopTools_HeaderFile
