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