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
5 //
6 // This file is part of Open CASCADE Technology software library.
7 //
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.
13 //
14 // Alternatively, this file may be used under the terms of Open CASCADE
15 // commercial license or contractual agreement.
16 
17 #ifndef _TopOpeBRep_HeaderFile
18 #define _TopOpeBRep_HeaderFile
19 
20 #include <Standard.hxx>
21 #include <Standard_DefineAlloc.hxx>
22 #include <Standard_Handle.hxx>
23 
24 #include <Standard_OStream.hxx>
25 #include <TopOpeBRep_TypeLineCurve.hxx>
26 class TopOpeBRep_VPointInter;
27 class TopOpeBRep_VPointInterIterator;
28 class TopOpeBRep_WPointInter;
29 class TopOpeBRep_WPointInterIterator;
30 class TopOpeBRep_LineInter;
31 class TopOpeBRep_Hctxff2d;
32 class TopOpeBRep_Hctxee2d;
33 class TopOpeBRep_Point2d;
34 class TopOpeBRep_PointClassifier;
35 class TopOpeBRep_VPointInterClassifier;
36 class TopOpeBRep_GeomTool;
37 class TopOpeBRep_FacesIntersector;
38 class TopOpeBRep_EdgesIntersector;
39 class TopOpeBRep_FaceEdgeIntersector;
40 class TopOpeBRep_ShapeScanner;
41 class TopOpeBRep_ShapeIntersector;
42 class TopOpeBRep_ShapeIntersector2d;
43 class TopOpeBRep_PointGeomTool;
44 class TopOpeBRep_FFTransitionTool;
45 class TopOpeBRep_Bipoint;
46 class TopOpeBRep_FacesFiller;
47 class TopOpeBRep_FFDumper;
48 class TopOpeBRep_EdgesFiller;
49 class TopOpeBRep_FaceEdgeFiller;
50 class TopOpeBRep_DSFiller;
51 
52 
53 //! This package provides  the topological  operations
54 //! on the BRep data structure.
55 class TopOpeBRep
56 {
57 public:
58 
59   DEFINE_STANDARD_ALLOC
60 
61 
62   //! Prints the name  of  <TLC>  as  a String  on the
63   //! Stream <S> and returns <S>.
64   Standard_EXPORT static Standard_OStream& Print (const TopOpeBRep_TypeLineCurve TLC, Standard_OStream& OS);
65 
66 
67 
68 
69 protected:
70 
71 
72 
73 
74 
75 private:
76 
77 
78 
79 
80 friend class TopOpeBRep_VPointInter;
81 friend class TopOpeBRep_VPointInterIterator;
82 friend class TopOpeBRep_WPointInter;
83 friend class TopOpeBRep_WPointInterIterator;
84 friend class TopOpeBRep_LineInter;
85 friend class TopOpeBRep_Hctxff2d;
86 friend class TopOpeBRep_Hctxee2d;
87 friend class TopOpeBRep_Point2d;
88 friend class TopOpeBRep_PointClassifier;
89 friend class TopOpeBRep_VPointInterClassifier;
90 friend class TopOpeBRep_GeomTool;
91 friend class TopOpeBRep_FacesIntersector;
92 friend class TopOpeBRep_EdgesIntersector;
93 friend class TopOpeBRep_FaceEdgeIntersector;
94 friend class TopOpeBRep_ShapeScanner;
95 friend class TopOpeBRep_ShapeIntersector;
96 friend class TopOpeBRep_ShapeIntersector2d;
97 friend class TopOpeBRep_PointGeomTool;
98 friend class TopOpeBRep_FFTransitionTool;
99 friend class TopOpeBRep_Bipoint;
100 friend class TopOpeBRep_FacesFiller;
101 friend class TopOpeBRep_FFDumper;
102 friend class TopOpeBRep_EdgesFiller;
103 friend class TopOpeBRep_FaceEdgeFiller;
104 friend class TopOpeBRep_DSFiller;
105 
106 };
107 
108 
109 
110 
111 
112 
113 
114 #endif // _TopOpeBRep_HeaderFile
115