1 // Created on: 1993-06-17
2 // Created by: Jean Yves LEBEY
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 _TopOpeBRepDS_HeaderFile
18 #define _TopOpeBRepDS_HeaderFile
20 #include <Standard.hxx>
21 #include <Standard_DefineAlloc.hxx>
22 #include <Standard_Handle.hxx>
24 #include <TopAbs_State.hxx>
25 #include <Standard_OStream.hxx>
26 #include <TopOpeBRepDS_Kind.hxx>
27 #include <Standard_Integer.hxx>
28 #include <TCollection_AsciiString.hxx>
29 #include <TopAbs_ShapeEnum.hxx>
30 #include <TopAbs_Orientation.hxx>
31 #include <TopOpeBRepDS_Config.hxx>
32 #include <Standard_Boolean.hxx>
33 class TCollection_AsciiString;
36 //! This package provides services used by the TopOpeBRepBuild
37 //! package performing topological operations on the BRep
47 Standard_EXPORT static TCollection_AsciiString SPrint (const TopAbs_State S);
49 Standard_EXPORT static Standard_OStream& Print (const TopAbs_State S, Standard_OStream& OS);
52 Standard_EXPORT static TCollection_AsciiString SPrint (const TopOpeBRepDS_Kind K);
55 Standard_EXPORT static TCollection_AsciiString SPrint (const TopOpeBRepDS_Kind K, const Standard_Integer I, const TCollection_AsciiString& B = "", const TCollection_AsciiString& A = "");
57 Standard_EXPORT static Standard_OStream& Print (const TopOpeBRepDS_Kind K, Standard_OStream& S);
59 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 = "");
61 Standard_EXPORT static TCollection_AsciiString SPrint (const TopAbs_ShapeEnum T);
64 Standard_EXPORT static TCollection_AsciiString SPrint (const TopAbs_ShapeEnum T, const Standard_Integer I);
66 Standard_EXPORT static Standard_OStream& Print (const TopAbs_ShapeEnum T, const Standard_Integer I, Standard_OStream& S);
68 Standard_EXPORT static TCollection_AsciiString SPrint (const TopAbs_Orientation O);
70 Standard_EXPORT static TCollection_AsciiString SPrint (const TopOpeBRepDS_Config C);
72 Standard_EXPORT static Standard_OStream& Print (const TopOpeBRepDS_Config C, Standard_OStream& S);
74 Standard_EXPORT static Standard_Boolean IsGeometry (const TopOpeBRepDS_Kind K);
76 Standard_EXPORT static Standard_Boolean IsTopology (const TopOpeBRepDS_Kind K);
78 Standard_EXPORT static TopAbs_ShapeEnum KindToShape (const TopOpeBRepDS_Kind K);
80 Standard_EXPORT static TopOpeBRepDS_Kind ShapeToKind (const TopAbs_ShapeEnum S);
96 friend class TopOpeBRepDS_Interference;
97 friend class TopOpeBRepDS_InterferenceIterator;
98 friend class TopOpeBRepDS_TKI;
99 friend class TopOpeBRepDS_Transition;
100 friend class TopOpeBRepDS_CurvePointInterference;
101 friend class TopOpeBRepDS_SurfaceCurveInterference;
102 friend class TopOpeBRepDS_SolidSurfaceInterference;
103 friend class TopOpeBRepDS_ShapeShapeInterference;
104 friend class TopOpeBRepDS_EdgeVertexInterference;
105 friend class TopOpeBRepDS_FaceEdgeInterference;
106 friend class TopOpeBRepDS_Surface;
107 friend class TopOpeBRepDS_Curve;
108 friend class TopOpeBRepDS_Point;
109 friend class TopOpeBRepDS_GeometryData;
110 friend class TopOpeBRepDS_SurfaceData;
111 friend class TopOpeBRepDS_CurveData;
112 friend class TopOpeBRepDS_PointData;
113 friend class TopOpeBRepDS_ShapeData;
114 friend class TopOpeBRepDS_DSS;
115 friend class TopOpeBRepDS_DataStructure;
116 friend class TopOpeBRepDS_SurfaceIterator;
117 friend class TopOpeBRepDS_CurveIterator;
118 friend class TopOpeBRepDS_PointIterator;
119 friend class TopOpeBRepDS_SurfaceExplorer;
120 friend class TopOpeBRepDS_CurveExplorer;
121 friend class TopOpeBRepDS_PointExplorer;
122 friend class TopOpeBRepDS_InterferenceTool;
123 friend class TopOpeBRepDS_BuildTool;
124 friend class TopOpeBRepDS_Dumper;
125 friend class TopOpeBRepDS_Marker;
126 friend class TopOpeBRepDS_HDataStructure;
127 friend class TopOpeBRepDS_EdgeInterferenceTool;
128 friend class TopOpeBRepDS_Edge3dInterferenceTool;
129 friend class TopOpeBRepDS_FaceInterferenceTool;
130 friend class TopOpeBRepDS_Filter;
131 friend class TopOpeBRepDS_Reducer;
132 friend class TopOpeBRepDS_TOOL;
133 friend class TopOpeBRepDS_FIR;
134 friend class TopOpeBRepDS_EIR;
135 friend class TopOpeBRepDS_Check;
136 friend class TopOpeBRepDS_GapFiller;
137 friend class TopOpeBRepDS_GapTool;
138 friend class TopOpeBRepDS_Association;
139 friend class TopOpeBRepDS_ListOfShapeOn1State;
140 friend class TopOpeBRepDS_Explorer;
141 friend class TopOpeBRepDS_ShapeWithState;
151 #endif // _TopOpeBRepDS_HeaderFile