// 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 _TopOpeBRepDS_HeaderFile
#define _TopOpeBRepDS_HeaderFile

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

#include <TopAbs_State.hxx>
#include <Standard_OStream.hxx>
#include <TopOpeBRepDS_Kind.hxx>
#include <Standard_Integer.hxx>
#include <TCollection_AsciiString.hxx>
#include <TopAbs_ShapeEnum.hxx>
#include <TopAbs_Orientation.hxx>
#include <TopOpeBRepDS_Config.hxx>
#include <Standard_Boolean.hxx>
class TCollection_AsciiString;
class TopOpeBRepDS_DataMapOfCheckStatus;
class TopOpeBRepDS_Interference;
class TopOpeBRepDS_ListOfInterference;
class TopOpeBRepDS_InterferenceIterator;
class TopOpeBRepDS_DataMapOfInterferenceListOfInterference;
class TopOpeBRepDS_DataMapOfInterferenceShape;
class TopOpeBRepDS_DataMapOfIntegerListOfInterference;
class TopOpeBRepDS_Array1OfDataMapOfIntegerListOfInterference;
class TopOpeBRepDS_HArray1OfDataMapOfIntegerListOfInterference;
class TopOpeBRepDS_TKI;
class TopOpeBRepDS_Transition;
class TopOpeBRepDS_CurvePointInterference;
class TopOpeBRepDS_SurfaceCurveInterference;
class TopOpeBRepDS_SolidSurfaceInterference;
class TopOpeBRepDS_ShapeShapeInterference;
class TopOpeBRepDS_EdgeVertexInterference;
class TopOpeBRepDS_FaceEdgeInterference;
class TopOpeBRepDS_Surface;
class TopOpeBRepDS_Curve;
class TopOpeBRepDS_Point;
class TopOpeBRepDS_IndexedDataMapOfVertexPoint;
class TopOpeBRepDS_GeometryData;
class TopOpeBRepDS_SurfaceData;
class TopOpeBRepDS_MapOfSurface;
class TopOpeBRepDS_CurveData;
class TopOpeBRepDS_MapOfCurve;
class TopOpeBRepDS_PointData;
class TopOpeBRepDS_MapOfPoint;
class TopOpeBRepDS_ShapeData;
class TopOpeBRepDS_MapOfShapeData;
class TopOpeBRepDS_ShapeSurface;
class TopOpeBRepDS_DoubleMapOfIntegerShape;
class TopOpeBRepDS_MapOfIntegerShapeData;
class TopOpeBRepDS_DSS;
class TopOpeBRepDS_DataStructure;
class TopOpeBRepDS_SurfaceIterator;
class TopOpeBRepDS_CurveIterator;
class TopOpeBRepDS_PointIterator;
class TopOpeBRepDS_SurfaceExplorer;
class TopOpeBRepDS_CurveExplorer;
class TopOpeBRepDS_PointExplorer;
class TopOpeBRepDS_InterferenceTool;
class TopOpeBRepDS_BuildTool;
class TopOpeBRepDS_Dumper;
class TopOpeBRepDS_Marker;
class TopOpeBRepDS_HDataStructure;
class TopOpeBRepDS_EdgeInterferenceTool;
class TopOpeBRepDS_Edge3dInterferenceTool;
class TopOpeBRepDS_FaceInterferenceTool;
class TopOpeBRepDS_Filter;
class TopOpeBRepDS_Reducer;
class TopOpeBRepDS_TOOL;
class TopOpeBRepDS_FIR;
class TopOpeBRepDS_EIR;
class TopOpeBRepDS_Check;
class TopOpeBRepDS_GapFiller;
class TopOpeBRepDS_GapTool;
class TopOpeBRepDS_Association;
class TopOpeBRepDS_ListOfShapeOn1State;
class TopOpeBRepDS_DataMapOfShapeListOfShapeOn1State;
class TopOpeBRepDS_Explorer;
class TopOpeBRepDS_ShapeWithState;
class TopOpeBRepDS_IndexedDataMapOfShapeWithState;
class TopOpeBRepDS_DataMapOfShapeState;
class TopOpeBRepDS_DataMapNodeOfDataMapOfCheckStatus;
class TopOpeBRepDS_DataMapIteratorOfDataMapOfCheckStatus;
class TopOpeBRepDS_ListNodeOfListOfInterference;
class TopOpeBRepDS_ListIteratorOfListOfInterference;
class TopOpeBRepDS_DataMapNodeOfDataMapOfInterferenceListOfInterference;
class TopOpeBRepDS_DataMapIteratorOfDataMapOfInterferenceListOfInterference;
class TopOpeBRepDS_DataMapNodeOfDataMapOfInterferenceShape;
class TopOpeBRepDS_DataMapIteratorOfDataMapOfInterferenceShape;
class TopOpeBRepDS_DataMapNodeOfDataMapOfIntegerListOfInterference;
class TopOpeBRepDS_DataMapIteratorOfDataMapOfIntegerListOfInterference;
class TopOpeBRepDS_IndexedDataMapNodeOfIndexedDataMapOfVertexPoint;
class TopOpeBRepDS_DataMapNodeOfMapOfSurface;
class TopOpeBRepDS_DataMapIteratorOfMapOfSurface;
class TopOpeBRepDS_DataMapNodeOfMapOfCurve;
class TopOpeBRepDS_DataMapIteratorOfMapOfCurve;
class TopOpeBRepDS_DataMapNodeOfMapOfPoint;
class TopOpeBRepDS_DataMapIteratorOfMapOfPoint;
class TopOpeBRepDS_IndexedDataMapNodeOfMapOfShapeData;
class TopOpeBRepDS_DataMapNodeOfShapeSurface;
class TopOpeBRepDS_DataMapIteratorOfShapeSurface;
class TopOpeBRepDS_DoubleMapNodeOfDoubleMapOfIntegerShape;
class TopOpeBRepDS_DoubleMapIteratorOfDoubleMapOfIntegerShape;
class TopOpeBRepDS_DataMapNodeOfMapOfIntegerShapeData;
class TopOpeBRepDS_DataMapIteratorOfMapOfIntegerShapeData;
class TopOpeBRepDS_DataMapNodeOfDataMapOfShapeListOfShapeOn1State;
class TopOpeBRepDS_DataMapIteratorOfDataMapOfShapeListOfShapeOn1State;
class TopOpeBRepDS_IndexedDataMapNodeOfIndexedDataMapOfShapeWithState;
class TopOpeBRepDS_DataMapNodeOfDataMapOfShapeState;
class TopOpeBRepDS_DataMapIteratorOfDataMapOfShapeState;


//! This package provides services used by the TopOpeBRepBuild
//! package performing topological operations on the BRep
//! data structure.
class TopOpeBRepDS 
{
public:

  DEFINE_STANDARD_ALLOC

  
  //! IN OU ON UN
  Standard_EXPORT static   TCollection_AsciiString SPrint (const TopAbs_State S) ;
  
  Standard_EXPORT static   Standard_OStream& Print (const TopAbs_State S, Standard_OStream& OS) ;
  
  //! <K>
  Standard_EXPORT static   TCollection_AsciiString SPrint (const TopOpeBRepDS_Kind K) ;
  
  //! S1(<K>,<I>)S2
  Standard_EXPORT static   TCollection_AsciiString SPrint (const TopOpeBRepDS_Kind K, const Standard_Integer I, const TCollection_AsciiString& B = "", const TCollection_AsciiString& A = "") ;
  
  Standard_EXPORT static   Standard_OStream& Print (const TopOpeBRepDS_Kind K, Standard_OStream& S) ;
  
  Standard_EXPORT static   Standard_OStream& Print (const TopOpeBRepDS_Kind K, const Standard_Integer I, Standard_OStream& S, const TCollection_AsciiString& B = "", const TCollection_AsciiString& A = "") ;
  
  Standard_EXPORT static   TCollection_AsciiString SPrint (const TopAbs_ShapeEnum T) ;
  
  //! (<T>,<I>)
  Standard_EXPORT static   TCollection_AsciiString SPrint (const TopAbs_ShapeEnum T, const Standard_Integer I) ;
  
  Standard_EXPORT static   Standard_OStream& Print (const TopAbs_ShapeEnum T, const Standard_Integer I, Standard_OStream& S) ;
  
  Standard_EXPORT static   TCollection_AsciiString SPrint (const TopAbs_Orientation O) ;
  
  Standard_EXPORT static   TCollection_AsciiString SPrint (const TopOpeBRepDS_Config C) ;
  
  Standard_EXPORT static   Standard_OStream& Print (const TopOpeBRepDS_Config C, Standard_OStream& S) ;
  
  Standard_EXPORT static   Standard_Boolean IsGeometry (const TopOpeBRepDS_Kind K) ;
  
  Standard_EXPORT static   Standard_Boolean IsTopology (const TopOpeBRepDS_Kind K) ;
  
  Standard_EXPORT static   TopAbs_ShapeEnum KindToShape (const TopOpeBRepDS_Kind K) ;
  
  Standard_EXPORT static   TopOpeBRepDS_Kind ShapeToKind (const TopAbs_ShapeEnum S) ;




protected:





private:




friend class TopOpeBRepDS_DataMapOfCheckStatus;
friend class TopOpeBRepDS_Interference;
friend class TopOpeBRepDS_ListOfInterference;
friend class TopOpeBRepDS_InterferenceIterator;
friend class TopOpeBRepDS_DataMapOfInterferenceListOfInterference;
friend class TopOpeBRepDS_DataMapOfInterferenceShape;
friend class TopOpeBRepDS_DataMapOfIntegerListOfInterference;
friend class TopOpeBRepDS_Array1OfDataMapOfIntegerListOfInterference;
friend class TopOpeBRepDS_HArray1OfDataMapOfIntegerListOfInterference;
friend class TopOpeBRepDS_TKI;
friend class TopOpeBRepDS_Transition;
friend class TopOpeBRepDS_CurvePointInterference;
friend class TopOpeBRepDS_SurfaceCurveInterference;
friend class TopOpeBRepDS_SolidSurfaceInterference;
friend class TopOpeBRepDS_ShapeShapeInterference;
friend class TopOpeBRepDS_EdgeVertexInterference;
friend class TopOpeBRepDS_FaceEdgeInterference;
friend class TopOpeBRepDS_Surface;
friend class TopOpeBRepDS_Curve;
friend class TopOpeBRepDS_Point;
friend class TopOpeBRepDS_IndexedDataMapOfVertexPoint;
friend class TopOpeBRepDS_GeometryData;
friend class TopOpeBRepDS_SurfaceData;
friend class TopOpeBRepDS_MapOfSurface;
friend class TopOpeBRepDS_CurveData;
friend class TopOpeBRepDS_MapOfCurve;
friend class TopOpeBRepDS_PointData;
friend class TopOpeBRepDS_MapOfPoint;
friend class TopOpeBRepDS_ShapeData;
friend class TopOpeBRepDS_MapOfShapeData;
friend class TopOpeBRepDS_ShapeSurface;
friend class TopOpeBRepDS_DoubleMapOfIntegerShape;
friend class TopOpeBRepDS_MapOfIntegerShapeData;
friend class TopOpeBRepDS_DSS;
friend class TopOpeBRepDS_DataStructure;
friend class TopOpeBRepDS_SurfaceIterator;
friend class TopOpeBRepDS_CurveIterator;
friend class TopOpeBRepDS_PointIterator;
friend class TopOpeBRepDS_SurfaceExplorer;
friend class TopOpeBRepDS_CurveExplorer;
friend class TopOpeBRepDS_PointExplorer;
friend class TopOpeBRepDS_InterferenceTool;
friend class TopOpeBRepDS_BuildTool;
friend class TopOpeBRepDS_Dumper;
friend class TopOpeBRepDS_Marker;
friend class TopOpeBRepDS_HDataStructure;
friend class TopOpeBRepDS_EdgeInterferenceTool;
friend class TopOpeBRepDS_Edge3dInterferenceTool;
friend class TopOpeBRepDS_FaceInterferenceTool;
friend class TopOpeBRepDS_Filter;
friend class TopOpeBRepDS_Reducer;
friend class TopOpeBRepDS_TOOL;
friend class TopOpeBRepDS_FIR;
friend class TopOpeBRepDS_EIR;
friend class TopOpeBRepDS_Check;
friend class TopOpeBRepDS_GapFiller;
friend class TopOpeBRepDS_GapTool;
friend class TopOpeBRepDS_Association;
friend class TopOpeBRepDS_ListOfShapeOn1State;
friend class TopOpeBRepDS_DataMapOfShapeListOfShapeOn1State;
friend class TopOpeBRepDS_Explorer;
friend class TopOpeBRepDS_ShapeWithState;
friend class TopOpeBRepDS_IndexedDataMapOfShapeWithState;
friend class TopOpeBRepDS_DataMapOfShapeState;
friend class TopOpeBRepDS_DataMapNodeOfDataMapOfCheckStatus;
friend class TopOpeBRepDS_DataMapIteratorOfDataMapOfCheckStatus;
friend class TopOpeBRepDS_ListNodeOfListOfInterference;
friend class TopOpeBRepDS_ListIteratorOfListOfInterference;
friend class TopOpeBRepDS_DataMapNodeOfDataMapOfInterferenceListOfInterference;
friend class TopOpeBRepDS_DataMapIteratorOfDataMapOfInterferenceListOfInterference;
friend class TopOpeBRepDS_DataMapNodeOfDataMapOfInterferenceShape;
friend class TopOpeBRepDS_DataMapIteratorOfDataMapOfInterferenceShape;
friend class TopOpeBRepDS_DataMapNodeOfDataMapOfIntegerListOfInterference;
friend class TopOpeBRepDS_DataMapIteratorOfDataMapOfIntegerListOfInterference;
friend class TopOpeBRepDS_IndexedDataMapNodeOfIndexedDataMapOfVertexPoint;
friend class TopOpeBRepDS_DataMapNodeOfMapOfSurface;
friend class TopOpeBRepDS_DataMapIteratorOfMapOfSurface;
friend class TopOpeBRepDS_DataMapNodeOfMapOfCurve;
friend class TopOpeBRepDS_DataMapIteratorOfMapOfCurve;
friend class TopOpeBRepDS_DataMapNodeOfMapOfPoint;
friend class TopOpeBRepDS_DataMapIteratorOfMapOfPoint;
friend class TopOpeBRepDS_IndexedDataMapNodeOfMapOfShapeData;
friend class TopOpeBRepDS_DataMapNodeOfShapeSurface;
friend class TopOpeBRepDS_DataMapIteratorOfShapeSurface;
friend class TopOpeBRepDS_DoubleMapNodeOfDoubleMapOfIntegerShape;
friend class TopOpeBRepDS_DoubleMapIteratorOfDoubleMapOfIntegerShape;
friend class TopOpeBRepDS_DataMapNodeOfMapOfIntegerShapeData;
friend class TopOpeBRepDS_DataMapIteratorOfMapOfIntegerShapeData;
friend class TopOpeBRepDS_DataMapNodeOfDataMapOfShapeListOfShapeOn1State;
friend class TopOpeBRepDS_DataMapIteratorOfDataMapOfShapeListOfShapeOn1State;
friend class TopOpeBRepDS_IndexedDataMapNodeOfIndexedDataMapOfShapeWithState;
friend class TopOpeBRepDS_DataMapNodeOfDataMapOfShapeState;
friend class TopOpeBRepDS_DataMapIteratorOfDataMapOfShapeState;

};







#endif // _TopOpeBRepDS_HeaderFile
