Version: 6.3.1

src/NMTTools/NMTTools_DEProcessor.hxx

Go to the documentation of this file.
00001 // Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE
00002 //
00003 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
00004 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
00005 //
00006 // This library is free software; you can redistribute it and/or
00007 // modify it under the terms of the GNU Lesser General Public
00008 // License as published by the Free Software Foundation; either
00009 // version 2.1 of the License.
00010 //
00011 // This library is distributed in the hope that it will be useful,
00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014 // Lesser General Public License for more details.
00015 //
00016 // You should have received a copy of the GNU Lesser General Public
00017 // License along with this library; if not, write to the Free Software
00018 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
00019 //
00020 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
00021 //
00022 
00023 #ifndef _NMTTools_DEProcessor_HeaderFile
00024 #define _NMTTools_DEProcessor_HeaderFile
00025 
00026 #ifndef _NMTTools_PPaveFiller_HeaderFile
00027 #include <NMTTools_PPaveFiller.hxx>
00028 #endif
00029 #ifndef _NMTDS_PShapesDataStructure_HeaderFile
00030 #include <NMTDS_PShapesDataStructure.hxx>
00031 #endif
00032 #ifndef _Standard_Boolean_HeaderFile
00033 #include <Standard_Boolean.hxx>
00034 #endif
00035 #ifndef _BOPTools_IndexedDataMapOfIntegerDEInfo_HeaderFile
00036 #include <BOPTools_IndexedDataMapOfIntegerDEInfo.hxx>
00037 #endif
00038 #ifndef _Standard_Integer_HeaderFile
00039 #include <Standard_Integer.hxx>
00040 #endif
00041 #ifndef _Standard_Real_HeaderFile
00042 #include <Standard_Real.hxx>
00043 #endif
00044 class NMTTools_PaveFiller;
00045 class BOPTools_ListOfPaveBlock;
00046 class TopoDS_Edge;
00047 class TopoDS_Face;
00048 class TopoDS_Vertex;
00049 
00050 
00051 #ifndef _Standard_HeaderFile
00052 #include <Standard.hxx>
00053 #endif
00054 #ifndef _Standard_Macro_HeaderFile
00055 #include <Standard_Macro.hxx>
00056 #endif
00057 
00058 
00067 class NMTTools_DEProcessor  {
00068 
00069 public:
00070 
00071     void* operator new(size_t,void* anAddress) 
00072       {
00073         return anAddress;
00074       }
00075     void* operator new(size_t size) 
00076       { 
00077         return Standard::Allocate(size); 
00078       }
00079     void  operator delete(void *anAddress) 
00080       { 
00081         if (anAddress) Standard::Free((Standard_Address&)anAddress); 
00082       }
00083  // Methods PUBLIC
00084  // 
00085 
00086 
00091 Standard_EXPORT NMTTools_DEProcessor(NMTTools_PaveFiller& aFiller);
00092 
00093 
00095 Standard_EXPORT   void Do() ;
00096 
00097 
00099 Standard_EXPORT   Standard_Boolean IsDone() const;
00100 
00101 
00102 
00103 
00104 
00105 protected:
00106 
00107  // Methods PROTECTED
00108  // 
00109 
00110 
00111 Standard_EXPORT   void FindDegeneratedEdges() ;
00112 
00113 
00114 Standard_EXPORT   void DoPaves() ;
00115 
00116 
00117 Standard_EXPORT   void FindPaveBlocks(const Standard_Integer nED,const Standard_Integer nVD,const Standard_Integer nFD,BOPTools_ListOfPaveBlock& aLPB) ;
00118 
00119 
00120 Standard_EXPORT   void FillPaveSet(const Standard_Integer nED,const Standard_Integer nVD,const Standard_Integer nFD,const BOPTools_ListOfPaveBlock& aLPB) ;
00121 
00122 
00123 Standard_EXPORT   void FillSplitEdgesPool(const Standard_Integer nED) ;
00124 
00125 
00126 Standard_EXPORT   void MakeSplitEdges(const Standard_Integer nED,const Standard_Integer nFD) ;
00127 
00128 
00129 Standard_EXPORT   void MakeSplitEdge(const TopoDS_Edge& aS1,const TopoDS_Face& aF,const TopoDS_Vertex& aV1,const Standard_Real aP1,const TopoDS_Vertex& aV2,const Standard_Real aP2,TopoDS_Edge& aNewEdge) ;
00130 
00131 
00132  // Fields PROTECTED
00133  //
00134 NMTTools_PPaveFiller myFiller;
00135 NMTDS_PShapesDataStructure myDS;
00136 Standard_Boolean myIsDone;
00137 BOPTools_IndexedDataMapOfIntegerDEInfo myDEMap;
00138 
00139 
00140 private: 
00141 
00142  // Methods PRIVATE
00143  // 
00144 
00145 
00146  // Fields PRIVATE
00147  //
00148 
00149 
00150 };
00151 
00152 
00153 
00154 
00155 
00156 // other Inline functions and methods (like "C++: function call" methods)
00157 //
00158 
00159 
00160 #endif
Copyright © 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS