Salome HOME
Mantis issue 0021772: EDF 2336 GEOM: Non valid face created from two circles
[modules/geom.git] / src / NMTTools / NMTTools_CommonBlockAPI.hxx
index 24f8fc645748d01c5f8f5089c8bddc0d17e47e96..d9c4aa4e7b374cd29a92585dd924226ade2a8be0 100644 (file)
-// Copyright (C) 2005  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
+//
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-// 
+//
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either 
+// License as published by the Free Software Foundation; either
 // version 2.1 of the License.
-// 
-// This library is distributed in the hope that it will be useful 
-// but WITHOUT ANY WARRANTY; without even the implied warranty of 
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 // Lesser General Public License for more details.
 //
-// You should have received a copy of the GNU Lesser General Public  
-// License along with this library; if not, write to the Free Software 
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
 
+// File:        NMTTools_CommonBlockAPI.hxx
+// Created:     Mon Dec 15 11:38:04 2003
+// Author:      Peter KURNEV
+//              <pkv@irinox>
+//
 #ifndef _NMTTools_CommonBlockAPI_HeaderFile
 #define _NMTTools_CommonBlockAPI_HeaderFile
 
-#ifndef _Standard_Address_HeaderFile
+#include <Standard.hxx>
+#include <Standard_Macro.hxx>
 #include <Standard_Address.hxx>
-#endif
-#ifndef _BOPTools_ListOfPaveBlock_HeaderFile
 #include <BOPTools_ListOfPaveBlock.hxx>
-#endif
-#ifndef _Standard_Integer_HeaderFile
 #include <Standard_Integer.hxx>
-#endif
-#ifndef _Standard_Boolean_HeaderFile
 #include <Standard_Boolean.hxx>
-#endif
-class NMTTools_ListOfCommonBlock;
-class BOPTools_ListOfPaveBlock;
-class BOPTools_PaveBlock;
-class NMTTools_CommonBlock;
-
-
-#ifndef _Standard_HeaderFile
-#include <Standard.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-
-class NMTTools_CommonBlockAPI  {
-
-public:
-
-    void* operator new(size_t,void* anAddress) 
-      {
-        return anAddress;
-      }
-    void* operator new(size_t size) 
-      { 
-        return Standard::Allocate(size); 
-      }
-    void  operator delete(void *anAddress) 
-      { 
-        if (anAddress) Standard::Free((Standard_Address&)anAddress); 
-      }
- // Methods PUBLIC
- // 
-Standard_EXPORT NMTTools_CommonBlockAPI(const NMTTools_ListOfCommonBlock& aList);
-Standard_EXPORT  const NMTTools_ListOfCommonBlock& List() const;
-Standard_EXPORT  const BOPTools_ListOfPaveBlock& CommonPaveBlocks(const Standard_Integer anE) const;
-Standard_EXPORT   Standard_Boolean IsCommonBlock(const BOPTools_PaveBlock& aPB) const;
-Standard_EXPORT   NMTTools_CommonBlock& CommonBlock(const BOPTools_PaveBlock& aPB) const;
-
-
-
-
-
+#include <NMTTools_CommonBlock.hxx>
+#include <NMTTools_ListOfCommonBlock.hxx>
+#include <BOPTools_ListOfPaveBlock.hxx>
+#include <BOPTools_PaveBlock.hxx>
+
+//=======================================================================
+//class    : NMTTools_CommonBlockAPI
+//purpose  :
+//=======================================================================
+class NMTTools_CommonBlockAPI
+{
+ public:
+  Standard_EXPORT
+    NMTTools_CommonBlockAPI(const NMTTools_ListOfCommonBlock& aList);
+
+//! Selector <br>
+  Standard_EXPORT
+    const NMTTools_ListOfCommonBlock& List() const;
+
+//! Returns all PaveBlock-s (from the list) that are <br>
+//! common for the given edge with  DS-index <anE> <br>
+  Standard_EXPORT
+    const BOPTools_ListOfPaveBlock& CommonPaveBlocks(const Standard_Integer anE) const;
+
+//! Returns TRUE if given PaveBlock <aPB> is <br>
+//! common for the Blocks from the list <br>
+  Standard_EXPORT
+    Standard_Boolean IsCommonBlock(const BOPTools_PaveBlock& aPB) const;
+
+  Standard_EXPORT
+    NMTTools_CommonBlock& CommonBlock(const BOPTools_PaveBlock& aPB) const;
 protected:
+//private:
 
- // Methods PROTECTED
- // 
-
-
- // Fields PROTECTED
- //
-
-
-private: 
-
- // Methods PRIVATE
- // 
-
-
- // Fields PRIVATE
- //
 Standard_Address myListOfCommonBlock;
 BOPTools_ListOfPaveBlock myListOfPaveBlock;
-
-
 };
-
-
-
-
-
-// other Inline functions and methods (like "C++: function call" methods)
-//
-
-
 #endif