Salome HOME
New version of PartitionAlgo.
authorskl <skl@opencascade.com>
Tue, 31 Oct 2006 13:47:09 +0000 (13:47 +0000)
committerskl <skl@opencascade.com>
Tue, 31 Oct 2006 13:47:09 +0000 (13:47 +0000)
186 files changed:
src/NMTDS/Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger.hxx
src/NMTDS/Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape.hxx [new file with mode: 0644]
src/NMTDS/Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox.hxx [new file with mode: 0644]
src/NMTDS/Handle_NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors.hxx
src/NMTDS/Handle_NMTDS_ListNodeOfListOfPassKey.hxx [new file with mode: 0644]
src/NMTDS/Handle_NMTDS_ListNodeOfListOfPassKeyBoolean.hxx [new file with mode: 0644]
src/NMTDS/Handle_NMTDS_StdMapNodeOfMapOfPassKey.hxx [new file with mode: 0644]
src/NMTDS/Handle_NMTDS_StdMapNodeOfMapOfPassKeyBoolean.hxx [new file with mode: 0644]
src/NMTDS/Makefile.in
src/NMTDS/NMTDS.cdl
src/NMTDS/NMTDS_BoxBndTree.cxx [new file with mode: 0644]
src/NMTDS/NMTDS_BoxBndTree.hxx [new file with mode: 0755]
src/NMTDS/NMTDS_CArray1OfIndexRange.hxx
src/NMTDS/NMTDS_CArray1OfIndexRange_0.cxx
src/NMTDS/NMTDS_IndexRange.cdl
src/NMTDS/NMTDS_IndexRange.hxx
src/NMTDS/NMTDS_IndexRange.ixx
src/NMTDS/NMTDS_IndexRange.jxx
src/NMTDS/NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger.hxx
src/NMTDS/NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger_0.cxx
src/NMTDS/NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape.hxx [new file with mode: 0644]
src/NMTDS/NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape_0.cxx [new file with mode: 0644]
src/NMTDS/NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox.hxx [new file with mode: 0644]
src/NMTDS/NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox_0.cxx [new file with mode: 0644]
src/NMTDS/NMTDS_IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger.hxx
src/NMTDS/NMTDS_IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger_0.cxx
src/NMTDS/NMTDS_IndexedDataMapOfIntegerShape.hxx [new file with mode: 0644]
src/NMTDS/NMTDS_IndexedDataMapOfIntegerShape_0.cxx [new file with mode: 0644]
src/NMTDS/NMTDS_IndexedDataMapOfShapeBox.hxx [new file with mode: 0644]
src/NMTDS/NMTDS_IndexedDataMapOfShapeBox_0.cxx [new file with mode: 0644]
src/NMTDS/NMTDS_Iterator.cdl [new file with mode: 0755]
src/NMTDS/NMTDS_Iterator.cxx [new file with mode: 0755]
src/NMTDS/NMTDS_Iterator.hxx [new file with mode: 0644]
src/NMTDS/NMTDS_Iterator.ixx [new file with mode: 0644]
src/NMTDS/NMTDS_Iterator.jxx [new file with mode: 0644]
src/NMTDS/NMTDS_ListIteratorOfListOfIndexedDataMapOfShapeAncestorsSuccessors.hxx
src/NMTDS/NMTDS_ListIteratorOfListOfIndexedDataMapOfShapeAncestorsSuccessors_0.cxx
src/NMTDS/NMTDS_ListIteratorOfListOfPassKey.hxx [new file with mode: 0644]
src/NMTDS/NMTDS_ListIteratorOfListOfPassKeyBoolean.hxx [new file with mode: 0644]
src/NMTDS/NMTDS_ListIteratorOfListOfPassKeyBoolean_0.cxx [new file with mode: 0644]
src/NMTDS/NMTDS_ListIteratorOfListOfPassKey_0.cxx [new file with mode: 0644]
src/NMTDS/NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors.hxx
src/NMTDS/NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors_0.cxx
src/NMTDS/NMTDS_ListNodeOfListOfPassKey.hxx [new file with mode: 0644]
src/NMTDS/NMTDS_ListNodeOfListOfPassKeyBoolean.hxx [new file with mode: 0644]
src/NMTDS/NMTDS_ListNodeOfListOfPassKeyBoolean_0.cxx [new file with mode: 0644]
src/NMTDS/NMTDS_ListNodeOfListOfPassKey_0.cxx [new file with mode: 0644]
src/NMTDS/NMTDS_ListOfIndexedDataMapOfShapeAncestorsSuccessors.hxx
src/NMTDS/NMTDS_ListOfIndexedDataMapOfShapeAncestorsSuccessors_0.cxx
src/NMTDS/NMTDS_ListOfPassKey.hxx [new file with mode: 0644]
src/NMTDS/NMTDS_ListOfPassKeyBoolean.hxx [new file with mode: 0644]
src/NMTDS/NMTDS_ListOfPassKeyBoolean_0.cxx [new file with mode: 0644]
src/NMTDS/NMTDS_ListOfPassKey_0.cxx [new file with mode: 0644]
src/NMTDS/NMTDS_MapIteratorOfMapOfPassKey.hxx [new file with mode: 0644]
src/NMTDS/NMTDS_MapIteratorOfMapOfPassKeyBoolean.hxx [new file with mode: 0644]
src/NMTDS/NMTDS_MapIteratorOfMapOfPassKeyBoolean_0.cxx [new file with mode: 0644]
src/NMTDS/NMTDS_MapIteratorOfMapOfPassKey_0.cxx [new file with mode: 0644]
src/NMTDS/NMTDS_MapOfPassKey.hxx [new file with mode: 0644]
src/NMTDS/NMTDS_MapOfPassKeyBoolean.hxx [new file with mode: 0644]
src/NMTDS/NMTDS_MapOfPassKeyBoolean_0.cxx [new file with mode: 0644]
src/NMTDS/NMTDS_MapOfPassKey_0.cxx [new file with mode: 0644]
src/NMTDS/NMTDS_PShapesDataStructure.hxx
src/NMTDS/NMTDS_PassKey.cdl [new file with mode: 0755]
src/NMTDS/NMTDS_PassKey.cxx [new file with mode: 0755]
src/NMTDS/NMTDS_PassKey.hxx [new file with mode: 0644]
src/NMTDS/NMTDS_PassKey.ixx [new file with mode: 0644]
src/NMTDS/NMTDS_PassKey.jxx [new file with mode: 0644]
src/NMTDS/NMTDS_PassKeyBoolean.cdl [new file with mode: 0755]
src/NMTDS/NMTDS_PassKeyBoolean.cxx [new file with mode: 0755]
src/NMTDS/NMTDS_PassKeyBoolean.hxx [new file with mode: 0644]
src/NMTDS/NMTDS_PassKeyBoolean.ixx [new file with mode: 0644]
src/NMTDS/NMTDS_PassKeyBoolean.jxx [new file with mode: 0644]
src/NMTDS/NMTDS_PassKeyMapHasher.cdl [new file with mode: 0755]
src/NMTDS/NMTDS_PassKeyMapHasher.cxx [new file with mode: 0755]
src/NMTDS/NMTDS_PassKeyMapHasher.hxx [new file with mode: 0644]
src/NMTDS/NMTDS_PassKeyMapHasher.ixx [new file with mode: 0644]
src/NMTDS/NMTDS_PassKeyMapHasher.jxx [new file with mode: 0644]
src/NMTDS/NMTDS_ShapesDataStructure.cdl
src/NMTDS/NMTDS_ShapesDataStructure.cxx
src/NMTDS/NMTDS_ShapesDataStructure.hxx
src/NMTDS/NMTDS_ShapesDataStructure.ixx
src/NMTDS/NMTDS_ShapesDataStructure.jxx
src/NMTDS/NMTDS_StdMapNodeOfMapOfPassKey.hxx [new file with mode: 0644]
src/NMTDS/NMTDS_StdMapNodeOfMapOfPassKeyBoolean.hxx [new file with mode: 0644]
src/NMTDS/NMTDS_StdMapNodeOfMapOfPassKeyBoolean_0.cxx [new file with mode: 0644]
src/NMTDS/NMTDS_StdMapNodeOfMapOfPassKey_0.cxx [new file with mode: 0644]
src/NMTTools/Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger.hxx
src/NMTTools/Handle_NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors.hxx
src/NMTTools/Handle_NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock.hxx [new file with mode: 0644]
src/NMTTools/Handle_NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger.hxx
src/NMTTools/Handle_NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape.hxx
src/NMTTools/Handle_NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock.hxx
src/NMTTools/Handle_NMTTools_ListNodeOfListOfCommonBlock.hxx
src/NMTTools/Handle_NMTTools_ListNodeOfListOfCoupleOfShape.hxx
src/NMTTools/Handle_NMTTools_StdMapNodeOfMapOfPaveBlock.hxx [new file with mode: 0644]
src/NMTTools/Makefile.in
src/NMTTools/NMTDS_Iterator.hxx [new file with mode: 0644]
src/NMTTools/NMTTools.cdl
src/NMTTools/NMTTools_CommonBlock.cdl
src/NMTTools/NMTTools_CommonBlock.hxx
src/NMTTools/NMTTools_CommonBlock.ixx
src/NMTTools/NMTTools_CommonBlock.jxx
src/NMTTools/NMTTools_CommonBlockAPI.cdl
src/NMTTools/NMTTools_CommonBlockAPI.hxx
src/NMTTools/NMTTools_CommonBlockAPI.ixx
src/NMTTools/NMTTools_CommonBlockAPI.jxx
src/NMTTools/NMTTools_CommonBlockPool.hxx
src/NMTTools/NMTTools_CommonBlockPool_0.cxx
src/NMTTools/NMTTools_CoupleOfShape.cdl
src/NMTTools/NMTTools_CoupleOfShape.hxx
src/NMTTools/NMTTools_CoupleOfShape.ixx
src/NMTTools/NMTTools_CoupleOfShape.jxx
src/NMTTools/NMTTools_DEProcessor.cdl
src/NMTTools/NMTTools_DEProcessor.cxx
src/NMTTools/NMTTools_DEProcessor.hxx
src/NMTTools/NMTTools_DEProcessor.ixx
src/NMTTools/NMTTools_DEProcessor.jxx
src/NMTTools/NMTTools_DSFiller.cdl
src/NMTTools/NMTTools_DSFiller.hxx
src/NMTTools/NMTTools_DSFiller.ixx
src/NMTTools/NMTTools_DSFiller.jxx
src/NMTTools/NMTTools_DataMapIteratorOfDataMapOfIntegerListOfPaveBlock.hxx [new file with mode: 0644]
src/NMTTools/NMTTools_DataMapIteratorOfDataMapOfIntegerListOfPaveBlock_0.cxx [new file with mode: 0644]
src/NMTTools/NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock.hxx [new file with mode: 0644]
src/NMTTools/NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock_0.cxx [new file with mode: 0644]
src/NMTTools/NMTTools_DataMapOfIntegerListOfPaveBlock.hxx [new file with mode: 0644]
src/NMTTools/NMTTools_DataMapOfIntegerListOfPaveBlock_0.cxx [new file with mode: 0644]
src/NMTTools/NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger.hxx
src/NMTTools/NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger_0.cxx
src/NMTTools/NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape.hxx
src/NMTTools/NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape_0.cxx
src/NMTTools/NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock.hxx
src/NMTTools/NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock_0.cxx
src/NMTTools/NMTTools_IndexedDataMapOfIndexedMapOfInteger.hxx
src/NMTTools/NMTTools_IndexedDataMapOfIndexedMapOfInteger_0.cxx
src/NMTTools/NMTTools_IndexedDataMapOfShapeIndexedMapOfShape.hxx
src/NMTTools/NMTTools_IndexedDataMapOfShapeIndexedMapOfShape_0.cxx
src/NMTTools/NMTTools_IndexedDataMapOfShapePaveBlock.hxx
src/NMTTools/NMTTools_IndexedDataMapOfShapePaveBlock_0.cxx
src/NMTTools/NMTTools_IteratorOfCoupleOfShape.cdl
src/NMTTools/NMTTools_IteratorOfCoupleOfShape.hxx
src/NMTTools/NMTTools_IteratorOfCoupleOfShape.ixx
src/NMTTools/NMTTools_IteratorOfCoupleOfShape.jxx
src/NMTTools/NMTTools_ListIteratorOfListOfCommonBlock.hxx
src/NMTTools/NMTTools_ListIteratorOfListOfCommonBlock_0.cxx
src/NMTTools/NMTTools_ListIteratorOfListOfCoupleOfShape.hxx
src/NMTTools/NMTTools_ListIteratorOfListOfCoupleOfShape_0.cxx
src/NMTTools/NMTTools_ListNodeOfListOfCommonBlock.hxx
src/NMTTools/NMTTools_ListNodeOfListOfCommonBlock_0.cxx
src/NMTTools/NMTTools_ListNodeOfListOfCoupleOfShape.hxx
src/NMTTools/NMTTools_ListNodeOfListOfCoupleOfShape_0.cxx
src/NMTTools/NMTTools_ListOfCommonBlock.hxx
src/NMTTools/NMTTools_ListOfCommonBlock_0.cxx
src/NMTTools/NMTTools_ListOfCoupleOfShape.hxx
src/NMTTools/NMTTools_ListOfCoupleOfShape_0.cxx
src/NMTTools/NMTTools_MapIteratorOfMapOfPaveBlock.hxx [new file with mode: 0644]
src/NMTTools/NMTTools_MapIteratorOfMapOfPaveBlock_0.cxx [new file with mode: 0644]
src/NMTTools/NMTTools_MapOfPaveBlock.hxx [new file with mode: 0644]
src/NMTTools/NMTTools_MapOfPaveBlock_0.cxx [new file with mode: 0644]
src/NMTTools/NMTTools_PCurveMaker.cdl
src/NMTTools/NMTTools_PCurveMaker.hxx
src/NMTTools/NMTTools_PCurveMaker.ixx
src/NMTTools/NMTTools_PCurveMaker.jxx
src/NMTTools/NMTTools_PDSFiller.hxx
src/NMTTools/NMTTools_PPaveFiller.hxx
src/NMTTools/NMTTools_PaveFiller.cdl
src/NMTTools/NMTTools_PaveFiller.cxx
src/NMTTools/NMTTools_PaveFiller.hxx
src/NMTTools/NMTTools_PaveFiller.ixx
src/NMTTools/NMTTools_PaveFiller.jxx
src/NMTTools/NMTTools_PaveFiller_0.cxx
src/NMTTools/NMTTools_PaveFiller_1.cxx
src/NMTTools/NMTTools_PaveFiller_2.cxx
src/NMTTools/NMTTools_PaveFiller_3.cxx
src/NMTTools/NMTTools_PaveFiller_4.cxx
src/NMTTools/NMTTools_PaveFiller_5.cxx
src/NMTTools/NMTTools_PaveFiller_6.cxx
src/NMTTools/NMTTools_PaveFiller_7.cxx
src/NMTTools/NMTTools_PaveFiller_8.cxx
src/NMTTools/NMTTools_StdMapNodeOfMapOfPaveBlock.hxx [new file with mode: 0644]
src/NMTTools/NMTTools_StdMapNodeOfMapOfPaveBlock_0.cxx [new file with mode: 0644]
src/NMTTools/NMTTools_Tools.cdl
src/NMTTools/NMTTools_Tools.cxx
src/NMTTools/NMTTools_Tools.hxx
src/NMTTools/NMTTools_Tools.ixx
src/NMTTools/NMTTools_Tools.jxx

index f036a1f106f2eb897a707878d71b5879a91ebfcd..3499864cc52d288203a9251630da82a6b9e08ac3 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -39,18 +39,6 @@ Standard_EXPORT Handle_Standard_Type& STANDARD_TYPE(NMTDS_IndexedDataMapNodeOfIn
 
 class Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger) : public Handle(TCollection_MapNode) {
   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); 
-      }
     Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger)():Handle(TCollection_MapNode)() {} 
     Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger)(const Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger)& aHandle) : Handle(TCollection_MapNode)(aHandle) 
      {
@@ -72,17 +60,12 @@ class Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfSh
       return *this;
      }
 
-    NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger* operator->() 
-     {
-      return (NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger *)ControlAccess();
-     }
-
-    NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger* operator->() const 
+    NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger* operator->() const
      {
       return (NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger *)ControlAccess();
      }
 
-   Standard_EXPORT ~Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger)();
+//   Standard_EXPORT ~Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger)();
  
    Standard_EXPORT static const Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger) DownCast(const Handle(Standard_Transient)& AnObject);
 };
diff --git a/src/NMTDS/Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape.hxx b/src/NMTDS/Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape.hxx
new file mode 100644 (file)
index 0000000..50dd456
--- /dev/null
@@ -0,0 +1,72 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape_HeaderFile
+#define _Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape_HeaderFile
+
+#ifndef _Standard_Macro_HeaderFile
+#include <Standard_Macro.hxx>
+#endif
+#ifndef _Standard_HeaderFile
+#include <Standard.hxx>
+#endif
+
+#ifndef _Handle_TCollection_MapNode_HeaderFile
+#include <Handle_TCollection_MapNode.hxx>
+#endif
+
+class Standard_Transient;
+class Handle_Standard_Type;
+class Handle(TCollection_MapNode);
+class NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape;
+Standard_EXPORT Handle_Standard_Type& STANDARD_TYPE(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape);
+
+class Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape) : public Handle(TCollection_MapNode) {
+  public:
+    Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape)():Handle(TCollection_MapNode)() {} 
+    Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape)(const Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape)& aHandle) : Handle(TCollection_MapNode)(aHandle) 
+     {
+     }
+
+    Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape)(const NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape* anItem) : Handle(TCollection_MapNode)((TCollection_MapNode *)anItem) 
+     {
+     }
+
+    Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape)& operator=(const Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape)& aHandle)
+     {
+      Assign(aHandle.Access());
+      return *this;
+     }
+
+    Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape)& operator=(const NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape* anItem)
+     {
+      Assign((Standard_Transient *)anItem);
+      return *this;
+     }
+
+    NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape* operator->() const
+     {
+      return (NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape *)ControlAccess();
+     }
+
+//   Standard_EXPORT ~Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape)();
+   Standard_EXPORT static const Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape) DownCast(const Handle(Standard_Transient)& AnObject);
+};
+#endif
diff --git a/src/NMTDS/Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox.hxx b/src/NMTDS/Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox.hxx
new file mode 100644 (file)
index 0000000..a1bb5bc
--- /dev/null
@@ -0,0 +1,72 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox_HeaderFile
+#define _Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox_HeaderFile
+
+#ifndef _Standard_Macro_HeaderFile
+#include <Standard_Macro.hxx>
+#endif
+#ifndef _Standard_HeaderFile
+#include <Standard.hxx>
+#endif
+
+#ifndef _Handle_TCollection_MapNode_HeaderFile
+#include <Handle_TCollection_MapNode.hxx>
+#endif
+
+class Standard_Transient;
+class Handle_Standard_Type;
+class Handle(TCollection_MapNode);
+class NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox;
+Standard_EXPORT Handle_Standard_Type& STANDARD_TYPE(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox);
+
+class Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox) : public Handle(TCollection_MapNode) {
+  public:
+    Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox)():Handle(TCollection_MapNode)() {} 
+    Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox)(const Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox)& aHandle) : Handle(TCollection_MapNode)(aHandle) 
+     {
+     }
+
+    Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox)(const NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox* anItem) : Handle(TCollection_MapNode)((TCollection_MapNode *)anItem) 
+     {
+     }
+
+    Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox)& operator=(const Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox)& aHandle)
+     {
+      Assign(aHandle.Access());
+      return *this;
+     }
+
+    Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox)& operator=(const NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox* anItem)
+     {
+      Assign((Standard_Transient *)anItem);
+      return *this;
+     }
+
+    NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox* operator->() const
+     {
+      return (NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox *)ControlAccess();
+     }
+
+//   Standard_EXPORT ~Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox)();
+   Standard_EXPORT static const Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox) DownCast(const Handle(Standard_Transient)& AnObject);
+};
+#endif
index 8ffb2d9b277c0751ad2937f39fcd77aa6fff31d2..48ce73f8a49221ce3d39c9aaed7da8ae2aa33aff 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -39,18 +39,6 @@ Standard_EXPORT Handle_Standard_Type& STANDARD_TYPE(NMTDS_ListNodeOfListOfIndexe
 
 class Handle(NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors) : public Handle(TCollection_MapNode) {
   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); 
-      }
     Handle(NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors)():Handle(TCollection_MapNode)() {} 
     Handle(NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors)(const Handle(NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors)& aHandle) : Handle(TCollection_MapNode)(aHandle) 
      {
@@ -72,17 +60,12 @@ class Handle(NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors) : p
       return *this;
      }
 
-    NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors* operator->() 
-     {
-      return (NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors *)ControlAccess();
-     }
-
-    NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors* operator->() const 
+    NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors* operator->() const
      {
       return (NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors *)ControlAccess();
      }
 
-   Standard_EXPORT ~Handle(NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors)();
+//   Standard_EXPORT ~Handle(NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors)();
  
    Standard_EXPORT static const Handle(NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors) DownCast(const Handle(Standard_Transient)& AnObject);
 };
diff --git a/src/NMTDS/Handle_NMTDS_ListNodeOfListOfPassKey.hxx b/src/NMTDS/Handle_NMTDS_ListNodeOfListOfPassKey.hxx
new file mode 100644 (file)
index 0000000..eca4f17
--- /dev/null
@@ -0,0 +1,72 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _Handle_NMTDS_ListNodeOfListOfPassKey_HeaderFile
+#define _Handle_NMTDS_ListNodeOfListOfPassKey_HeaderFile
+
+#ifndef _Standard_Macro_HeaderFile
+#include <Standard_Macro.hxx>
+#endif
+#ifndef _Standard_HeaderFile
+#include <Standard.hxx>
+#endif
+
+#ifndef _Handle_TCollection_MapNode_HeaderFile
+#include <Handle_TCollection_MapNode.hxx>
+#endif
+
+class Standard_Transient;
+class Handle_Standard_Type;
+class Handle(TCollection_MapNode);
+class NMTDS_ListNodeOfListOfPassKey;
+Standard_EXPORT Handle_Standard_Type& STANDARD_TYPE(NMTDS_ListNodeOfListOfPassKey);
+
+class Handle(NMTDS_ListNodeOfListOfPassKey) : public Handle(TCollection_MapNode) {
+  public:
+    Handle(NMTDS_ListNodeOfListOfPassKey)():Handle(TCollection_MapNode)() {} 
+    Handle(NMTDS_ListNodeOfListOfPassKey)(const Handle(NMTDS_ListNodeOfListOfPassKey)& aHandle) : Handle(TCollection_MapNode)(aHandle) 
+     {
+     }
+
+    Handle(NMTDS_ListNodeOfListOfPassKey)(const NMTDS_ListNodeOfListOfPassKey* anItem) : Handle(TCollection_MapNode)((TCollection_MapNode *)anItem) 
+     {
+     }
+
+    Handle(NMTDS_ListNodeOfListOfPassKey)& operator=(const Handle(NMTDS_ListNodeOfListOfPassKey)& aHandle)
+     {
+      Assign(aHandle.Access());
+      return *this;
+     }
+
+    Handle(NMTDS_ListNodeOfListOfPassKey)& operator=(const NMTDS_ListNodeOfListOfPassKey* anItem)
+     {
+      Assign((Standard_Transient *)anItem);
+      return *this;
+     }
+
+    NMTDS_ListNodeOfListOfPassKey* operator->() const
+     {
+      return (NMTDS_ListNodeOfListOfPassKey *)ControlAccess();
+     }
+
+//   Standard_EXPORT ~Handle(NMTDS_ListNodeOfListOfPassKey)();
+   Standard_EXPORT static const Handle(NMTDS_ListNodeOfListOfPassKey) DownCast(const Handle(Standard_Transient)& AnObject);
+};
+#endif
diff --git a/src/NMTDS/Handle_NMTDS_ListNodeOfListOfPassKeyBoolean.hxx b/src/NMTDS/Handle_NMTDS_ListNodeOfListOfPassKeyBoolean.hxx
new file mode 100644 (file)
index 0000000..202965e
--- /dev/null
@@ -0,0 +1,72 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _Handle_NMTDS_ListNodeOfListOfPassKeyBoolean_HeaderFile
+#define _Handle_NMTDS_ListNodeOfListOfPassKeyBoolean_HeaderFile
+
+#ifndef _Standard_Macro_HeaderFile
+#include <Standard_Macro.hxx>
+#endif
+#ifndef _Standard_HeaderFile
+#include <Standard.hxx>
+#endif
+
+#ifndef _Handle_TCollection_MapNode_HeaderFile
+#include <Handle_TCollection_MapNode.hxx>
+#endif
+
+class Standard_Transient;
+class Handle_Standard_Type;
+class Handle(TCollection_MapNode);
+class NMTDS_ListNodeOfListOfPassKeyBoolean;
+Standard_EXPORT Handle_Standard_Type& STANDARD_TYPE(NMTDS_ListNodeOfListOfPassKeyBoolean);
+
+class Handle(NMTDS_ListNodeOfListOfPassKeyBoolean) : public Handle(TCollection_MapNode) {
+  public:
+    Handle(NMTDS_ListNodeOfListOfPassKeyBoolean)():Handle(TCollection_MapNode)() {} 
+    Handle(NMTDS_ListNodeOfListOfPassKeyBoolean)(const Handle(NMTDS_ListNodeOfListOfPassKeyBoolean)& aHandle) : Handle(TCollection_MapNode)(aHandle) 
+     {
+     }
+
+    Handle(NMTDS_ListNodeOfListOfPassKeyBoolean)(const NMTDS_ListNodeOfListOfPassKeyBoolean* anItem) : Handle(TCollection_MapNode)((TCollection_MapNode *)anItem) 
+     {
+     }
+
+    Handle(NMTDS_ListNodeOfListOfPassKeyBoolean)& operator=(const Handle(NMTDS_ListNodeOfListOfPassKeyBoolean)& aHandle)
+     {
+      Assign(aHandle.Access());
+      return *this;
+     }
+
+    Handle(NMTDS_ListNodeOfListOfPassKeyBoolean)& operator=(const NMTDS_ListNodeOfListOfPassKeyBoolean* anItem)
+     {
+      Assign((Standard_Transient *)anItem);
+      return *this;
+     }
+
+    NMTDS_ListNodeOfListOfPassKeyBoolean* operator->() const
+     {
+      return (NMTDS_ListNodeOfListOfPassKeyBoolean *)ControlAccess();
+     }
+
+//   Standard_EXPORT ~Handle(NMTDS_ListNodeOfListOfPassKeyBoolean)();
+   Standard_EXPORT static const Handle(NMTDS_ListNodeOfListOfPassKeyBoolean) DownCast(const Handle(Standard_Transient)& AnObject);
+};
+#endif
diff --git a/src/NMTDS/Handle_NMTDS_StdMapNodeOfMapOfPassKey.hxx b/src/NMTDS/Handle_NMTDS_StdMapNodeOfMapOfPassKey.hxx
new file mode 100644 (file)
index 0000000..fbea2a6
--- /dev/null
@@ -0,0 +1,72 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _Handle_NMTDS_StdMapNodeOfMapOfPassKey_HeaderFile
+#define _Handle_NMTDS_StdMapNodeOfMapOfPassKey_HeaderFile
+
+#ifndef _Standard_Macro_HeaderFile
+#include <Standard_Macro.hxx>
+#endif
+#ifndef _Standard_HeaderFile
+#include <Standard.hxx>
+#endif
+
+#ifndef _Handle_TCollection_MapNode_HeaderFile
+#include <Handle_TCollection_MapNode.hxx>
+#endif
+
+class Standard_Transient;
+class Handle_Standard_Type;
+class Handle(TCollection_MapNode);
+class NMTDS_StdMapNodeOfMapOfPassKey;
+Standard_EXPORT Handle_Standard_Type& STANDARD_TYPE(NMTDS_StdMapNodeOfMapOfPassKey);
+
+class Handle(NMTDS_StdMapNodeOfMapOfPassKey) : public Handle(TCollection_MapNode) {
+  public:
+    Handle(NMTDS_StdMapNodeOfMapOfPassKey)():Handle(TCollection_MapNode)() {} 
+    Handle(NMTDS_StdMapNodeOfMapOfPassKey)(const Handle(NMTDS_StdMapNodeOfMapOfPassKey)& aHandle) : Handle(TCollection_MapNode)(aHandle) 
+     {
+     }
+
+    Handle(NMTDS_StdMapNodeOfMapOfPassKey)(const NMTDS_StdMapNodeOfMapOfPassKey* anItem) : Handle(TCollection_MapNode)((TCollection_MapNode *)anItem) 
+     {
+     }
+
+    Handle(NMTDS_StdMapNodeOfMapOfPassKey)& operator=(const Handle(NMTDS_StdMapNodeOfMapOfPassKey)& aHandle)
+     {
+      Assign(aHandle.Access());
+      return *this;
+     }
+
+    Handle(NMTDS_StdMapNodeOfMapOfPassKey)& operator=(const NMTDS_StdMapNodeOfMapOfPassKey* anItem)
+     {
+      Assign((Standard_Transient *)anItem);
+      return *this;
+     }
+
+    NMTDS_StdMapNodeOfMapOfPassKey* operator->() const
+     {
+      return (NMTDS_StdMapNodeOfMapOfPassKey *)ControlAccess();
+     }
+
+//   Standard_EXPORT ~Handle(NMTDS_StdMapNodeOfMapOfPassKey)();
+   Standard_EXPORT static const Handle(NMTDS_StdMapNodeOfMapOfPassKey) DownCast(const Handle(Standard_Transient)& AnObject);
+};
+#endif
diff --git a/src/NMTDS/Handle_NMTDS_StdMapNodeOfMapOfPassKeyBoolean.hxx b/src/NMTDS/Handle_NMTDS_StdMapNodeOfMapOfPassKeyBoolean.hxx
new file mode 100644 (file)
index 0000000..4cf3235
--- /dev/null
@@ -0,0 +1,72 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _Handle_NMTDS_StdMapNodeOfMapOfPassKeyBoolean_HeaderFile
+#define _Handle_NMTDS_StdMapNodeOfMapOfPassKeyBoolean_HeaderFile
+
+#ifndef _Standard_Macro_HeaderFile
+#include <Standard_Macro.hxx>
+#endif
+#ifndef _Standard_HeaderFile
+#include <Standard.hxx>
+#endif
+
+#ifndef _Handle_TCollection_MapNode_HeaderFile
+#include <Handle_TCollection_MapNode.hxx>
+#endif
+
+class Standard_Transient;
+class Handle_Standard_Type;
+class Handle(TCollection_MapNode);
+class NMTDS_StdMapNodeOfMapOfPassKeyBoolean;
+Standard_EXPORT Handle_Standard_Type& STANDARD_TYPE(NMTDS_StdMapNodeOfMapOfPassKeyBoolean);
+
+class Handle(NMTDS_StdMapNodeOfMapOfPassKeyBoolean) : public Handle(TCollection_MapNode) {
+  public:
+    Handle(NMTDS_StdMapNodeOfMapOfPassKeyBoolean)():Handle(TCollection_MapNode)() {} 
+    Handle(NMTDS_StdMapNodeOfMapOfPassKeyBoolean)(const Handle(NMTDS_StdMapNodeOfMapOfPassKeyBoolean)& aHandle) : Handle(TCollection_MapNode)(aHandle) 
+     {
+     }
+
+    Handle(NMTDS_StdMapNodeOfMapOfPassKeyBoolean)(const NMTDS_StdMapNodeOfMapOfPassKeyBoolean* anItem) : Handle(TCollection_MapNode)((TCollection_MapNode *)anItem) 
+     {
+     }
+
+    Handle(NMTDS_StdMapNodeOfMapOfPassKeyBoolean)& operator=(const Handle(NMTDS_StdMapNodeOfMapOfPassKeyBoolean)& aHandle)
+     {
+      Assign(aHandle.Access());
+      return *this;
+     }
+
+    Handle(NMTDS_StdMapNodeOfMapOfPassKeyBoolean)& operator=(const NMTDS_StdMapNodeOfMapOfPassKeyBoolean* anItem)
+     {
+      Assign((Standard_Transient *)anItem);
+      return *this;
+     }
+
+    NMTDS_StdMapNodeOfMapOfPassKeyBoolean* operator->() const
+     {
+      return (NMTDS_StdMapNodeOfMapOfPassKeyBoolean *)ControlAccess();
+     }
+
+//   Standard_EXPORT ~Handle(NMTDS_StdMapNodeOfMapOfPassKeyBoolean)();
+   Standard_EXPORT static const Handle(NMTDS_StdMapNodeOfMapOfPassKeyBoolean) DownCast(const Handle(Standard_Transient)& AnObject);
+};
+#endif
index 10be7fd905471ce270b7216e74895cd4f7b5885f..23f815f854545251331d133cf418e08681ecb11b 100644 (file)
@@ -40,23 +40,77 @@ LIB = libNMTDS.la
 LIB_SRC = \
        NMTDS_CArray1OfIndexRange_0.cxx \
        NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger_0.cxx \
+       NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape_0.cxx \
+       NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox_0.cxx \
        NMTDS_IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger_0.cxx \
+       NMTDS_IndexedDataMapOfIntegerShape_0.cxx  \
+       NMTDS_IndexedDataMapOfShapeBox_0.cxx \
        NMTDS_IndexRange.cxx \
-       NMTDS_ListIteratorOfListOfIndexedDataMapOfShapeAncestorsSuccessors_0.cxx \
+       NMTDS_Iterator.cxx \
+       NMTDS_ListIteratorOfListOfIndexedDataMapOfShapeAncestorsSuccessors_0.cxx  \
+       NMTDS_ListIteratorOfListOfPassKey_0.cxx  \
+       NMTDS_ListIteratorOfListOfPassKeyBoolean_0.cxx \
        NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors_0.cxx \
+       NMTDS_ListNodeOfListOfPassKey_0.cxx \
+       NMTDS_ListNodeOfListOfPassKeyBoolean_0.cxx \
        NMTDS_ListOfIndexedDataMapOfShapeAncestorsSuccessors_0.cxx \
-       NMTDS_ShapesDataStructure.cxx
+       NMTDS_ListOfPassKey_0.cxx \
+       NMTDS_ListOfPassKeyBoolean_0.cxx \
+       NMTDS_MapIteratorOfMapOfPassKey_0.cxx \
+       NMTDS_MapIteratorOfMapOfPassKeyBoolean_0.cxx \
+       NMTDS_MapOfPassKey_0.cxx \
+       NMTDS_MapOfPassKeyBoolean_0.cxx \
+       NMTDS_PassKeyBoolean.cxx \
+       NMTDS_PassKey.cxx \
+       NMTDS_PassKeyMapHasher.cxx \
+       NMTDS_ShapesDataStructure.cxx \
+       NMTDS_StdMapNodeOfMapOfPassKey_0.cxx \
+       NMTDS_StdMapNodeOfMapOfPassKeyBoolean_0.cxx \
+       NMTDS_BoxBndTree.cxx
 
 LIB_CLIENT_IDL = 
 LIB_SERVER_IDL = 
 
 # header files 
 EXPORT_HEADERS = \
-       NMTDS_ShapesDataStructure.hxx \
-       NMTDS_PShapesDataStructure.hxx \
+       Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger.hxx \
+       Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape.hxx \
+       Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox.hxx \
+       Handle_NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors.hxx \
+       Handle_NMTDS_ListNodeOfListOfPassKeyBoolean.hxx \
+       Handle_NMTDS_ListNodeOfListOfPassKey.hxx \
+       Handle_NMTDS_StdMapNodeOfMapOfPassKeyBoolean.hxx \
+       Handle_NMTDS_StdMapNodeOfMapOfPassKey.hxx \
        NMTDS_CArray1OfIndexRange.hxx \
+       NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger.hxx \
+       NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape.hxx \
+       NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox.hxx \
        NMTDS_IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger.hxx \
-       Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger.hxx
+       NMTDS_IndexedDataMapOfIntegerShape.hxx \
+       NMTDS_IndexedDataMapOfShapeBox.hxx \
+       NMTDS_IndexRange.hxx \
+       NMTDS_Iterator.hxx \
+       NMTDS_ListIteratorOfListOfIndexedDataMapOfShapeAncestorsSuccessors.hxx \
+       NMTDS_ListIteratorOfListOfPassKeyBoolean.hxx \
+       NMTDS_ListIteratorOfListOfPassKey.hxx \
+       NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors.hxx \
+       NMTDS_ListNodeOfListOfPassKeyBoolean.hxx \
+       NMTDS_ListNodeOfListOfPassKey.hxx \
+       NMTDS_ListOfIndexedDataMapOfShapeAncestorsSuccessors.hxx \
+       NMTDS_ListOfPassKeyBoolean.hxx \
+       NMTDS_ListOfPassKey.hxx \
+       NMTDS_MapIteratorOfMapOfPassKeyBoolean.hxx \
+       NMTDS_MapIteratorOfMapOfPassKey.hxx \
+       NMTDS_MapOfPassKeyBoolean.hxx  \
+       NMTDS_MapOfPassKey.hxx \
+       NMTDS_PassKeyBoolean.hxx \
+       NMTDS_PassKey.hxx \
+       NMTDS_PassKeyMapHasher.hxx \
+       NMTDS_PShapesDataStructure.hxx \
+       NMTDS_ShapesDataStructure.hxx \
+       NMTDS_StdMapNodeOfMapOfPassKeyBoolean.hxx \
+       NMTDS_StdMapNodeOfMapOfPassKey.hxx \
+       NMTDS_BoxBndTree.hxx
 
 # idl files
 EXPORT_IDLS=
index 6eb4abbd84482bcf1ba221b00f87b26e258c3046..c023fff9e295daf945bc788e22dda679da4a421f 100644 (file)
@@ -1,27 +1,26 @@
-// Copyright (C) 2005  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 
-// 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 
-// 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 
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
-//
+-- Copyright (C) 2005  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 
+-- 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 
+-- 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 
+-- 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:       NMTDS.cdl
 -- Created:    Fri Nov 28 10:13:19 2003
 -- Author:     Peter KURNEV
 --             <pkv@irinox>
----Copyright:   Matra Datavision 2003
 
 
 package NMTDS 
@@ -40,8 +39,16 @@ uses
     BOPTColStd
 is  
     class ShapesDataStructure;
-    class IndexRange; 
-
+    class IndexRange;   
+    
+    -- Modified to Add new classes Thu Sep 14 14:35:18 2006 
+    -- Contribution of Samtech www.samcef.com BEGIN 
+    class Iterator; 
+    class PassKey; 
+    class PassKeyBoolean; 
+    class PassKeyMapHasher; 
+    -- Contribution of Samtech www.samcef.com END  
+    
     pointer PShapesDataStructure to ShapesDataStructure from NMTDS;
 
     class CArray1OfIndexRange instantiates 
@@ -54,5 +61,33 @@ is
        IndexedDataMap from TCollection(Integer        from Standard, 
                                        IndexedDataMapOfShapeInteger from BooleanOperations, 
                                        MapIntegerHasher from TColStd); 
-                                        
+    
+    -- Modified to Add new classes Thu Sep 14 14:35:18 2006 
+    -- Contribution of Samtech www.samcef.com BEGIN 
+    class ListOfPassKey  instantiates 
+       List from TCollection(PassKey from NMTDS);  
+     
+    class MapOfPassKey instantiates
+       Map from TCollection(PassKey from NMTDS, 
+                            PassKeyMapHasher from NMTDS);  
+                            
+    class ListOfPassKeyBoolean  instantiates 
+       List from TCollection(PassKeyBoolean from NMTDS); 
+     
+    class MapOfPassKeyBoolean instantiates
+       Map from TCollection(PassKeyBoolean from NMTDS, 
+                            PassKeyMapHasher from NMTDS);   
+    -- Contribution of Samtech www.samcef.com END
+
+
+    class IndexedDataMapOfShapeBox  
+       instantiates IndexedDataMap from TCollection    (Shape from TopoDS,
+                                                        Box from Bnd,
+                                                        ShapeMapHasher from TopTools);
+    class IndexedDataMapOfIntegerShape  
+       instantiates IndexedDataMap from TCollection    (Integer from Standard,
+                                                        Shape from TopoDS,
+                                                        MapIntegerHasher from TColStd); 
+
 end NMTDS;
diff --git a/src/NMTDS/NMTDS_BoxBndTree.cxx b/src/NMTDS/NMTDS_BoxBndTree.cxx
new file mode 100644 (file)
index 0000000..79bc0b5
--- /dev/null
@@ -0,0 +1,90 @@
+// Copyright (C) 2005  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 
+// 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 
+// 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 
+// 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:       NMTDS_BoxBndTree.cxx
+// Created:    Tue Oct 17 13:04:11 2006
+// Author:     Peter KURNEV
+//             <pkv@irinox>
+
+
+#include <NMTDS_BoxBndTree.hxx>
+//=======================================================================
+//function : 
+//purpose  : 
+//=======================================================================
+  NMTDS_BoxBndTreeSelector::NMTDS_BoxBndTreeSelector()
+{
+}
+//=======================================================================
+//function : ~
+//purpose  : 
+//=======================================================================
+  NMTDS_BoxBndTreeSelector::~NMTDS_BoxBndTreeSelector()
+{
+}
+//=======================================================================
+//function : Reject
+//purpose  : 
+//=======================================================================
+  Standard_Boolean NMTDS_BoxBndTreeSelector::Reject (const Bnd_Box& aBox) const
+{
+  Standard_Boolean bRet;
+  //
+  bRet=myBox.IsOut(aBox);
+  return bRet;
+}
+//=======================================================================
+//function : Accept
+//purpose  : 
+//=======================================================================
+  Standard_Boolean NMTDS_BoxBndTreeSelector::Accept (const Standard_Integer& aIndex)
+{
+  Standard_Boolean bRet=Standard_False;
+  //
+  if (myFence.Add(aIndex)) {
+    myIndices.Append(aIndex);
+    bRet=!bRet;
+  }
+  return bRet;
+}
+//=======================================================================
+//function : SetBox
+//purpose  : 
+//=======================================================================
+  void NMTDS_BoxBndTreeSelector::SetBox(const Bnd_Box& aBox)
+{
+  myBox=aBox;
+}
+//=======================================================================
+//function : Clear
+//purpose  : 
+//=======================================================================
+  void NMTDS_BoxBndTreeSelector::Clear()
+{
+  myFence.Clear();
+  myIndices.Clear();
+}
+//=======================================================================
+//function : Indices
+//purpose  : 
+//=======================================================================
+  const TColStd_ListOfInteger& NMTDS_BoxBndTreeSelector::Indices() const
+{
+  return myIndices;
+}
diff --git a/src/NMTDS/NMTDS_BoxBndTree.hxx b/src/NMTDS/NMTDS_BoxBndTree.hxx
new file mode 100755 (executable)
index 0000000..9aeb58d
--- /dev/null
@@ -0,0 +1,52 @@
+// Copyright (C) 2005  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 
+// 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 
+// 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 
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// File:       NMTDS_BoxBndTree.hxx
+// Created:    Tue Oct 17 12:50:31 2006
+// Author:     Peter KURNEV
+//             <pkv@irinox>
+
+
+#ifndef NMTDS_BoxBndTree_HeaderFile
+#define NMTDS_BoxBndTree_HeaderFile
+
+#include <NCollection_UBTree.hxx>
+#include <Bnd_Box.hxx>
+#include <TColStd_MapOfInteger.hxx>
+#include <TColStd_ListOfInteger.hxx>
+
+typedef NCollection_UBTree <Standard_Integer , Bnd_Box> NMTDS_BoxBndTree;
+
+  class NMTDS_BoxBndTreeSelector : public NMTDS_BoxBndTree::Selector {
+    public:
+      Standard_EXPORT NMTDS_BoxBndTreeSelector();
+      Standard_EXPORT virtual Standard_Boolean Reject(const Bnd_Box&) const;
+      Standard_EXPORT virtual Standard_Boolean Accept(const Standard_Integer &);
+      Standard_EXPORT virtual ~NMTDS_BoxBndTreeSelector();
+      
+      Standard_EXPORT void Clear();
+      Standard_EXPORT void SetBox(const Bnd_Box&);
+      Standard_EXPORT const TColStd_ListOfInteger& Indices() const;
+
+    protected:
+      Bnd_Box  myBox;
+      TColStd_MapOfInteger  myFence;
+      TColStd_ListOfInteger myIndices;
+      
+  };
+
+#endif
index 26e5531901a1486a64aa08784c35f76c24dd75eb..120e3030cc186992a17d97414f652c06eb1339ee 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -41,6 +41,7 @@ class NMTDS_IndexRange;
 #include <Standard_Macro.hxx>
 #endif
 
+
 class NMTDS_CArray1OfIndexRange  {
 
 public:
@@ -59,32 +60,56 @@ public:
       }
  // Methods PUBLIC
  // 
+
+
 Standard_EXPORT NMTDS_CArray1OfIndexRange(const Standard_Integer Length = 0,const Standard_Integer BlockLength = 5);
+
+
 Standard_EXPORT   void Resize(const Standard_Integer theNewLength) ;
+
+
 Standard_EXPORT   void Destroy() ;
 ~NMTDS_CArray1OfIndexRange()
 {
   Destroy();
 }
 
+
+
 Standard_EXPORT   Standard_Integer Length() const;
+
+
 Standard_EXPORT   Standard_Integer Extent() const;
+
+
 Standard_EXPORT   Standard_Integer FactLength() const;
+
+
 Standard_EXPORT   Standard_Integer Append(const NMTDS_IndexRange& Value) ;
+
+
 Standard_EXPORT   void Remove(const Standard_Integer Index) ;
+
+
 Standard_EXPORT  const NMTDS_IndexRange& Value(const Standard_Integer Index) const;
  const NMTDS_IndexRange& operator ()(const Standard_Integer Index) const
 {
   return Value(Index);
 }
 
+
+
 Standard_EXPORT   NMTDS_IndexRange& ChangeValue(const Standard_Integer Index) ;
   NMTDS_IndexRange& operator ()(const Standard_Integer Index) 
 {
   return ChangeValue(Index);
 }
 
+
+
 Standard_EXPORT   void SetBlockLength(const Standard_Integer aBL) ;
+
+
 Standard_EXPORT   Standard_Integer BlockLength() const;
 
 
@@ -105,13 +130,19 @@ private:
 
  // Methods PRIVATE
  // 
+
+
 Standard_EXPORT NMTDS_CArray1OfIndexRange(const NMTDS_CArray1OfIndexRange& AnArray);
+
+
 Standard_EXPORT   NMTDS_CArray1OfIndexRange& Assign(const NMTDS_CArray1OfIndexRange& Other) ;
   NMTDS_CArray1OfIndexRange& operator =(const NMTDS_CArray1OfIndexRange& Other) 
 {
   return Assign(Other);
 }
 
+
+
 Standard_EXPORT   Standard_Boolean IsInvalidIndex(const Standard_Integer Index) const;
 
 
index fa29895c79de7bc7b0cca38caf499805005b773a..6bd7e3df2a305dba07e5c4b1ff5fa34859abb7d2 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
index 459404a047fac32e86f89794116b305f70b563a4..70458ed5d09a5330c4187cd29fc7f794927bc69e 100644 (file)
@@ -1,28 +1,26 @@
-// Copyright (C) 2005  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 
-// 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 
-// 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 
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
-//
+-- Copyright (C) 2005  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 
+-- 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 
+-- 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 
+-- 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:       NMTDS_IndexRange.cdl
 -- Created:    Fri Nov 28 10:31:05 2003
 -- Author:     Peter KURNEV
 --             <pkv@irinox>
----Copyright:   Matra Datavision 2003
-
 
 class IndexRange from NMTDS 
 
index fd1c1cd76b2cd39d64a8d53dfb12d254cb9f778f..1e9f76065263b006b8d2fb69a3554c1a911cafc4 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -35,6 +35,7 @@
 #include <Standard_Macro.hxx>
 #endif
 
+
 class NMTDS_IndexRange  {
 
 public:
@@ -53,11 +54,23 @@ public:
       }
  // Methods PUBLIC
  // 
+
+
 Standard_EXPORT NMTDS_IndexRange();
+
+
 Standard_EXPORT   void SetFirst(const Standard_Integer aFirst) ;
+
+
 Standard_EXPORT   void SetLast(const Standard_Integer aLast) ;
+
+
 Standard_EXPORT   Standard_Integer First() const;
+
+
 Standard_EXPORT   Standard_Integer Last() const;
+
+
 Standard_EXPORT   Standard_Boolean IsInRange(const Standard_Integer aIndex) const;
 
 
index beb598c0277add17a2d4d9a5e7a94bcdcae83339..44ea38a5a69bd37e6e572b9d947e843f1c421c91 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
index d52e44e242899dbd2937ebe79e8bf88f21902d03..936832bdca42c0181d2fa2da23a7c4aec871ddce 100644 (file)
@@ -1,22 +1,22 @@
 // Copyright (C) 2005  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
-//
+
 #ifndef _NMTDS_IndexRange_HeaderFile
 #include <NMTDS_IndexRange.hxx>
 #endif
index 49d1fb437bd552a65e6c949a9eb47a2fa3fad580..1798951101f3acabd2adb450b0b24e0b59a7a788 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -44,39 +44,31 @@ class TColStd_MapIntegerHasher;
 class NMTDS_IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger;
 
 
+
 class NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger : public TCollection_MapNode {
 
 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
  // 
+
 NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger(const Standard_Integer& K1,const Standard_Integer K2,const BooleanOperations_IndexedDataMapOfShapeInteger& I,const TCollection_MapNodePtr& n1,const TCollection_MapNodePtr& n2);
+
   Standard_Integer& Key1() const;
+
   Standard_Integer& Key2() const;
+
   TCollection_MapNodePtr& Next2() const;
+
   BooleanOperations_IndexedDataMapOfShapeInteger& Value() const;
-Standard_EXPORT ~NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger();
+//Standard_EXPORT ~NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger();
 
 
 
 
  // Type management
  //
- Standard_EXPORT friend Handle_Standard_Type& NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger_Type_();
  Standard_EXPORT const Handle(Standard_Type)& DynamicType() const;
Standard_EXPORT Standard_Boolean             IsKind(const Handle(Standard_Type)&) const;
//Standard_EXPORT Standard_Boolean           IsKind(const Handle(Standard_Type)&) const;
 
 protected:
 
index 454f87a637ce88a83a65bad39fc1d57b6921d1c3..4467ed2dbfcd8d605d4b965cc651f3a1286c63fe 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -32,7 +32,7 @@
 #ifndef _NMTDS_IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger_HeaderFile
 #include <NMTDS_IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger.hxx>
 #endif
-NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger::~NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger() {}
+//NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger::~NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger() {}
  
 
 
@@ -40,11 +40,8 @@ Standard_EXPORT Handle_Standard_Type& NMTDS_IndexedDataMapNodeOfIndexedDataMapOf
 {
 
     static Handle_Standard_Type aType1 = STANDARD_TYPE(TCollection_MapNode);
-  if ( aType1.IsNull()) aType1 = STANDARD_TYPE(TCollection_MapNode);
   static Handle_Standard_Type aType2 = STANDARD_TYPE(MMgt_TShared);
-  if ( aType2.IsNull()) aType2 = STANDARD_TYPE(MMgt_TShared);
   static Handle_Standard_Type aType3 = STANDARD_TYPE(Standard_Transient);
-  if ( aType3.IsNull()) aType3 = STANDARD_TYPE(Standard_Transient);
  
 
   static Handle_Standard_Transient _Ancestors[]= {aType1,aType2,aType3,NULL};
@@ -77,11 +74,11 @@ const Handle(Standard_Type)& NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIn
 { 
   return STANDARD_TYPE(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger) ; 
 }
-Standard_Boolean NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger::IsKind(const Handle(Standard_Type)& AType) const 
-{ 
-  return (STANDARD_TYPE(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger) == AType || TCollection_MapNode::IsKind(AType)); 
-}
-Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger::~Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger() {}
+//Standard_Boolean NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger::IsKind(const Handle(Standard_Type)& AType) const 
+//
+//  return (STANDARD_TYPE(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger) == AType || TCollection_MapNode::IsKind(AType)); 
+//}
+//Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger::~Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger() {}
 #define TheKey Standard_Integer
 #define TheKey_hxx <Standard_Integer.hxx>
 #define TheItem BooleanOperations_IndexedDataMapOfShapeInteger
diff --git a/src/NMTDS/NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape.hxx b/src/NMTDS/NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape.hxx
new file mode 100644 (file)
index 0000000..6cc5bac
--- /dev/null
@@ -0,0 +1,132 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape_HeaderFile
+#define _NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape_HeaderFile
+
+#ifndef _Standard_HeaderFile
+#include <Standard.hxx>
+#endif
+#ifndef _Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape_HeaderFile
+#include <Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape.hxx>
+#endif
+
+#ifndef _Standard_Integer_HeaderFile
+#include <Standard_Integer.hxx>
+#endif
+#ifndef _TopoDS_Shape_HeaderFile
+#include <TopoDS_Shape.hxx>
+#endif
+#ifndef _TCollection_MapNodePtr_HeaderFile
+#include <TCollection_MapNodePtr.hxx>
+#endif
+#ifndef _TCollection_MapNode_HeaderFile
+#include <TCollection_MapNode.hxx>
+#endif
+class TopoDS_Shape;
+class TColStd_MapIntegerHasher;
+class NMTDS_IndexedDataMapOfIntegerShape;
+
+
+
+class NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape : public TCollection_MapNode {
+
+public:
+ // Methods PUBLIC
+ // 
+
+NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape(const Standard_Integer& K1,const Standard_Integer K2,const TopoDS_Shape& I,const TCollection_MapNodePtr& n1,const TCollection_MapNodePtr& n2);
+
+  Standard_Integer& Key1() const;
+
+  Standard_Integer& Key2() const;
+
+  TCollection_MapNodePtr& Next2() const;
+
+  TopoDS_Shape& Value() const;
+//Standard_EXPORT ~NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape();
+
+
+
+
+ // Type management
+ //
+ Standard_EXPORT const Handle(Standard_Type)& DynamicType() const;
+ //Standard_EXPORT Standard_Boolean           IsKind(const Handle(Standard_Type)&) const;
+
+protected:
+
+ // Methods PROTECTED
+ // 
+
+
+ // Fields PROTECTED
+ //
+
+
+private: 
+
+ // Methods PRIVATE
+ // 
+
+
+ // Fields PRIVATE
+ //
+Standard_Integer myKey1;
+Standard_Integer myKey2;
+TopoDS_Shape myValue;
+TCollection_MapNodePtr myNext2;
+
+
+};
+
+#define TheKey Standard_Integer
+#define TheKey_hxx <Standard_Integer.hxx>
+#define TheItem TopoDS_Shape
+#define TheItem_hxx <TopoDS_Shape.hxx>
+#define Hasher TColStd_MapIntegerHasher
+#define Hasher_hxx <TColStd_MapIntegerHasher.hxx>
+#define TCollection_IndexedDataMapNode NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape
+#define TCollection_IndexedDataMapNode_hxx <NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape.hxx>
+#define Handle_TCollection_IndexedDataMapNode Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape
+#define TCollection_IndexedDataMapNode_Type_() NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape_Type_()
+#define TCollection_IndexedDataMap NMTDS_IndexedDataMapOfIntegerShape
+#define TCollection_IndexedDataMap_hxx <NMTDS_IndexedDataMapOfIntegerShape.hxx>
+
+#include <TCollection_IndexedDataMapNode.lxx>
+
+#undef TheKey
+#undef TheKey_hxx
+#undef TheItem
+#undef TheItem_hxx
+#undef Hasher
+#undef Hasher_hxx
+#undef TCollection_IndexedDataMapNode
+#undef TCollection_IndexedDataMapNode_hxx
+#undef Handle_TCollection_IndexedDataMapNode
+#undef TCollection_IndexedDataMapNode_Type_
+#undef TCollection_IndexedDataMap
+#undef TCollection_IndexedDataMap_hxx
+
+
+// other Inline functions and methods (like "C++: function call" methods)
+//
+
+
+#endif
diff --git a/src/NMTDS/NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape_0.cxx b/src/NMTDS/NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape_0.cxx
new file mode 100644 (file)
index 0000000..3293dde
--- /dev/null
@@ -0,0 +1,95 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#include <NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape.hxx>
+
+#ifndef _Standard_TypeMismatch_HeaderFile
+#include <Standard_TypeMismatch.hxx>
+#endif
+
+#ifndef _TopoDS_Shape_HeaderFile
+#include <TopoDS_Shape.hxx>
+#endif
+#ifndef _TColStd_MapIntegerHasher_HeaderFile
+#include <TColStd_MapIntegerHasher.hxx>
+#endif
+#ifndef _NMTDS_IndexedDataMapOfIntegerShape_HeaderFile
+#include <NMTDS_IndexedDataMapOfIntegerShape.hxx>
+#endif
+//NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape::~NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape() {}
+
+
+Standard_EXPORT Handle_Standard_Type& NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape_Type_()
+{
+
+    static Handle_Standard_Type aType1 = STANDARD_TYPE(TCollection_MapNode);
+  static Handle_Standard_Type aType2 = STANDARD_TYPE(MMgt_TShared);
+  static Handle_Standard_Type aType3 = STANDARD_TYPE(Standard_Transient);
+
+  static Handle_Standard_Transient _Ancestors[]= {aType1,aType2,aType3,NULL};
+  static Handle_Standard_Type _aType = new Standard_Type("NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape",
+                                                        sizeof(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape),
+                                                        1,
+                                                        (Standard_Address)_Ancestors,
+                                                        (Standard_Address)NULL);
+
+  return _aType;
+}
+
+
+// DownCast method
+//   allow safe downcasting
+//
+const Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape) Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape)::DownCast(const Handle(Standard_Transient)& AnObject) 
+{
+  Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape) _anOtherObject;
+
+  if (!AnObject.IsNull()) {
+     if (AnObject->IsKind(STANDARD_TYPE(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape))) {
+       _anOtherObject = Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape)((Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape)&)AnObject);
+     }
+  }
+
+  return _anOtherObject ;
+}
+const Handle(Standard_Type)& NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape::DynamicType() const 
+{ 
+  return STANDARD_TYPE(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape) ; 
+}
+//Standard_Boolean NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape::IsKind(const Handle(Standard_Type)& AType) const 
+//{ 
+//  return (STANDARD_TYPE(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape) == AType || TCollection_MapNode::IsKind(AType)); 
+//}
+//Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape::~Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape() {}
+#define TheKey Standard_Integer
+#define TheKey_hxx <Standard_Integer.hxx>
+#define TheItem TopoDS_Shape
+#define TheItem_hxx <TopoDS_Shape.hxx>
+#define Hasher TColStd_MapIntegerHasher
+#define Hasher_hxx <TColStd_MapIntegerHasher.hxx>
+#define TCollection_IndexedDataMapNode NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape
+#define TCollection_IndexedDataMapNode_hxx <NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape.hxx>
+#define Handle_TCollection_IndexedDataMapNode Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape
+#define TCollection_IndexedDataMapNode_Type_() NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape_Type_()
+#define TCollection_IndexedDataMap NMTDS_IndexedDataMapOfIntegerShape
+#define TCollection_IndexedDataMap_hxx <NMTDS_IndexedDataMapOfIntegerShape.hxx>
+#include <TCollection_IndexedDataMapNode.gxx>
+
diff --git a/src/NMTDS/NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox.hxx b/src/NMTDS/NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox.hxx
new file mode 100644 (file)
index 0000000..6982048
--- /dev/null
@@ -0,0 +1,136 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox_HeaderFile
+#define _NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox_HeaderFile
+
+#ifndef _Standard_HeaderFile
+#include <Standard.hxx>
+#endif
+#ifndef _Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox_HeaderFile
+#include <Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox.hxx>
+#endif
+
+#ifndef _TopoDS_Shape_HeaderFile
+#include <TopoDS_Shape.hxx>
+#endif
+#ifndef _Standard_Integer_HeaderFile
+#include <Standard_Integer.hxx>
+#endif
+#ifndef _Bnd_Box_HeaderFile
+#include <Bnd_Box.hxx>
+#endif
+#ifndef _TCollection_MapNodePtr_HeaderFile
+#include <TCollection_MapNodePtr.hxx>
+#endif
+#ifndef _TCollection_MapNode_HeaderFile
+#include <TCollection_MapNode.hxx>
+#endif
+class TopoDS_Shape;
+class Bnd_Box;
+class TopTools_ShapeMapHasher;
+class NMTDS_IndexedDataMapOfShapeBox;
+
+
+
+class NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox : public TCollection_MapNode {
+
+public:
+ // Methods PUBLIC
+ // 
+
+NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox(const TopoDS_Shape& K1,const Standard_Integer K2,const Bnd_Box& I,const TCollection_MapNodePtr& n1,const TCollection_MapNodePtr& n2);
+
+  TopoDS_Shape& Key1() const;
+
+  Standard_Integer& Key2() const;
+
+  TCollection_MapNodePtr& Next2() const;
+
+  Bnd_Box& Value() const;
+//Standard_EXPORT ~NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox();
+
+
+
+
+ // Type management
+ //
+ Standard_EXPORT const Handle(Standard_Type)& DynamicType() const;
+ //Standard_EXPORT Standard_Boolean           IsKind(const Handle(Standard_Type)&) const;
+
+protected:
+
+ // Methods PROTECTED
+ // 
+
+
+ // Fields PROTECTED
+ //
+
+
+private: 
+
+ // Methods PRIVATE
+ // 
+
+
+ // Fields PRIVATE
+ //
+TopoDS_Shape myKey1;
+Standard_Integer myKey2;
+Bnd_Box myValue;
+TCollection_MapNodePtr myNext2;
+
+
+};
+
+#define TheKey TopoDS_Shape
+#define TheKey_hxx <TopoDS_Shape.hxx>
+#define TheItem Bnd_Box
+#define TheItem_hxx <Bnd_Box.hxx>
+#define Hasher TopTools_ShapeMapHasher
+#define Hasher_hxx <TopTools_ShapeMapHasher.hxx>
+#define TCollection_IndexedDataMapNode NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox
+#define TCollection_IndexedDataMapNode_hxx <NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox.hxx>
+#define Handle_TCollection_IndexedDataMapNode Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox
+#define TCollection_IndexedDataMapNode_Type_() NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox_Type_()
+#define TCollection_IndexedDataMap NMTDS_IndexedDataMapOfShapeBox
+#define TCollection_IndexedDataMap_hxx <NMTDS_IndexedDataMapOfShapeBox.hxx>
+
+#include <TCollection_IndexedDataMapNode.lxx>
+
+#undef TheKey
+#undef TheKey_hxx
+#undef TheItem
+#undef TheItem_hxx
+#undef Hasher
+#undef Hasher_hxx
+#undef TCollection_IndexedDataMapNode
+#undef TCollection_IndexedDataMapNode_hxx
+#undef Handle_TCollection_IndexedDataMapNode
+#undef TCollection_IndexedDataMapNode_Type_
+#undef TCollection_IndexedDataMap
+#undef TCollection_IndexedDataMap_hxx
+
+
+// other Inline functions and methods (like "C++: function call" methods)
+//
+
+
+#endif
diff --git a/src/NMTDS/NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox_0.cxx b/src/NMTDS/NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox_0.cxx
new file mode 100644 (file)
index 0000000..7511761
--- /dev/null
@@ -0,0 +1,98 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#include <NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox.hxx>
+
+#ifndef _Standard_TypeMismatch_HeaderFile
+#include <Standard_TypeMismatch.hxx>
+#endif
+
+#ifndef _TopoDS_Shape_HeaderFile
+#include <TopoDS_Shape.hxx>
+#endif
+#ifndef _Bnd_Box_HeaderFile
+#include <Bnd_Box.hxx>
+#endif
+#ifndef _TopTools_ShapeMapHasher_HeaderFile
+#include <TopTools_ShapeMapHasher.hxx>
+#endif
+#ifndef _NMTDS_IndexedDataMapOfShapeBox_HeaderFile
+#include <NMTDS_IndexedDataMapOfShapeBox.hxx>
+#endif
+//NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox::~NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox() {}
+
+
+Standard_EXPORT Handle_Standard_Type& NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox_Type_()
+{
+
+    static Handle_Standard_Type aType1 = STANDARD_TYPE(TCollection_MapNode);
+  static Handle_Standard_Type aType2 = STANDARD_TYPE(MMgt_TShared);
+  static Handle_Standard_Type aType3 = STANDARD_TYPE(Standard_Transient);
+
+  static Handle_Standard_Transient _Ancestors[]= {aType1,aType2,aType3,NULL};
+  static Handle_Standard_Type _aType = new Standard_Type("NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox",
+                                                        sizeof(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox),
+                                                        1,
+                                                        (Standard_Address)_Ancestors,
+                                                        (Standard_Address)NULL);
+
+  return _aType;
+}
+
+
+// DownCast method
+//   allow safe downcasting
+//
+const Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox) Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox)::DownCast(const Handle(Standard_Transient)& AnObject) 
+{
+  Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox) _anOtherObject;
+
+  if (!AnObject.IsNull()) {
+     if (AnObject->IsKind(STANDARD_TYPE(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox))) {
+       _anOtherObject = Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox)((Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox)&)AnObject);
+     }
+  }
+
+  return _anOtherObject ;
+}
+const Handle(Standard_Type)& NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox::DynamicType() const 
+{ 
+  return STANDARD_TYPE(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox) ; 
+}
+//Standard_Boolean NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox::IsKind(const Handle(Standard_Type)& AType) const 
+//{ 
+//  return (STANDARD_TYPE(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox) == AType || TCollection_MapNode::IsKind(AType)); 
+//}
+//Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox::~Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox() {}
+#define TheKey TopoDS_Shape
+#define TheKey_hxx <TopoDS_Shape.hxx>
+#define TheItem Bnd_Box
+#define TheItem_hxx <Bnd_Box.hxx>
+#define Hasher TopTools_ShapeMapHasher
+#define Hasher_hxx <TopTools_ShapeMapHasher.hxx>
+#define TCollection_IndexedDataMapNode NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox
+#define TCollection_IndexedDataMapNode_hxx <NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox.hxx>
+#define Handle_TCollection_IndexedDataMapNode Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox
+#define TCollection_IndexedDataMapNode_Type_() NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox_Type_()
+#define TCollection_IndexedDataMap NMTDS_IndexedDataMapOfShapeBox
+#define TCollection_IndexedDataMap_hxx <NMTDS_IndexedDataMapOfShapeBox.hxx>
+#include <TCollection_IndexedDataMapNode.gxx>
+
index 4899fb0e0b32d80b592a12074a12a02ed3d8e1b0..0b1fef8e9e3373ef009f9798bd94b84ecb36699b 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -47,6 +47,7 @@ class NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInte
 #include <Standard_Macro.hxx>
 #endif
 
+
 class NMTDS_IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger  : public TCollection_BasicMap {
 
 public:
@@ -65,39 +66,67 @@ public:
       }
  // Methods PUBLIC
  // 
+
+
 Standard_EXPORT NMTDS_IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger(const Standard_Integer NbBuckets = 1);
+
+
 Standard_EXPORT   NMTDS_IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger& Assign(const NMTDS_IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger& Other) ;
   NMTDS_IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger& operator =(const NMTDS_IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger& Other) 
 {
   return Assign(Other);
 }
 
+
+
 Standard_EXPORT   void ReSize(const Standard_Integer NbBuckets) ;
+
+
 Standard_EXPORT   void Clear() ;
 ~NMTDS_IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger()
 {
   Clear();
 }
 
+
+
 Standard_EXPORT   Standard_Integer Add(const Standard_Integer& K,const BooleanOperations_IndexedDataMapOfShapeInteger& I) ;
+
+
 Standard_EXPORT   void Substitute(const Standard_Integer I,const Standard_Integer& K,const BooleanOperations_IndexedDataMapOfShapeInteger& T) ;
+
+
 Standard_EXPORT   void RemoveLast() ;
+
+
 Standard_EXPORT   Standard_Boolean Contains(const Standard_Integer& K) const;
+
+
 Standard_EXPORT  const Standard_Integer& FindKey(const Standard_Integer I) const;
+
+
 Standard_EXPORT  const BooleanOperations_IndexedDataMapOfShapeInteger& FindFromIndex(const Standard_Integer I) const;
  const BooleanOperations_IndexedDataMapOfShapeInteger& operator ()(const Standard_Integer I) const
 {
   return FindFromIndex(I);
 }
 
+
+
 Standard_EXPORT   BooleanOperations_IndexedDataMapOfShapeInteger& ChangeFromIndex(const Standard_Integer I) ;
   BooleanOperations_IndexedDataMapOfShapeInteger& operator ()(const Standard_Integer I) 
 {
   return ChangeFromIndex(I);
 }
 
+
+
 Standard_EXPORT   Standard_Integer FindIndex(const Standard_Integer& K) const;
+
+
 Standard_EXPORT  const BooleanOperations_IndexedDataMapOfShapeInteger& FindFromKey(const Standard_Integer& K) const;
+
+
 Standard_EXPORT   BooleanOperations_IndexedDataMapOfShapeInteger& ChangeFromKey(const Standard_Integer& K) ;
 
 
@@ -118,6 +147,8 @@ private:
 
  // Methods PRIVATE
  // 
+
+
 Standard_EXPORT NMTDS_IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger(const NMTDS_IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger& Other);
 
 
index b3eb5d36017e4533bc58d72faaaf6427ea48eba3..95760dc497adc347e636993f50ab45b2d62bceaa 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
diff --git a/src/NMTDS/NMTDS_IndexedDataMapOfIntegerShape.hxx b/src/NMTDS/NMTDS_IndexedDataMapOfIntegerShape.hxx
new file mode 100644 (file)
index 0000000..e9b04d0
--- /dev/null
@@ -0,0 +1,169 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _NMTDS_IndexedDataMapOfIntegerShape_HeaderFile
+#define _NMTDS_IndexedDataMapOfIntegerShape_HeaderFile
+
+#ifndef _TCollection_BasicMap_HeaderFile
+#include <TCollection_BasicMap.hxx>
+#endif
+#ifndef _Standard_Integer_HeaderFile
+#include <Standard_Integer.hxx>
+#endif
+#ifndef _Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape_HeaderFile
+#include <Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape.hxx>
+#endif
+#ifndef _Standard_Boolean_HeaderFile
+#include <Standard_Boolean.hxx>
+#endif
+class Standard_DomainError;
+class Standard_OutOfRange;
+class Standard_NoSuchObject;
+class TopoDS_Shape;
+class TColStd_MapIntegerHasher;
+class NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape;
+
+
+#ifndef _Standard_HeaderFile
+#include <Standard.hxx>
+#endif
+#ifndef _Standard_Macro_HeaderFile
+#include <Standard_Macro.hxx>
+#endif
+
+
+class NMTDS_IndexedDataMapOfIntegerShape  : public TCollection_BasicMap {
+
+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 NMTDS_IndexedDataMapOfIntegerShape(const Standard_Integer NbBuckets = 1);
+
+
+Standard_EXPORT   NMTDS_IndexedDataMapOfIntegerShape& Assign(const NMTDS_IndexedDataMapOfIntegerShape& Other) ;
+  NMTDS_IndexedDataMapOfIntegerShape& operator =(const NMTDS_IndexedDataMapOfIntegerShape& Other) 
+{
+  return Assign(Other);
+}
+
+
+
+Standard_EXPORT   void ReSize(const Standard_Integer NbBuckets) ;
+
+
+Standard_EXPORT   void Clear() ;
+~NMTDS_IndexedDataMapOfIntegerShape()
+{
+  Clear();
+}
+
+
+
+Standard_EXPORT   Standard_Integer Add(const Standard_Integer& K,const TopoDS_Shape& I) ;
+
+
+Standard_EXPORT   void Substitute(const Standard_Integer I,const Standard_Integer& K,const TopoDS_Shape& T) ;
+
+
+Standard_EXPORT   void RemoveLast() ;
+
+
+Standard_EXPORT   Standard_Boolean Contains(const Standard_Integer& K) const;
+
+
+Standard_EXPORT  const Standard_Integer& FindKey(const Standard_Integer I) const;
+
+
+Standard_EXPORT  const TopoDS_Shape& FindFromIndex(const Standard_Integer I) const;
+ const TopoDS_Shape& operator ()(const Standard_Integer I) const
+{
+  return FindFromIndex(I);
+}
+
+
+
+Standard_EXPORT   TopoDS_Shape& ChangeFromIndex(const Standard_Integer I) ;
+  TopoDS_Shape& operator ()(const Standard_Integer I) 
+{
+  return ChangeFromIndex(I);
+}
+
+
+
+Standard_EXPORT   Standard_Integer FindIndex(const Standard_Integer& K) const;
+
+
+Standard_EXPORT  const TopoDS_Shape& FindFromKey(const Standard_Integer& K) const;
+
+
+Standard_EXPORT   TopoDS_Shape& ChangeFromKey(const Standard_Integer& K) ;
+
+
+
+
+
+protected:
+
+ // Methods PROTECTED
+ // 
+
+
+ // Fields PROTECTED
+ //
+
+
+private: 
+
+ // Methods PRIVATE
+ // 
+
+
+Standard_EXPORT NMTDS_IndexedDataMapOfIntegerShape(const NMTDS_IndexedDataMapOfIntegerShape& Other);
+
+
+ // Fields PRIVATE
+ //
+
+
+};
+
+
+
+
+
+// other Inline functions and methods (like "C++: function call" methods)
+//
+
+
+#endif
diff --git a/src/NMTDS/NMTDS_IndexedDataMapOfIntegerShape_0.cxx b/src/NMTDS/NMTDS_IndexedDataMapOfIntegerShape_0.cxx
new file mode 100644 (file)
index 0000000..144b6a8
--- /dev/null
@@ -0,0 +1,55 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#include <NMTDS_IndexedDataMapOfIntegerShape.hxx>
+
+#ifndef _Standard_DomainError_HeaderFile
+#include <Standard_DomainError.hxx>
+#endif
+#ifndef _Standard_OutOfRange_HeaderFile
+#include <Standard_OutOfRange.hxx>
+#endif
+#ifndef _Standard_NoSuchObject_HeaderFile
+#include <Standard_NoSuchObject.hxx>
+#endif
+#ifndef _TopoDS_Shape_HeaderFile
+#include <TopoDS_Shape.hxx>
+#endif
+#ifndef _TColStd_MapIntegerHasher_HeaderFile
+#include <TColStd_MapIntegerHasher.hxx>
+#endif
+#ifndef _NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape_HeaderFile
+#include <NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape.hxx>
+#endif
+
+#define TheKey Standard_Integer
+#define TheKey_hxx <Standard_Integer.hxx>
+#define TheItem TopoDS_Shape
+#define TheItem_hxx <TopoDS_Shape.hxx>
+#define Hasher TColStd_MapIntegerHasher
+#define Hasher_hxx <TColStd_MapIntegerHasher.hxx>
+#define TCollection_IndexedDataMapNode NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape
+#define TCollection_IndexedDataMapNode_hxx <NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape.hxx>
+#define Handle_TCollection_IndexedDataMapNode Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape
+#define TCollection_IndexedDataMapNode_Type_() NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape_Type_()
+#define TCollection_IndexedDataMap NMTDS_IndexedDataMapOfIntegerShape
+#define TCollection_IndexedDataMap_hxx <NMTDS_IndexedDataMapOfIntegerShape.hxx>
+#include <TCollection_IndexedDataMap.gxx>
+
diff --git a/src/NMTDS/NMTDS_IndexedDataMapOfShapeBox.hxx b/src/NMTDS/NMTDS_IndexedDataMapOfShapeBox.hxx
new file mode 100644 (file)
index 0000000..9875229
--- /dev/null
@@ -0,0 +1,170 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _NMTDS_IndexedDataMapOfShapeBox_HeaderFile
+#define _NMTDS_IndexedDataMapOfShapeBox_HeaderFile
+
+#ifndef _TCollection_BasicMap_HeaderFile
+#include <TCollection_BasicMap.hxx>
+#endif
+#ifndef _Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox_HeaderFile
+#include <Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox.hxx>
+#endif
+#ifndef _Standard_Integer_HeaderFile
+#include <Standard_Integer.hxx>
+#endif
+#ifndef _Standard_Boolean_HeaderFile
+#include <Standard_Boolean.hxx>
+#endif
+class Standard_DomainError;
+class Standard_OutOfRange;
+class Standard_NoSuchObject;
+class TopoDS_Shape;
+class Bnd_Box;
+class TopTools_ShapeMapHasher;
+class NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox;
+
+
+#ifndef _Standard_HeaderFile
+#include <Standard.hxx>
+#endif
+#ifndef _Standard_Macro_HeaderFile
+#include <Standard_Macro.hxx>
+#endif
+
+
+class NMTDS_IndexedDataMapOfShapeBox  : public TCollection_BasicMap {
+
+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 NMTDS_IndexedDataMapOfShapeBox(const Standard_Integer NbBuckets = 1);
+
+
+Standard_EXPORT   NMTDS_IndexedDataMapOfShapeBox& Assign(const NMTDS_IndexedDataMapOfShapeBox& Other) ;
+  NMTDS_IndexedDataMapOfShapeBox& operator =(const NMTDS_IndexedDataMapOfShapeBox& Other) 
+{
+  return Assign(Other);
+}
+
+
+
+Standard_EXPORT   void ReSize(const Standard_Integer NbBuckets) ;
+
+
+Standard_EXPORT   void Clear() ;
+~NMTDS_IndexedDataMapOfShapeBox()
+{
+  Clear();
+}
+
+
+
+Standard_EXPORT   Standard_Integer Add(const TopoDS_Shape& K,const Bnd_Box& I) ;
+
+
+Standard_EXPORT   void Substitute(const Standard_Integer I,const TopoDS_Shape& K,const Bnd_Box& T) ;
+
+
+Standard_EXPORT   void RemoveLast() ;
+
+
+Standard_EXPORT   Standard_Boolean Contains(const TopoDS_Shape& K) const;
+
+
+Standard_EXPORT  const TopoDS_Shape& FindKey(const Standard_Integer I) const;
+
+
+Standard_EXPORT  const Bnd_Box& FindFromIndex(const Standard_Integer I) const;
+ const Bnd_Box& operator ()(const Standard_Integer I) const
+{
+  return FindFromIndex(I);
+}
+
+
+
+Standard_EXPORT   Bnd_Box& ChangeFromIndex(const Standard_Integer I) ;
+  Bnd_Box& operator ()(const Standard_Integer I) 
+{
+  return ChangeFromIndex(I);
+}
+
+
+
+Standard_EXPORT   Standard_Integer FindIndex(const TopoDS_Shape& K) const;
+
+
+Standard_EXPORT  const Bnd_Box& FindFromKey(const TopoDS_Shape& K) const;
+
+
+Standard_EXPORT   Bnd_Box& ChangeFromKey(const TopoDS_Shape& K) ;
+
+
+
+
+
+protected:
+
+ // Methods PROTECTED
+ // 
+
+
+ // Fields PROTECTED
+ //
+
+
+private: 
+
+ // Methods PRIVATE
+ // 
+
+
+Standard_EXPORT NMTDS_IndexedDataMapOfShapeBox(const NMTDS_IndexedDataMapOfShapeBox& Other);
+
+
+ // Fields PRIVATE
+ //
+
+
+};
+
+
+
+
+
+// other Inline functions and methods (like "C++: function call" methods)
+//
+
+
+#endif
diff --git a/src/NMTDS/NMTDS_IndexedDataMapOfShapeBox_0.cxx b/src/NMTDS/NMTDS_IndexedDataMapOfShapeBox_0.cxx
new file mode 100644 (file)
index 0000000..53b8ed3
--- /dev/null
@@ -0,0 +1,58 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#include <NMTDS_IndexedDataMapOfShapeBox.hxx>
+
+#ifndef _Standard_DomainError_HeaderFile
+#include <Standard_DomainError.hxx>
+#endif
+#ifndef _Standard_OutOfRange_HeaderFile
+#include <Standard_OutOfRange.hxx>
+#endif
+#ifndef _Standard_NoSuchObject_HeaderFile
+#include <Standard_NoSuchObject.hxx>
+#endif
+#ifndef _TopoDS_Shape_HeaderFile
+#include <TopoDS_Shape.hxx>
+#endif
+#ifndef _Bnd_Box_HeaderFile
+#include <Bnd_Box.hxx>
+#endif
+#ifndef _TopTools_ShapeMapHasher_HeaderFile
+#include <TopTools_ShapeMapHasher.hxx>
+#endif
+#ifndef _NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox_HeaderFile
+#include <NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox.hxx>
+#endif
+
+#define TheKey TopoDS_Shape
+#define TheKey_hxx <TopoDS_Shape.hxx>
+#define TheItem Bnd_Box
+#define TheItem_hxx <Bnd_Box.hxx>
+#define Hasher TopTools_ShapeMapHasher
+#define Hasher_hxx <TopTools_ShapeMapHasher.hxx>
+#define TCollection_IndexedDataMapNode NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox
+#define TCollection_IndexedDataMapNode_hxx <NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox.hxx>
+#define Handle_TCollection_IndexedDataMapNode Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox
+#define TCollection_IndexedDataMapNode_Type_() NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox_Type_()
+#define TCollection_IndexedDataMap NMTDS_IndexedDataMapOfShapeBox
+#define TCollection_IndexedDataMap_hxx <NMTDS_IndexedDataMapOfShapeBox.hxx>
+#include <TCollection_IndexedDataMap.gxx>
+
diff --git a/src/NMTDS/NMTDS_Iterator.cdl b/src/NMTDS/NMTDS_Iterator.cdl
new file mode 100755 (executable)
index 0000000..05a026a
--- /dev/null
@@ -0,0 +1,83 @@
+-- Copyright (C) 2006 SAMTECH
+-- 
+-- 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 
+-- 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 
+-- 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 
+-- 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:       NMTDS_Iterator.cdl
+-- Created:    Sun May 07 14:58:16 2006
+-- Author:     Peter KURNEV
+--             <peter@PREFEX>
+
+
+
+class Iterator from NMTDS 
+
+       ---Purpose: 
+
+uses  
+    DataMapOfIntegerListOfInteger from TColStd,
+    ShapeEnum from TopAbs, 
+    ShapesDataStructure  from NMTDS,
+    PShapesDataStructure from NMTDS,
+    ListOfPassKeyBoolean from NMTDS,
+    ListIteratorOfListOfPassKeyBoolean from NMTDS
+--raises
+
+is 
+    Create   
+       returns Iterator from NMTDS;
+    ---C++: alias "Standard_EXPORT virtual ~NMTDS_Iterator();" 
+    
+   
+    SetDS(me:out; 
+           pDS:PShapesDataStructure from NMTDS); 
+     
+    DS(me) 
+      returns ShapesDataStructure from NMTDS; 
+    ---C++:return const & 
+     
+    Initialize(me: out;  
+           aType1: ShapeEnum from TopAbs;
+           aType2: ShapeEnum from TopAbs); 
+    More(me)  
+       returns Boolean from Standard; 
+        
+    Next(me: out); 
+     
+    Current(me; aIndex1:out Integer from Standard;
+               aIndex2:out Integer from Standard;
+               aWithSubShape: out Boolean from Standard); 
+       
+    Prepare(me:out); 
+     
+    ExpectedLength(me) 
+       returns Integer from Standard;  
+        
+    SDVertices(me) 
+       returns DataMapOfIntegerListOfInteger from TColStd; 
+    ---C++:return const & 
+
+fields
+    myPDS      :PShapesDataStructure from NMTDS     is protected; 
+    myLists    :ListOfPassKeyBoolean from NMTDS [6] is protected;  
+    myIterator :ListIteratorOfListOfPassKeyBoolean from NMTDS is protected; 
+    myEmptyList:ListOfPassKeyBoolean from NMTDS is protected; 
+    myLength   :Integer from Standard is protected; 
+    --
+    myMVSD     :DataMapOfIntegerListOfInteger from TColStd is protected;     
+
+end Iterator;
diff --git a/src/NMTDS/NMTDS_Iterator.cxx b/src/NMTDS/NMTDS_Iterator.cxx
new file mode 100755 (executable)
index 0000000..d186736
--- /dev/null
@@ -0,0 +1,394 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// 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:       NMTDS_Iterator.cxx
+// Created:    Sun May 07 15:04:41 2006
+// Author:     Peter KURNEV
+//             <peter@PREFEX>
+
+
+#include <NMTDS_Iterator.ixx>
+#include <NMTDS_CArray1OfIndexRange.hxx>
+#include <NMTDS_IndexRange.hxx>
+#include <Bnd_Box.hxx>
+#include <TopoDS_Shape.hxx>
+#include <TColStd_ListOfInteger.hxx>
+#include <TColStd_Array1OfListOfInteger.hxx>
+#include <TColStd_ListIteratorOfListOfInteger.hxx>
+#include <TColStd_MapOfInteger.hxx>
+#include <TColStd_MapIteratorOfMapOfInteger.hxx>
+#include <NMTDS_PassKeyBoolean.hxx>
+#include <NMTDS_MapOfPassKeyBoolean.hxx>
+#include <NMTDS_IndexedDataMapOfShapeBox.hxx>
+#include <NMTDS_IndexedDataMapOfIntegerShape.hxx>
+#include <Bnd_HArray1OfBox.hxx>
+#include <Bnd_BoundSortBox.hxx>
+#include <TColStd_ListOfInteger.hxx>
+#include <TColStd_DataMapOfIntegerInteger.hxx>
+#include <TopTools_DataMapOfShapeInteger.hxx>
+#include <TColStd_DataMapOfIntegerListOfInteger.hxx>
+#include <TColStd_DataMapIteratorOfDataMapOfIntegerInteger.hxx>
+#include <TColStd_DataMapIteratorOfDataMapOfIntegerListOfInteger.hxx>
+#include <TColStd_MapOfInteger.hxx>
+
+#include <NMTDS_BoxBndTree.hxx>
+#include <NCollection_UBTreeFiller.hxx>
+
+static 
+  void ComputeBoxEx(const Standard_Integer aIx,
+                   NMTDS_ShapesDataStructure* pDS,
+                   Bnd_Box& aBoxEx);
+
+static inline
+  Standard_Boolean IsValidType(const TopAbs_ShapeEnum aT);
+
+static
+  Standard_Integer TypeToInteger(const TopAbs_ShapeEnum aType1,
+                                const TopAbs_ShapeEnum aType2);
+
+
+//=======================================================================
+//function : NMTDS_Iterator
+//purpose  : 
+//=======================================================================
+  NMTDS_Iterator::NMTDS_Iterator()
+{
+  myPDS=NULL; 
+  myLength=0;
+}
+//=======================================================================
+//function : ~NMTDS_Iterator
+//purpose  : 
+//=======================================================================
+  NMTDS_Iterator::~NMTDS_Iterator()
+{
+}
+//=======================================================================
+// function: SetDS
+// purpose: 
+//=======================================================================
+  void NMTDS_Iterator::SetDS(const NMTDS_PShapesDataStructure& aDS)
+{
+  myPDS=aDS;
+}
+//=======================================================================
+// function: DS
+// purpose: 
+//=======================================================================
+  const NMTDS_ShapesDataStructure&  NMTDS_Iterator::DS()const
+{
+  return *myPDS;
+}
+//=======================================================================
+// function: ExpectedLength
+// purpose: 
+//=======================================================================
+  Standard_Integer NMTDS_Iterator::ExpectedLength() const
+{
+  return myLength;
+}
+//=======================================================================
+// function: Initialize
+// purpose: 
+//=======================================================================
+  void NMTDS_Iterator::Initialize(const TopAbs_ShapeEnum aType1,
+                                 const TopAbs_ShapeEnum aType2)
+{
+  Standard_Integer iX;
+  //
+  iX=TypeToInteger(aType1, aType2);
+  if (iX>=0) {
+    myIterator.Initialize(myLists[iX]);
+    myLength=myLists[iX].Extent();
+  }
+  else {
+    myIterator.Initialize(myEmptyList);
+    myLength=0;
+  }
+}
+//=======================================================================
+// function: More
+// purpose: 
+//=======================================================================
+  Standard_Boolean NMTDS_Iterator::More()const
+{
+  return myIterator.More();
+}
+//=======================================================================
+// function: Next
+// purpose: 
+//=======================================================================
+  void NMTDS_Iterator::Next()
+{
+  myIterator.Next();
+}
+//=======================================================================
+// function: Current
+// purpose: 
+//=======================================================================
+  void NMTDS_Iterator::Current(Standard_Integer& aIndex1,
+                              Standard_Integer& aIndex2,
+                              Standard_Boolean& aWithSubShape) const
+{
+  const NMTDS_PassKeyBoolean& aPKB=myIterator.Value();
+  aPKB.Ids(aIndex1, aIndex2);
+  aWithSubShape=aPKB.Flag();
+}
+//=======================================================================
+// function: SDVertices
+// purpose: 
+//=======================================================================
+  const TColStd_DataMapOfIntegerListOfInteger& NMTDS_Iterator::SDVertices()const
+{
+  return myMVSD;
+}
+
+//=======================================================================
+// function: Prepare
+// purpose: 
+//=======================================================================
+  void NMTDS_Iterator::Prepare()
+{
+  Standard_Boolean bFlag;
+  Standard_Integer aNb, i, aNbB, aNbR;
+  Standard_Integer i1, i2, aNbSD, iX, j, iDS, jB, iR, k, aNbLV;
+  TColStd_ListIteratorOfListOfInteger aIt;
+  TColStd_DataMapOfIntegerInteger aMII;
+  TColStd_MapOfInteger aMFence;
+  TopTools_DataMapOfShapeInteger aMSI;
+  TopAbs_ShapeEnum aTi, aTj;
+  NMTDS_PassKeyBoolean aPKXB; 
+  NMTDS_MapOfPassKeyBoolean aMPKXB;
+  NMTDS_IndexedDataMapOfShapeBox aMSB;
+  Handle(Bnd_HArray1OfBox) aHAB;
+  Bnd_BoundSortBox aBSB;
+  //
+  NMTDS_BoxBndTreeSelector aSelector;
+  NMTDS_BoxBndTree aBBTree;
+  NCollection_UBTreeFiller <Standard_Integer, Bnd_Box> aTreeFiller(aBBTree);
+  //
+  if (myPDS==NULL){
+    return;
+  }
+  //
+  myLength=0;
+  for (i=0; i<6; ++i) {
+    myLists[i].Clear();
+  }
+  myMVSD.Clear();
+  //
+  const NMTDS_CArray1OfIndexRange& aRanges=myPDS->Ranges();
+  aNbR=aRanges.Extent();
+  //
+  aNb=myPDS->NumberOfShapesOfTheObject();
+  for (i=1; i<=aNb; ++i) {
+    const TopoDS_Shape& aS=myPDS->Shape(i);
+    aTi=aS.ShapeType();
+    if (IsValidType(aTi)) {
+      Bnd_Box aBoxEx;
+      //
+      ComputeBoxEx(i, myPDS, aBoxEx);
+      aMSI.Bind(aS, i);
+      aMSB.Add(aS, aBoxEx);
+    }
+  }
+  //
+  aNbB=aMSB.Extent();
+  //
+  for (i=1; i<=aNbB; ++i) {
+    const TopoDS_Shape& aS=aMSB.FindKey(i);
+    const Bnd_Box& aBoxEx=aMSB(i);
+    //
+    aTreeFiller.Add(i, aBoxEx);
+    //
+    iDS=aMSI.Find(aS);
+    aMII.Bind(i, iDS);
+  }
+  //
+  aTreeFiller.Fill();
+  //
+  for (iR=1; iR<aNbR; ++iR) {
+    const NMTDS_IndexRange& aR=aRanges(iR);
+    i1=aR.First();
+    i2=aR.Last();
+    for (i=i1; i<=i2; ++i) {
+      const TopoDS_Shape& aSi=myPDS->Shape(i);
+      aTi=aSi.ShapeType();
+      if (!IsValidType(aTi)){
+       continue;
+      }
+      const Bnd_Box& aBoxEx=aMSB.FindFromKey(aSi);
+      aSelector.Clear();
+      aSelector.SetBox(aBoxEx);
+      //
+      aNbSD=aBBTree.Select(aSelector);
+      //
+      if (!aNbSD){
+       continue;
+      }
+      //
+      const TColStd_ListOfInteger& aLI=aSelector.Indices();
+      //
+      k=0;
+      TColStd_ListOfInteger aLV;
+      //
+      aIt.Initialize(aLI);
+      for (; aIt.More(); aIt.Next()) {
+       jB=aIt.Value();  // box index in MII
+       j=aMII.Find(jB); // DS index
+       if (j>=i1 && j<=i2) {
+         continue;// same range
+       }
+       //
+       aPKXB.SetIds(i, j);
+       if (aMPKXB.Add(aPKXB)) {
+         bFlag=Standard_False;// Bounding boxes are intersected
+         const Bnd_Box& aBoxi=myPDS->GetBoundingBox(i);
+         const Bnd_Box& aBoxj=myPDS->GetBoundingBox(j);
+         if (aBoxi.IsOut(aBoxj)) {
+           bFlag=!bFlag; //Bounding boxes of Sub-shapes are intersected
+         }
+         const TopoDS_Shape& aSj=myPDS->Shape(j);
+         aTj=aSj.ShapeType();
+         iX=TypeToInteger(aTi, aTj);
+         
+         aPKXB.SetFlag(bFlag);
+         myLists[iX].Append(aPKXB);
+         //
+         // VSD prepare
+         if (iX==5) { //VV
+           if (aMFence.Add(j)) {
+             aLV.Append(j);
+           }
+         }
+       }// if (aMPKXB.Add(aPKXB)) {
+      }// for (; aIt.More(); aIt.Next()) {
+      //
+      // VSD treatment
+      aNbLV=aLV.Extent();
+      if (aNbLV) {
+       myMVSD.Bind(i, aLV);
+      }
+    }//for (i=i1; i<=i2; ++i) {
+  }//for (iR=1; iR<aNbR; ++iR) {
+}
+
+//=======================================================================
+// function: IsValidType
+// purpose: 
+//=======================================================================
+Standard_Boolean IsValidType(const TopAbs_ShapeEnum aTi)
+{
+  return (aTi==TopAbs_VERTEX || aTi==TopAbs_EDGE || aTi==TopAbs_FACE);
+}
+//=======================================================================
+// function: ComputeBoxEx
+// purpose: 
+//=======================================================================
+  void ComputeBoxEx(const Standard_Integer aIx,
+                   NMTDS_ShapesDataStructure* pDS,
+                   Bnd_Box& aBoxEx)
+{
+  Standard_Integer i, aNbS, iS;
+  //
+  const Bnd_Box& aBox=pDS->GetBoundingBox(aIx);
+  aBoxEx.Add(aBox);
+  //
+  aNbS=pDS->NumberOfSuccessors(aIx);
+  for (i=1; i<=aNbS; ++i) {
+    Bnd_Box aBoxS;
+    iS=pDS->GetSuccessor(aIx, i);
+    ComputeBoxEx(iS, pDS, aBoxS);
+    aBoxEx.Add(aBoxS);
+  }
+}
+
+//=======================================================================
+// function: TypeToInteger
+// purpose: 
+//=======================================================================
+Standard_Integer TypeToInteger(const TopAbs_ShapeEnum aType1,
+                              const TopAbs_ShapeEnum aType2)
+{
+  Standard_Integer iRet, iT1, iT2, iX;
+  //
+  iRet=-1;
+  iT1=(Standard_Integer)aType1;
+  iT2=(Standard_Integer)aType2;
+  //
+  iX=iT2*10+iT1;
+  switch (iX) {
+    case 77:
+      iRet=5; // VV
+      break;
+    case 76:
+    case 67:
+      iRet=4; // VE
+      break;
+    case 74:
+    case 47:
+      iRet=2; // VF
+      break;
+    case 66:
+      iRet=3; // EE
+      break;
+    case 64:
+    case 46:
+      iRet=1; // EF
+      break;
+    case 44:
+      iRet=0; // FF
+      break;
+    default:
+      break;
+  }
+  return iRet; 
+}
+
+/*
+//
+  // check
+  TColStd_DataMapIteratorOfDataMapOfIntegerListOfInteger aIt1;
+  TColStd_DataMapIteratorOfDataMapOfIntegerInteger aIt2;
+  //
+  printf(" \n");
+  printf(" aMVLV.Extent()=%d\n", aMVLV.Extent());
+  aIt1.Initialize(aMVLV);
+  for (; aIt1.More(); aIt1.Next()) {
+    i=aIt1.Key();
+    printf(" i=%d (", i);
+    const TColStd_ListOfInteger& aLV=aIt1.Value();
+    aIt.Initialize(aLV);
+    for (; aIt.More(); aIt.Next()) {
+      j=aIt.Value();
+      printf(" %d", j);
+    }
+    printf(")\n");
+  }
+  //
+  printf(" \n");
+  printf(" aMVV.Extent()=%d\n", aMVV.Extent());
+  aIt2.Initialize(aMVV);
+  for (; aIt2.More(); aIt2.Next()) {
+    i=aIt2.Key();
+    j=aIt2.Value();
+    printf(" (%d, %d)\n", i, j);
+  }
+  printf("\n");
+*/
diff --git a/src/NMTDS/NMTDS_Iterator.hxx b/src/NMTDS/NMTDS_Iterator.hxx
new file mode 100644 (file)
index 0000000..d2d260c
--- /dev/null
@@ -0,0 +1,146 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _NMTDS_Iterator_HeaderFile
+#define _NMTDS_Iterator_HeaderFile
+
+#ifndef _NMTDS_PShapesDataStructure_HeaderFile
+#include <NMTDS_PShapesDataStructure.hxx>
+#endif
+#ifndef _NMTDS_ListOfPassKeyBoolean_HeaderFile
+#include <NMTDS_ListOfPassKeyBoolean.hxx>
+#endif
+#ifndef _NMTDS_ListIteratorOfListOfPassKeyBoolean_HeaderFile
+#include <NMTDS_ListIteratorOfListOfPassKeyBoolean.hxx>
+#endif
+#ifndef _Standard_Integer_HeaderFile
+#include <Standard_Integer.hxx>
+#endif
+#ifndef _TColStd_DataMapOfIntegerListOfInteger_HeaderFile
+#include <TColStd_DataMapOfIntegerListOfInteger.hxx>
+#endif
+#ifndef _TopAbs_ShapeEnum_HeaderFile
+#include <TopAbs_ShapeEnum.hxx>
+#endif
+#ifndef _Standard_Boolean_HeaderFile
+#include <Standard_Boolean.hxx>
+#endif
+class NMTDS_ShapesDataStructure;
+class TColStd_DataMapOfIntegerListOfInteger;
+
+
+#ifndef _Standard_HeaderFile
+#include <Standard.hxx>
+#endif
+#ifndef _Standard_Macro_HeaderFile
+#include <Standard_Macro.hxx>
+#endif
+
+
+class NMTDS_Iterator  {
+
+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 NMTDS_Iterator();
+Standard_EXPORT virtual ~NMTDS_Iterator();
+
+
+Standard_EXPORT   void SetDS(const NMTDS_PShapesDataStructure& pDS) ;
+
+
+Standard_EXPORT  const NMTDS_ShapesDataStructure& DS() const;
+
+
+Standard_EXPORT   void Initialize(const TopAbs_ShapeEnum aType1,const TopAbs_ShapeEnum aType2) ;
+
+
+Standard_EXPORT   Standard_Boolean More() const;
+
+
+Standard_EXPORT   void Next() ;
+
+
+Standard_EXPORT   void Current(Standard_Integer& aIndex1,Standard_Integer& aIndex2,Standard_Boolean& aWithSubShape) const;
+
+
+Standard_EXPORT   void Prepare() ;
+
+
+Standard_EXPORT   Standard_Integer ExpectedLength() const;
+
+
+Standard_EXPORT  const TColStd_DataMapOfIntegerListOfInteger& SDVertices() const;
+
+
+
+
+
+protected:
+
+ // Methods PROTECTED
+ // 
+
+
+ // Fields PROTECTED
+ //
+NMTDS_PShapesDataStructure myPDS;
+NMTDS_ListOfPassKeyBoolean myLists[6];
+NMTDS_ListIteratorOfListOfPassKeyBoolean myIterator;
+NMTDS_ListOfPassKeyBoolean myEmptyList;
+Standard_Integer myLength;
+TColStd_DataMapOfIntegerListOfInteger myMVSD;
+
+
+private: 
+
+ // Methods PRIVATE
+ // 
+
+
+ // Fields PRIVATE
+ //
+
+
+};
+
+
+
+
+
+// other Inline functions and methods (like "C++: function call" methods)
+//
+
+
+#endif
diff --git a/src/NMTDS/NMTDS_Iterator.ixx b/src/NMTDS/NMTDS_Iterator.ixx
new file mode 100644 (file)
index 0000000..adb6c90
--- /dev/null
@@ -0,0 +1,24 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#include <NMTDS_Iterator.jxx>
+
+
+
diff --git a/src/NMTDS/NMTDS_Iterator.jxx b/src/NMTDS/NMTDS_Iterator.jxx
new file mode 100644 (file)
index 0000000..4a0e4fb
--- /dev/null
@@ -0,0 +1,28 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _NMTDS_ShapesDataStructure_HeaderFile
+#include <NMTDS_ShapesDataStructure.hxx>
+#endif
+#ifndef _TColStd_DataMapOfIntegerListOfInteger_HeaderFile
+#include <TColStd_DataMapOfIntegerListOfInteger.hxx>
+#endif
+#ifndef _NMTDS_Iterator_HeaderFile
+#include <NMTDS_Iterator.hxx>
+#endif
index 767db6c4eb3246bed594d6de49ca0e18f7b6ec28..3316ee82c0c3311626739c7781b9aaa3bb421544 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -43,6 +43,7 @@ class NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors;
 #include <Standard_Macro.hxx>
 #endif
 
+
 class NMTDS_ListIteratorOfListOfIndexedDataMapOfShapeAncestorsSuccessors  {
 
 public:
@@ -61,11 +62,22 @@ public:
       }
  // Methods PUBLIC
  // 
+
+
 Standard_EXPORT NMTDS_ListIteratorOfListOfIndexedDataMapOfShapeAncestorsSuccessors();
+
+
 Standard_EXPORT NMTDS_ListIteratorOfListOfIndexedDataMapOfShapeAncestorsSuccessors(const NMTDS_ListOfIndexedDataMapOfShapeAncestorsSuccessors& L);
+
+
 Standard_EXPORT   void Initialize(const NMTDS_ListOfIndexedDataMapOfShapeAncestorsSuccessors& L) ;
+
   Standard_Boolean More() const;
+
+
 Standard_EXPORT   void Next() ;
+
+
 Standard_EXPORT   BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& Value() const;
 
 
index 4698ffe4ad1da2b663be4a1c57faf188ed4528f3..e3884deaa763b547ca4b78a8f5c84d16250065b1 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
diff --git a/src/NMTDS/NMTDS_ListIteratorOfListOfPassKey.hxx b/src/NMTDS/NMTDS_ListIteratorOfListOfPassKey.hxx
new file mode 100644 (file)
index 0000000..bf3646a
--- /dev/null
@@ -0,0 +1,141 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _NMTDS_ListIteratorOfListOfPassKey_HeaderFile
+#define _NMTDS_ListIteratorOfListOfPassKey_HeaderFile
+
+#ifndef _Standard_Address_HeaderFile
+#include <Standard_Address.hxx>
+#endif
+#ifndef _Handle_NMTDS_ListNodeOfListOfPassKey_HeaderFile
+#include <Handle_NMTDS_ListNodeOfListOfPassKey.hxx>
+#endif
+#ifndef _Standard_Boolean_HeaderFile
+#include <Standard_Boolean.hxx>
+#endif
+class Standard_NoMoreObject;
+class Standard_NoSuchObject;
+class NMTDS_ListOfPassKey;
+class NMTDS_PassKey;
+class NMTDS_ListNodeOfListOfPassKey;
+
+
+#ifndef _Standard_HeaderFile
+#include <Standard.hxx>
+#endif
+#ifndef _Standard_Macro_HeaderFile
+#include <Standard_Macro.hxx>
+#endif
+
+
+class NMTDS_ListIteratorOfListOfPassKey  {
+
+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 NMTDS_ListIteratorOfListOfPassKey();
+
+
+Standard_EXPORT NMTDS_ListIteratorOfListOfPassKey(const NMTDS_ListOfPassKey& L);
+
+
+Standard_EXPORT   void Initialize(const NMTDS_ListOfPassKey& L) ;
+
+  Standard_Boolean More() const;
+
+
+Standard_EXPORT   void Next() ;
+
+
+Standard_EXPORT   NMTDS_PassKey& Value() const;
+
+
+friend class NMTDS_ListOfPassKey;
+
+
+
+protected:
+
+ // Methods PROTECTED
+ // 
+
+
+ // Fields PROTECTED
+ //
+
+
+private: 
+
+ // Methods PRIVATE
+ // 
+
+
+ // Fields PRIVATE
+ //
+Standard_Address current;
+Standard_Address previous;
+
+
+};
+
+#define Item NMTDS_PassKey
+#define Item_hxx <NMTDS_PassKey.hxx>
+#define TCollection_ListNode NMTDS_ListNodeOfListOfPassKey
+#define TCollection_ListNode_hxx <NMTDS_ListNodeOfListOfPassKey.hxx>
+#define TCollection_ListIterator NMTDS_ListIteratorOfListOfPassKey
+#define TCollection_ListIterator_hxx <NMTDS_ListIteratorOfListOfPassKey.hxx>
+#define Handle_TCollection_ListNode Handle_NMTDS_ListNodeOfListOfPassKey
+#define TCollection_ListNode_Type_() NMTDS_ListNodeOfListOfPassKey_Type_()
+#define TCollection_List NMTDS_ListOfPassKey
+#define TCollection_List_hxx <NMTDS_ListOfPassKey.hxx>
+
+#include <TCollection_ListIterator.lxx>
+
+#undef Item
+#undef Item_hxx
+#undef TCollection_ListNode
+#undef TCollection_ListNode_hxx
+#undef TCollection_ListIterator
+#undef TCollection_ListIterator_hxx
+#undef Handle_TCollection_ListNode
+#undef TCollection_ListNode_Type_
+#undef TCollection_List
+#undef TCollection_List_hxx
+
+
+// other Inline functions and methods (like "C++: function call" methods)
+//
+
+
+#endif
diff --git a/src/NMTDS/NMTDS_ListIteratorOfListOfPassKeyBoolean.hxx b/src/NMTDS/NMTDS_ListIteratorOfListOfPassKeyBoolean.hxx
new file mode 100644 (file)
index 0000000..bd2e0e0
--- /dev/null
@@ -0,0 +1,141 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _NMTDS_ListIteratorOfListOfPassKeyBoolean_HeaderFile
+#define _NMTDS_ListIteratorOfListOfPassKeyBoolean_HeaderFile
+
+#ifndef _Standard_Address_HeaderFile
+#include <Standard_Address.hxx>
+#endif
+#ifndef _Handle_NMTDS_ListNodeOfListOfPassKeyBoolean_HeaderFile
+#include <Handle_NMTDS_ListNodeOfListOfPassKeyBoolean.hxx>
+#endif
+#ifndef _Standard_Boolean_HeaderFile
+#include <Standard_Boolean.hxx>
+#endif
+class Standard_NoMoreObject;
+class Standard_NoSuchObject;
+class NMTDS_ListOfPassKeyBoolean;
+class NMTDS_PassKeyBoolean;
+class NMTDS_ListNodeOfListOfPassKeyBoolean;
+
+
+#ifndef _Standard_HeaderFile
+#include <Standard.hxx>
+#endif
+#ifndef _Standard_Macro_HeaderFile
+#include <Standard_Macro.hxx>
+#endif
+
+
+class NMTDS_ListIteratorOfListOfPassKeyBoolean  {
+
+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 NMTDS_ListIteratorOfListOfPassKeyBoolean();
+
+
+Standard_EXPORT NMTDS_ListIteratorOfListOfPassKeyBoolean(const NMTDS_ListOfPassKeyBoolean& L);
+
+
+Standard_EXPORT   void Initialize(const NMTDS_ListOfPassKeyBoolean& L) ;
+
+  Standard_Boolean More() const;
+
+
+Standard_EXPORT   void Next() ;
+
+
+Standard_EXPORT   NMTDS_PassKeyBoolean& Value() const;
+
+
+friend class NMTDS_ListOfPassKeyBoolean;
+
+
+
+protected:
+
+ // Methods PROTECTED
+ // 
+
+
+ // Fields PROTECTED
+ //
+
+
+private: 
+
+ // Methods PRIVATE
+ // 
+
+
+ // Fields PRIVATE
+ //
+Standard_Address current;
+Standard_Address previous;
+
+
+};
+
+#define Item NMTDS_PassKeyBoolean
+#define Item_hxx <NMTDS_PassKeyBoolean.hxx>
+#define TCollection_ListNode NMTDS_ListNodeOfListOfPassKeyBoolean
+#define TCollection_ListNode_hxx <NMTDS_ListNodeOfListOfPassKeyBoolean.hxx>
+#define TCollection_ListIterator NMTDS_ListIteratorOfListOfPassKeyBoolean
+#define TCollection_ListIterator_hxx <NMTDS_ListIteratorOfListOfPassKeyBoolean.hxx>
+#define Handle_TCollection_ListNode Handle_NMTDS_ListNodeOfListOfPassKeyBoolean
+#define TCollection_ListNode_Type_() NMTDS_ListNodeOfListOfPassKeyBoolean_Type_()
+#define TCollection_List NMTDS_ListOfPassKeyBoolean
+#define TCollection_List_hxx <NMTDS_ListOfPassKeyBoolean.hxx>
+
+#include <TCollection_ListIterator.lxx>
+
+#undef Item
+#undef Item_hxx
+#undef TCollection_ListNode
+#undef TCollection_ListNode_hxx
+#undef TCollection_ListIterator
+#undef TCollection_ListIterator_hxx
+#undef Handle_TCollection_ListNode
+#undef TCollection_ListNode_Type_
+#undef TCollection_List
+#undef TCollection_List_hxx
+
+
+// other Inline functions and methods (like "C++: function call" methods)
+//
+
+
+#endif
diff --git a/src/NMTDS/NMTDS_ListIteratorOfListOfPassKeyBoolean_0.cxx b/src/NMTDS/NMTDS_ListIteratorOfListOfPassKeyBoolean_0.cxx
new file mode 100644 (file)
index 0000000..a0daa15
--- /dev/null
@@ -0,0 +1,50 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#include <NMTDS_ListIteratorOfListOfPassKeyBoolean.hxx>
+
+#ifndef _Standard_NoMoreObject_HeaderFile
+#include <Standard_NoMoreObject.hxx>
+#endif
+#ifndef _Standard_NoSuchObject_HeaderFile
+#include <Standard_NoSuchObject.hxx>
+#endif
+#ifndef _NMTDS_ListOfPassKeyBoolean_HeaderFile
+#include <NMTDS_ListOfPassKeyBoolean.hxx>
+#endif
+#ifndef _NMTDS_PassKeyBoolean_HeaderFile
+#include <NMTDS_PassKeyBoolean.hxx>
+#endif
+#ifndef _NMTDS_ListNodeOfListOfPassKeyBoolean_HeaderFile
+#include <NMTDS_ListNodeOfListOfPassKeyBoolean.hxx>
+#endif
+
+#define Item NMTDS_PassKeyBoolean
+#define Item_hxx <NMTDS_PassKeyBoolean.hxx>
+#define TCollection_ListNode NMTDS_ListNodeOfListOfPassKeyBoolean
+#define TCollection_ListNode_hxx <NMTDS_ListNodeOfListOfPassKeyBoolean.hxx>
+#define TCollection_ListIterator NMTDS_ListIteratorOfListOfPassKeyBoolean
+#define TCollection_ListIterator_hxx <NMTDS_ListIteratorOfListOfPassKeyBoolean.hxx>
+#define Handle_TCollection_ListNode Handle_NMTDS_ListNodeOfListOfPassKeyBoolean
+#define TCollection_ListNode_Type_() NMTDS_ListNodeOfListOfPassKeyBoolean_Type_()
+#define TCollection_List NMTDS_ListOfPassKeyBoolean
+#define TCollection_List_hxx <NMTDS_ListOfPassKeyBoolean.hxx>
+#include <TCollection_ListIterator.gxx>
+
diff --git a/src/NMTDS/NMTDS_ListIteratorOfListOfPassKey_0.cxx b/src/NMTDS/NMTDS_ListIteratorOfListOfPassKey_0.cxx
new file mode 100644 (file)
index 0000000..de084cc
--- /dev/null
@@ -0,0 +1,50 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#include <NMTDS_ListIteratorOfListOfPassKey.hxx>
+
+#ifndef _Standard_NoMoreObject_HeaderFile
+#include <Standard_NoMoreObject.hxx>
+#endif
+#ifndef _Standard_NoSuchObject_HeaderFile
+#include <Standard_NoSuchObject.hxx>
+#endif
+#ifndef _NMTDS_ListOfPassKey_HeaderFile
+#include <NMTDS_ListOfPassKey.hxx>
+#endif
+#ifndef _NMTDS_PassKey_HeaderFile
+#include <NMTDS_PassKey.hxx>
+#endif
+#ifndef _NMTDS_ListNodeOfListOfPassKey_HeaderFile
+#include <NMTDS_ListNodeOfListOfPassKey.hxx>
+#endif
+
+#define Item NMTDS_PassKey
+#define Item_hxx <NMTDS_PassKey.hxx>
+#define TCollection_ListNode NMTDS_ListNodeOfListOfPassKey
+#define TCollection_ListNode_hxx <NMTDS_ListNodeOfListOfPassKey.hxx>
+#define TCollection_ListIterator NMTDS_ListIteratorOfListOfPassKey
+#define TCollection_ListIterator_hxx <NMTDS_ListIteratorOfListOfPassKey.hxx>
+#define Handle_TCollection_ListNode Handle_NMTDS_ListNodeOfListOfPassKey
+#define TCollection_ListNode_Type_() NMTDS_ListNodeOfListOfPassKey_Type_()
+#define TCollection_List NMTDS_ListOfPassKey
+#define TCollection_List_hxx <NMTDS_ListOfPassKey.hxx>
+#include <TCollection_ListIterator.gxx>
+
index 13b7a121c4ac377b185b687d5c4a9ef0a97425d7..05fe687bb8a2b4bd48e0566977d79c5e81f91f83 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -41,36 +41,25 @@ class NMTDS_ListOfIndexedDataMapOfShapeAncestorsSuccessors;
 class NMTDS_ListIteratorOfListOfIndexedDataMapOfShapeAncestorsSuccessors;
 
 
+
 class NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors : public TCollection_MapNode {
 
 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
  // 
+
 NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors(const BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& I,const TCollection_MapNodePtr& n);
+
   BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& Value() const;
-Standard_EXPORT ~NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors();
+//Standard_EXPORT ~NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors();
 
 
 
 
  // Type management
  //
- Standard_EXPORT friend Handle_Standard_Type& NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors_Type_();
  Standard_EXPORT const Handle(Standard_Type)& DynamicType() const;
Standard_EXPORT Standard_Boolean             IsKind(const Handle(Standard_Type)&) const;
//Standard_EXPORT Standard_Boolean           IsKind(const Handle(Standard_Type)&) const;
 
 protected:
 
index 49e69a3961e4182a5f0050676e1173b0ace7de41..f354af53106de9aa87ef968f1fcb61c1ea136e72 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -32,7 +32,7 @@
 #ifndef _NMTDS_ListIteratorOfListOfIndexedDataMapOfShapeAncestorsSuccessors_HeaderFile
 #include <NMTDS_ListIteratorOfListOfIndexedDataMapOfShapeAncestorsSuccessors.hxx>
 #endif
-NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors::~NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors() {}
+//NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors::~NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors() {}
  
 
 
@@ -40,11 +40,8 @@ Standard_EXPORT Handle_Standard_Type& NMTDS_ListNodeOfListOfIndexedDataMapOfShap
 {
 
     static Handle_Standard_Type aType1 = STANDARD_TYPE(TCollection_MapNode);
-  if ( aType1.IsNull()) aType1 = STANDARD_TYPE(TCollection_MapNode);
   static Handle_Standard_Type aType2 = STANDARD_TYPE(MMgt_TShared);
-  if ( aType2.IsNull()) aType2 = STANDARD_TYPE(MMgt_TShared);
   static Handle_Standard_Type aType3 = STANDARD_TYPE(Standard_Transient);
-  if ( aType3.IsNull()) aType3 = STANDARD_TYPE(Standard_Transient);
  
 
   static Handle_Standard_Transient _Ancestors[]= {aType1,aType2,aType3,NULL};
@@ -77,11 +74,11 @@ const Handle(Standard_Type)& NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestor
 { 
   return STANDARD_TYPE(NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors) ; 
 }
-Standard_Boolean NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors::IsKind(const Handle(Standard_Type)& AType) const 
-{ 
-  return (STANDARD_TYPE(NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors) == AType || TCollection_MapNode::IsKind(AType)); 
-}
-Handle_NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors::~Handle_NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors() {}
+//Standard_Boolean NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors::IsKind(const Handle(Standard_Type)& AType) const 
+//
+//  return (STANDARD_TYPE(NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors) == AType || TCollection_MapNode::IsKind(AType)); 
+//}
+//Handle_NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors::~Handle_NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors() {}
 #define Item BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors
 #define Item_hxx <BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors.hxx>
 #define TCollection_ListNode NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors
diff --git a/src/NMTDS/NMTDS_ListNodeOfListOfPassKey.hxx b/src/NMTDS/NMTDS_ListNodeOfListOfPassKey.hxx
new file mode 100644 (file)
index 0000000..160d2fb
--- /dev/null
@@ -0,0 +1,116 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _NMTDS_ListNodeOfListOfPassKey_HeaderFile
+#define _NMTDS_ListNodeOfListOfPassKey_HeaderFile
+
+#ifndef _Standard_HeaderFile
+#include <Standard.hxx>
+#endif
+#ifndef _Handle_NMTDS_ListNodeOfListOfPassKey_HeaderFile
+#include <Handle_NMTDS_ListNodeOfListOfPassKey.hxx>
+#endif
+
+#ifndef _NMTDS_PassKey_HeaderFile
+#include <NMTDS_PassKey.hxx>
+#endif
+#ifndef _TCollection_MapNode_HeaderFile
+#include <TCollection_MapNode.hxx>
+#endif
+#ifndef _TCollection_MapNodePtr_HeaderFile
+#include <TCollection_MapNodePtr.hxx>
+#endif
+class NMTDS_PassKey;
+class NMTDS_ListOfPassKey;
+class NMTDS_ListIteratorOfListOfPassKey;
+
+
+
+class NMTDS_ListNodeOfListOfPassKey : public TCollection_MapNode {
+
+public:
+ // Methods PUBLIC
+ // 
+
+NMTDS_ListNodeOfListOfPassKey(const NMTDS_PassKey& I,const TCollection_MapNodePtr& n);
+
+  NMTDS_PassKey& Value() const;
+//Standard_EXPORT ~NMTDS_ListNodeOfListOfPassKey();
+
+
+
+
+ // Type management
+ //
+ Standard_EXPORT const Handle(Standard_Type)& DynamicType() const;
+ //Standard_EXPORT Standard_Boolean           IsKind(const Handle(Standard_Type)&) const;
+
+protected:
+
+ // Methods PROTECTED
+ // 
+
+
+ // Fields PROTECTED
+ //
+
+
+private: 
+
+ // Methods PRIVATE
+ // 
+
+
+ // Fields PRIVATE
+ //
+NMTDS_PassKey myValue;
+
+
+};
+
+#define Item NMTDS_PassKey
+#define Item_hxx <NMTDS_PassKey.hxx>
+#define TCollection_ListNode NMTDS_ListNodeOfListOfPassKey
+#define TCollection_ListNode_hxx <NMTDS_ListNodeOfListOfPassKey.hxx>
+#define TCollection_ListIterator NMTDS_ListIteratorOfListOfPassKey
+#define TCollection_ListIterator_hxx <NMTDS_ListIteratorOfListOfPassKey.hxx>
+#define Handle_TCollection_ListNode Handle_NMTDS_ListNodeOfListOfPassKey
+#define TCollection_ListNode_Type_() NMTDS_ListNodeOfListOfPassKey_Type_()
+#define TCollection_List NMTDS_ListOfPassKey
+#define TCollection_List_hxx <NMTDS_ListOfPassKey.hxx>
+
+#include <TCollection_ListNode.lxx>
+
+#undef Item
+#undef Item_hxx
+#undef TCollection_ListNode
+#undef TCollection_ListNode_hxx
+#undef TCollection_ListIterator
+#undef TCollection_ListIterator_hxx
+#undef Handle_TCollection_ListNode
+#undef TCollection_ListNode_Type_
+#undef TCollection_List
+#undef TCollection_List_hxx
+
+
+// other Inline functions and methods (like "C++: function call" methods)
+//
+
+
+#endif
diff --git a/src/NMTDS/NMTDS_ListNodeOfListOfPassKeyBoolean.hxx b/src/NMTDS/NMTDS_ListNodeOfListOfPassKeyBoolean.hxx
new file mode 100644 (file)
index 0000000..a6e96e6
--- /dev/null
@@ -0,0 +1,116 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _NMTDS_ListNodeOfListOfPassKeyBoolean_HeaderFile
+#define _NMTDS_ListNodeOfListOfPassKeyBoolean_HeaderFile
+
+#ifndef _Standard_HeaderFile
+#include <Standard.hxx>
+#endif
+#ifndef _Handle_NMTDS_ListNodeOfListOfPassKeyBoolean_HeaderFile
+#include <Handle_NMTDS_ListNodeOfListOfPassKeyBoolean.hxx>
+#endif
+
+#ifndef _NMTDS_PassKeyBoolean_HeaderFile
+#include <NMTDS_PassKeyBoolean.hxx>
+#endif
+#ifndef _TCollection_MapNode_HeaderFile
+#include <TCollection_MapNode.hxx>
+#endif
+#ifndef _TCollection_MapNodePtr_HeaderFile
+#include <TCollection_MapNodePtr.hxx>
+#endif
+class NMTDS_PassKeyBoolean;
+class NMTDS_ListOfPassKeyBoolean;
+class NMTDS_ListIteratorOfListOfPassKeyBoolean;
+
+
+
+class NMTDS_ListNodeOfListOfPassKeyBoolean : public TCollection_MapNode {
+
+public:
+ // Methods PUBLIC
+ // 
+
+NMTDS_ListNodeOfListOfPassKeyBoolean(const NMTDS_PassKeyBoolean& I,const TCollection_MapNodePtr& n);
+
+  NMTDS_PassKeyBoolean& Value() const;
+//Standard_EXPORT ~NMTDS_ListNodeOfListOfPassKeyBoolean();
+
+
+
+
+ // Type management
+ //
+ Standard_EXPORT const Handle(Standard_Type)& DynamicType() const;
+ //Standard_EXPORT Standard_Boolean           IsKind(const Handle(Standard_Type)&) const;
+
+protected:
+
+ // Methods PROTECTED
+ // 
+
+
+ // Fields PROTECTED
+ //
+
+
+private: 
+
+ // Methods PRIVATE
+ // 
+
+
+ // Fields PRIVATE
+ //
+NMTDS_PassKeyBoolean myValue;
+
+
+};
+
+#define Item NMTDS_PassKeyBoolean
+#define Item_hxx <NMTDS_PassKeyBoolean.hxx>
+#define TCollection_ListNode NMTDS_ListNodeOfListOfPassKeyBoolean
+#define TCollection_ListNode_hxx <NMTDS_ListNodeOfListOfPassKeyBoolean.hxx>
+#define TCollection_ListIterator NMTDS_ListIteratorOfListOfPassKeyBoolean
+#define TCollection_ListIterator_hxx <NMTDS_ListIteratorOfListOfPassKeyBoolean.hxx>
+#define Handle_TCollection_ListNode Handle_NMTDS_ListNodeOfListOfPassKeyBoolean
+#define TCollection_ListNode_Type_() NMTDS_ListNodeOfListOfPassKeyBoolean_Type_()
+#define TCollection_List NMTDS_ListOfPassKeyBoolean
+#define TCollection_List_hxx <NMTDS_ListOfPassKeyBoolean.hxx>
+
+#include <TCollection_ListNode.lxx>
+
+#undef Item
+#undef Item_hxx
+#undef TCollection_ListNode
+#undef TCollection_ListNode_hxx
+#undef TCollection_ListIterator
+#undef TCollection_ListIterator_hxx
+#undef Handle_TCollection_ListNode
+#undef TCollection_ListNode_Type_
+#undef TCollection_List
+#undef TCollection_List_hxx
+
+
+// other Inline functions and methods (like "C++: function call" methods)
+//
+
+
+#endif
diff --git a/src/NMTDS/NMTDS_ListNodeOfListOfPassKeyBoolean_0.cxx b/src/NMTDS/NMTDS_ListNodeOfListOfPassKeyBoolean_0.cxx
new file mode 100644 (file)
index 0000000..e84d51f
--- /dev/null
@@ -0,0 +1,93 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#include <NMTDS_ListNodeOfListOfPassKeyBoolean.hxx>
+
+#ifndef _Standard_TypeMismatch_HeaderFile
+#include <Standard_TypeMismatch.hxx>
+#endif
+
+#ifndef _NMTDS_PassKeyBoolean_HeaderFile
+#include <NMTDS_PassKeyBoolean.hxx>
+#endif
+#ifndef _NMTDS_ListOfPassKeyBoolean_HeaderFile
+#include <NMTDS_ListOfPassKeyBoolean.hxx>
+#endif
+#ifndef _NMTDS_ListIteratorOfListOfPassKeyBoolean_HeaderFile
+#include <NMTDS_ListIteratorOfListOfPassKeyBoolean.hxx>
+#endif
+//NMTDS_ListNodeOfListOfPassKeyBoolean::~NMTDS_ListNodeOfListOfPassKeyBoolean() {}
+
+
+Standard_EXPORT Handle_Standard_Type& NMTDS_ListNodeOfListOfPassKeyBoolean_Type_()
+{
+
+    static Handle_Standard_Type aType1 = STANDARD_TYPE(TCollection_MapNode);
+  static Handle_Standard_Type aType2 = STANDARD_TYPE(MMgt_TShared);
+  static Handle_Standard_Type aType3 = STANDARD_TYPE(Standard_Transient);
+
+  static Handle_Standard_Transient _Ancestors[]= {aType1,aType2,aType3,NULL};
+  static Handle_Standard_Type _aType = new Standard_Type("NMTDS_ListNodeOfListOfPassKeyBoolean",
+                                                        sizeof(NMTDS_ListNodeOfListOfPassKeyBoolean),
+                                                        1,
+                                                        (Standard_Address)_Ancestors,
+                                                        (Standard_Address)NULL);
+
+  return _aType;
+}
+
+
+// DownCast method
+//   allow safe downcasting
+//
+const Handle(NMTDS_ListNodeOfListOfPassKeyBoolean) Handle(NMTDS_ListNodeOfListOfPassKeyBoolean)::DownCast(const Handle(Standard_Transient)& AnObject) 
+{
+  Handle(NMTDS_ListNodeOfListOfPassKeyBoolean) _anOtherObject;
+
+  if (!AnObject.IsNull()) {
+     if (AnObject->IsKind(STANDARD_TYPE(NMTDS_ListNodeOfListOfPassKeyBoolean))) {
+       _anOtherObject = Handle(NMTDS_ListNodeOfListOfPassKeyBoolean)((Handle(NMTDS_ListNodeOfListOfPassKeyBoolean)&)AnObject);
+     }
+  }
+
+  return _anOtherObject ;
+}
+const Handle(Standard_Type)& NMTDS_ListNodeOfListOfPassKeyBoolean::DynamicType() const 
+{ 
+  return STANDARD_TYPE(NMTDS_ListNodeOfListOfPassKeyBoolean) ; 
+}
+//Standard_Boolean NMTDS_ListNodeOfListOfPassKeyBoolean::IsKind(const Handle(Standard_Type)& AType) const 
+//{ 
+//  return (STANDARD_TYPE(NMTDS_ListNodeOfListOfPassKeyBoolean) == AType || TCollection_MapNode::IsKind(AType)); 
+//}
+//Handle_NMTDS_ListNodeOfListOfPassKeyBoolean::~Handle_NMTDS_ListNodeOfListOfPassKeyBoolean() {}
+#define Item NMTDS_PassKeyBoolean
+#define Item_hxx <NMTDS_PassKeyBoolean.hxx>
+#define TCollection_ListNode NMTDS_ListNodeOfListOfPassKeyBoolean
+#define TCollection_ListNode_hxx <NMTDS_ListNodeOfListOfPassKeyBoolean.hxx>
+#define TCollection_ListIterator NMTDS_ListIteratorOfListOfPassKeyBoolean
+#define TCollection_ListIterator_hxx <NMTDS_ListIteratorOfListOfPassKeyBoolean.hxx>
+#define Handle_TCollection_ListNode Handle_NMTDS_ListNodeOfListOfPassKeyBoolean
+#define TCollection_ListNode_Type_() NMTDS_ListNodeOfListOfPassKeyBoolean_Type_()
+#define TCollection_List NMTDS_ListOfPassKeyBoolean
+#define TCollection_List_hxx <NMTDS_ListOfPassKeyBoolean.hxx>
+#include <TCollection_ListNode.gxx>
+
diff --git a/src/NMTDS/NMTDS_ListNodeOfListOfPassKey_0.cxx b/src/NMTDS/NMTDS_ListNodeOfListOfPassKey_0.cxx
new file mode 100644 (file)
index 0000000..a85b03b
--- /dev/null
@@ -0,0 +1,93 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#include <NMTDS_ListNodeOfListOfPassKey.hxx>
+
+#ifndef _Standard_TypeMismatch_HeaderFile
+#include <Standard_TypeMismatch.hxx>
+#endif
+
+#ifndef _NMTDS_PassKey_HeaderFile
+#include <NMTDS_PassKey.hxx>
+#endif
+#ifndef _NMTDS_ListOfPassKey_HeaderFile
+#include <NMTDS_ListOfPassKey.hxx>
+#endif
+#ifndef _NMTDS_ListIteratorOfListOfPassKey_HeaderFile
+#include <NMTDS_ListIteratorOfListOfPassKey.hxx>
+#endif
+//NMTDS_ListNodeOfListOfPassKey::~NMTDS_ListNodeOfListOfPassKey() {}
+
+
+Standard_EXPORT Handle_Standard_Type& NMTDS_ListNodeOfListOfPassKey_Type_()
+{
+
+    static Handle_Standard_Type aType1 = STANDARD_TYPE(TCollection_MapNode);
+  static Handle_Standard_Type aType2 = STANDARD_TYPE(MMgt_TShared);
+  static Handle_Standard_Type aType3 = STANDARD_TYPE(Standard_Transient);
+
+  static Handle_Standard_Transient _Ancestors[]= {aType1,aType2,aType3,NULL};
+  static Handle_Standard_Type _aType = new Standard_Type("NMTDS_ListNodeOfListOfPassKey",
+                                                        sizeof(NMTDS_ListNodeOfListOfPassKey),
+                                                        1,
+                                                        (Standard_Address)_Ancestors,
+                                                        (Standard_Address)NULL);
+
+  return _aType;
+}
+
+
+// DownCast method
+//   allow safe downcasting
+//
+const Handle(NMTDS_ListNodeOfListOfPassKey) Handle(NMTDS_ListNodeOfListOfPassKey)::DownCast(const Handle(Standard_Transient)& AnObject) 
+{
+  Handle(NMTDS_ListNodeOfListOfPassKey) _anOtherObject;
+
+  if (!AnObject.IsNull()) {
+     if (AnObject->IsKind(STANDARD_TYPE(NMTDS_ListNodeOfListOfPassKey))) {
+       _anOtherObject = Handle(NMTDS_ListNodeOfListOfPassKey)((Handle(NMTDS_ListNodeOfListOfPassKey)&)AnObject);
+     }
+  }
+
+  return _anOtherObject ;
+}
+const Handle(Standard_Type)& NMTDS_ListNodeOfListOfPassKey::DynamicType() const 
+{ 
+  return STANDARD_TYPE(NMTDS_ListNodeOfListOfPassKey) ; 
+}
+//Standard_Boolean NMTDS_ListNodeOfListOfPassKey::IsKind(const Handle(Standard_Type)& AType) const 
+//{ 
+//  return (STANDARD_TYPE(NMTDS_ListNodeOfListOfPassKey) == AType || TCollection_MapNode::IsKind(AType)); 
+//}
+//Handle_NMTDS_ListNodeOfListOfPassKey::~Handle_NMTDS_ListNodeOfListOfPassKey() {}
+#define Item NMTDS_PassKey
+#define Item_hxx <NMTDS_PassKey.hxx>
+#define TCollection_ListNode NMTDS_ListNodeOfListOfPassKey
+#define TCollection_ListNode_hxx <NMTDS_ListNodeOfListOfPassKey.hxx>
+#define TCollection_ListIterator NMTDS_ListIteratorOfListOfPassKey
+#define TCollection_ListIterator_hxx <NMTDS_ListIteratorOfListOfPassKey.hxx>
+#define Handle_TCollection_ListNode Handle_NMTDS_ListNodeOfListOfPassKey
+#define TCollection_ListNode_Type_() NMTDS_ListNodeOfListOfPassKey_Type_()
+#define TCollection_List NMTDS_ListOfPassKey
+#define TCollection_List_hxx <NMTDS_ListOfPassKey.hxx>
+#include <TCollection_ListNode.gxx>
+
index 382994b641c26bab02c3c9c416549cf9b3445b3e..7664fc4ea60ace29efbb4f02a02dcbdac77d8918 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -45,6 +45,7 @@ class NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors;
 #include <Standard_Macro.hxx>
 #endif
 
+
 class NMTDS_ListOfIndexedDataMapOfShapeAncestorsSuccessors  {
 
 public:
@@ -63,34 +64,71 @@ public:
       }
  // Methods PUBLIC
  // 
+
+
 Standard_EXPORT NMTDS_ListOfIndexedDataMapOfShapeAncestorsSuccessors();
+
+
 Standard_EXPORT   void Assign(const NMTDS_ListOfIndexedDataMapOfShapeAncestorsSuccessors& Other) ;
   void operator=(const NMTDS_ListOfIndexedDataMapOfShapeAncestorsSuccessors& Other) 
 {
   Assign(Other);
 }
 
+
+
 Standard_EXPORT   Standard_Integer Extent() const;
+
+
 Standard_EXPORT   void Clear() ;
 ~NMTDS_ListOfIndexedDataMapOfShapeAncestorsSuccessors()
 {
   Clear();
 }
 
+
   Standard_Boolean IsEmpty() const;
+
+
 Standard_EXPORT   void Prepend(const BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& I) ;
+
+
 Standard_EXPORT   void Prepend(const BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& I,NMTDS_ListIteratorOfListOfIndexedDataMapOfShapeAncestorsSuccessors& theIt) ;
+
+
 Standard_EXPORT   void Prepend(NMTDS_ListOfIndexedDataMapOfShapeAncestorsSuccessors& Other) ;
+
+
 Standard_EXPORT   void Append(const BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& I) ;
+
+
 Standard_EXPORT   void Append(const BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& I,NMTDS_ListIteratorOfListOfIndexedDataMapOfShapeAncestorsSuccessors& theIt) ;
+
+
 Standard_EXPORT   void Append(NMTDS_ListOfIndexedDataMapOfShapeAncestorsSuccessors& Other) ;
+
+
 Standard_EXPORT   BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& First() const;
+
+
 Standard_EXPORT   BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& Last() const;
+
+
 Standard_EXPORT   void RemoveFirst() ;
+
+
 Standard_EXPORT   void Remove(NMTDS_ListIteratorOfListOfIndexedDataMapOfShapeAncestorsSuccessors& It) ;
+
+
 Standard_EXPORT   void InsertBefore(const BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& I,NMTDS_ListIteratorOfListOfIndexedDataMapOfShapeAncestorsSuccessors& It) ;
+
+
 Standard_EXPORT   void InsertBefore(NMTDS_ListOfIndexedDataMapOfShapeAncestorsSuccessors& Other,NMTDS_ListIteratorOfListOfIndexedDataMapOfShapeAncestorsSuccessors& It) ;
+
+
 Standard_EXPORT   void InsertAfter(const BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& I,NMTDS_ListIteratorOfListOfIndexedDataMapOfShapeAncestorsSuccessors& It) ;
+
+
 Standard_EXPORT   void InsertAfter(NMTDS_ListOfIndexedDataMapOfShapeAncestorsSuccessors& Other,NMTDS_ListIteratorOfListOfIndexedDataMapOfShapeAncestorsSuccessors& It) ;
 
 
@@ -112,6 +150,8 @@ private:
 
  // Methods PRIVATE
  // 
+
+
 Standard_EXPORT NMTDS_ListOfIndexedDataMapOfShapeAncestorsSuccessors(const NMTDS_ListOfIndexedDataMapOfShapeAncestorsSuccessors& Other);
 
 
index 1647253a45f77d7c60825da3c8e2b9634b044af9..f85f6d9d5089015781e29ee27c46b8c85c1af672 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
diff --git a/src/NMTDS/NMTDS_ListOfPassKey.hxx b/src/NMTDS/NMTDS_ListOfPassKey.hxx
new file mode 100644 (file)
index 0000000..2072510
--- /dev/null
@@ -0,0 +1,195 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _NMTDS_ListOfPassKey_HeaderFile
+#define _NMTDS_ListOfPassKey_HeaderFile
+
+#ifndef _Standard_Address_HeaderFile
+#include <Standard_Address.hxx>
+#endif
+#ifndef _Handle_NMTDS_ListNodeOfListOfPassKey_HeaderFile
+#include <Handle_NMTDS_ListNodeOfListOfPassKey.hxx>
+#endif
+#ifndef _Standard_Integer_HeaderFile
+#include <Standard_Integer.hxx>
+#endif
+#ifndef _Standard_Boolean_HeaderFile
+#include <Standard_Boolean.hxx>
+#endif
+class Standard_NoSuchObject;
+class NMTDS_ListIteratorOfListOfPassKey;
+class NMTDS_PassKey;
+class NMTDS_ListNodeOfListOfPassKey;
+
+
+#ifndef _Standard_HeaderFile
+#include <Standard.hxx>
+#endif
+#ifndef _Standard_Macro_HeaderFile
+#include <Standard_Macro.hxx>
+#endif
+
+
+class NMTDS_ListOfPassKey  {
+
+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 NMTDS_ListOfPassKey();
+
+
+Standard_EXPORT   void Assign(const NMTDS_ListOfPassKey& Other) ;
+  void operator=(const NMTDS_ListOfPassKey& Other) 
+{
+  Assign(Other);
+}
+
+
+
+Standard_EXPORT   Standard_Integer Extent() const;
+
+
+Standard_EXPORT   void Clear() ;
+~NMTDS_ListOfPassKey()
+{
+  Clear();
+}
+
+
+  Standard_Boolean IsEmpty() const;
+
+
+Standard_EXPORT   void Prepend(const NMTDS_PassKey& I) ;
+
+
+Standard_EXPORT   void Prepend(const NMTDS_PassKey& I,NMTDS_ListIteratorOfListOfPassKey& theIt) ;
+
+
+Standard_EXPORT   void Prepend(NMTDS_ListOfPassKey& Other) ;
+
+
+Standard_EXPORT   void Append(const NMTDS_PassKey& I) ;
+
+
+Standard_EXPORT   void Append(const NMTDS_PassKey& I,NMTDS_ListIteratorOfListOfPassKey& theIt) ;
+
+
+Standard_EXPORT   void Append(NMTDS_ListOfPassKey& Other) ;
+
+
+Standard_EXPORT   NMTDS_PassKey& First() const;
+
+
+Standard_EXPORT   NMTDS_PassKey& Last() const;
+
+
+Standard_EXPORT   void RemoveFirst() ;
+
+
+Standard_EXPORT   void Remove(NMTDS_ListIteratorOfListOfPassKey& It) ;
+
+
+Standard_EXPORT   void InsertBefore(const NMTDS_PassKey& I,NMTDS_ListIteratorOfListOfPassKey& It) ;
+
+
+Standard_EXPORT   void InsertBefore(NMTDS_ListOfPassKey& Other,NMTDS_ListIteratorOfListOfPassKey& It) ;
+
+
+Standard_EXPORT   void InsertAfter(const NMTDS_PassKey& I,NMTDS_ListIteratorOfListOfPassKey& It) ;
+
+
+Standard_EXPORT   void InsertAfter(NMTDS_ListOfPassKey& Other,NMTDS_ListIteratorOfListOfPassKey& It) ;
+
+
+friend class NMTDS_ListIteratorOfListOfPassKey;
+
+
+
+protected:
+
+ // Methods PROTECTED
+ // 
+
+
+ // Fields PROTECTED
+ //
+
+
+private: 
+
+ // Methods PRIVATE
+ // 
+
+
+Standard_EXPORT NMTDS_ListOfPassKey(const NMTDS_ListOfPassKey& Other);
+
+
+ // Fields PRIVATE
+ //
+Standard_Address myFirst;
+Standard_Address myLast;
+
+
+};
+
+#define Item NMTDS_PassKey
+#define Item_hxx <NMTDS_PassKey.hxx>
+#define TCollection_ListNode NMTDS_ListNodeOfListOfPassKey
+#define TCollection_ListNode_hxx <NMTDS_ListNodeOfListOfPassKey.hxx>
+#define TCollection_ListIterator NMTDS_ListIteratorOfListOfPassKey
+#define TCollection_ListIterator_hxx <NMTDS_ListIteratorOfListOfPassKey.hxx>
+#define Handle_TCollection_ListNode Handle_NMTDS_ListNodeOfListOfPassKey
+#define TCollection_ListNode_Type_() NMTDS_ListNodeOfListOfPassKey_Type_()
+#define TCollection_List NMTDS_ListOfPassKey
+#define TCollection_List_hxx <NMTDS_ListOfPassKey.hxx>
+
+#include <TCollection_List.lxx>
+
+#undef Item
+#undef Item_hxx
+#undef TCollection_ListNode
+#undef TCollection_ListNode_hxx
+#undef TCollection_ListIterator
+#undef TCollection_ListIterator_hxx
+#undef Handle_TCollection_ListNode
+#undef TCollection_ListNode_Type_
+#undef TCollection_List
+#undef TCollection_List_hxx
+
+
+// other Inline functions and methods (like "C++: function call" methods)
+//
+
+
+#endif
diff --git a/src/NMTDS/NMTDS_ListOfPassKeyBoolean.hxx b/src/NMTDS/NMTDS_ListOfPassKeyBoolean.hxx
new file mode 100644 (file)
index 0000000..3ca9a39
--- /dev/null
@@ -0,0 +1,195 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _NMTDS_ListOfPassKeyBoolean_HeaderFile
+#define _NMTDS_ListOfPassKeyBoolean_HeaderFile
+
+#ifndef _Standard_Address_HeaderFile
+#include <Standard_Address.hxx>
+#endif
+#ifndef _Handle_NMTDS_ListNodeOfListOfPassKeyBoolean_HeaderFile
+#include <Handle_NMTDS_ListNodeOfListOfPassKeyBoolean.hxx>
+#endif
+#ifndef _Standard_Integer_HeaderFile
+#include <Standard_Integer.hxx>
+#endif
+#ifndef _Standard_Boolean_HeaderFile
+#include <Standard_Boolean.hxx>
+#endif
+class Standard_NoSuchObject;
+class NMTDS_ListIteratorOfListOfPassKeyBoolean;
+class NMTDS_PassKeyBoolean;
+class NMTDS_ListNodeOfListOfPassKeyBoolean;
+
+
+#ifndef _Standard_HeaderFile
+#include <Standard.hxx>
+#endif
+#ifndef _Standard_Macro_HeaderFile
+#include <Standard_Macro.hxx>
+#endif
+
+
+class NMTDS_ListOfPassKeyBoolean  {
+
+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 NMTDS_ListOfPassKeyBoolean();
+
+
+Standard_EXPORT   void Assign(const NMTDS_ListOfPassKeyBoolean& Other) ;
+  void operator=(const NMTDS_ListOfPassKeyBoolean& Other) 
+{
+  Assign(Other);
+}
+
+
+
+Standard_EXPORT   Standard_Integer Extent() const;
+
+
+Standard_EXPORT   void Clear() ;
+~NMTDS_ListOfPassKeyBoolean()
+{
+  Clear();
+}
+
+
+  Standard_Boolean IsEmpty() const;
+
+
+Standard_EXPORT   void Prepend(const NMTDS_PassKeyBoolean& I) ;
+
+
+Standard_EXPORT   void Prepend(const NMTDS_PassKeyBoolean& I,NMTDS_ListIteratorOfListOfPassKeyBoolean& theIt) ;
+
+
+Standard_EXPORT   void Prepend(NMTDS_ListOfPassKeyBoolean& Other) ;
+
+
+Standard_EXPORT   void Append(const NMTDS_PassKeyBoolean& I) ;
+
+
+Standard_EXPORT   void Append(const NMTDS_PassKeyBoolean& I,NMTDS_ListIteratorOfListOfPassKeyBoolean& theIt) ;
+
+
+Standard_EXPORT   void Append(NMTDS_ListOfPassKeyBoolean& Other) ;
+
+
+Standard_EXPORT   NMTDS_PassKeyBoolean& First() const;
+
+
+Standard_EXPORT   NMTDS_PassKeyBoolean& Last() const;
+
+
+Standard_EXPORT   void RemoveFirst() ;
+
+
+Standard_EXPORT   void Remove(NMTDS_ListIteratorOfListOfPassKeyBoolean& It) ;
+
+
+Standard_EXPORT   void InsertBefore(const NMTDS_PassKeyBoolean& I,NMTDS_ListIteratorOfListOfPassKeyBoolean& It) ;
+
+
+Standard_EXPORT   void InsertBefore(NMTDS_ListOfPassKeyBoolean& Other,NMTDS_ListIteratorOfListOfPassKeyBoolean& It) ;
+
+
+Standard_EXPORT   void InsertAfter(const NMTDS_PassKeyBoolean& I,NMTDS_ListIteratorOfListOfPassKeyBoolean& It) ;
+
+
+Standard_EXPORT   void InsertAfter(NMTDS_ListOfPassKeyBoolean& Other,NMTDS_ListIteratorOfListOfPassKeyBoolean& It) ;
+
+
+friend class NMTDS_ListIteratorOfListOfPassKeyBoolean;
+
+
+
+protected:
+
+ // Methods PROTECTED
+ // 
+
+
+ // Fields PROTECTED
+ //
+
+
+private: 
+
+ // Methods PRIVATE
+ // 
+
+
+Standard_EXPORT NMTDS_ListOfPassKeyBoolean(const NMTDS_ListOfPassKeyBoolean& Other);
+
+
+ // Fields PRIVATE
+ //
+Standard_Address myFirst;
+Standard_Address myLast;
+
+
+};
+
+#define Item NMTDS_PassKeyBoolean
+#define Item_hxx <NMTDS_PassKeyBoolean.hxx>
+#define TCollection_ListNode NMTDS_ListNodeOfListOfPassKeyBoolean
+#define TCollection_ListNode_hxx <NMTDS_ListNodeOfListOfPassKeyBoolean.hxx>
+#define TCollection_ListIterator NMTDS_ListIteratorOfListOfPassKeyBoolean
+#define TCollection_ListIterator_hxx <NMTDS_ListIteratorOfListOfPassKeyBoolean.hxx>
+#define Handle_TCollection_ListNode Handle_NMTDS_ListNodeOfListOfPassKeyBoolean
+#define TCollection_ListNode_Type_() NMTDS_ListNodeOfListOfPassKeyBoolean_Type_()
+#define TCollection_List NMTDS_ListOfPassKeyBoolean
+#define TCollection_List_hxx <NMTDS_ListOfPassKeyBoolean.hxx>
+
+#include <TCollection_List.lxx>
+
+#undef Item
+#undef Item_hxx
+#undef TCollection_ListNode
+#undef TCollection_ListNode_hxx
+#undef TCollection_ListIterator
+#undef TCollection_ListIterator_hxx
+#undef Handle_TCollection_ListNode
+#undef TCollection_ListNode_Type_
+#undef TCollection_List
+#undef TCollection_List_hxx
+
+
+// other Inline functions and methods (like "C++: function call" methods)
+//
+
+
+#endif
diff --git a/src/NMTDS/NMTDS_ListOfPassKeyBoolean_0.cxx b/src/NMTDS/NMTDS_ListOfPassKeyBoolean_0.cxx
new file mode 100644 (file)
index 0000000..846661e
--- /dev/null
@@ -0,0 +1,47 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#include <NMTDS_ListOfPassKeyBoolean.hxx>
+
+#ifndef _Standard_NoSuchObject_HeaderFile
+#include <Standard_NoSuchObject.hxx>
+#endif
+#ifndef _NMTDS_ListIteratorOfListOfPassKeyBoolean_HeaderFile
+#include <NMTDS_ListIteratorOfListOfPassKeyBoolean.hxx>
+#endif
+#ifndef _NMTDS_PassKeyBoolean_HeaderFile
+#include <NMTDS_PassKeyBoolean.hxx>
+#endif
+#ifndef _NMTDS_ListNodeOfListOfPassKeyBoolean_HeaderFile
+#include <NMTDS_ListNodeOfListOfPassKeyBoolean.hxx>
+#endif
+
+#define Item NMTDS_PassKeyBoolean
+#define Item_hxx <NMTDS_PassKeyBoolean.hxx>
+#define TCollection_ListNode NMTDS_ListNodeOfListOfPassKeyBoolean
+#define TCollection_ListNode_hxx <NMTDS_ListNodeOfListOfPassKeyBoolean.hxx>
+#define TCollection_ListIterator NMTDS_ListIteratorOfListOfPassKeyBoolean
+#define TCollection_ListIterator_hxx <NMTDS_ListIteratorOfListOfPassKeyBoolean.hxx>
+#define Handle_TCollection_ListNode Handle_NMTDS_ListNodeOfListOfPassKeyBoolean
+#define TCollection_ListNode_Type_() NMTDS_ListNodeOfListOfPassKeyBoolean_Type_()
+#define TCollection_List NMTDS_ListOfPassKeyBoolean
+#define TCollection_List_hxx <NMTDS_ListOfPassKeyBoolean.hxx>
+#include <TCollection_List.gxx>
+
diff --git a/src/NMTDS/NMTDS_ListOfPassKey_0.cxx b/src/NMTDS/NMTDS_ListOfPassKey_0.cxx
new file mode 100644 (file)
index 0000000..f87d96c
--- /dev/null
@@ -0,0 +1,47 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#include <NMTDS_ListOfPassKey.hxx>
+
+#ifndef _Standard_NoSuchObject_HeaderFile
+#include <Standard_NoSuchObject.hxx>
+#endif
+#ifndef _NMTDS_ListIteratorOfListOfPassKey_HeaderFile
+#include <NMTDS_ListIteratorOfListOfPassKey.hxx>
+#endif
+#ifndef _NMTDS_PassKey_HeaderFile
+#include <NMTDS_PassKey.hxx>
+#endif
+#ifndef _NMTDS_ListNodeOfListOfPassKey_HeaderFile
+#include <NMTDS_ListNodeOfListOfPassKey.hxx>
+#endif
+
+#define Item NMTDS_PassKey
+#define Item_hxx <NMTDS_PassKey.hxx>
+#define TCollection_ListNode NMTDS_ListNodeOfListOfPassKey
+#define TCollection_ListNode_hxx <NMTDS_ListNodeOfListOfPassKey.hxx>
+#define TCollection_ListIterator NMTDS_ListIteratorOfListOfPassKey
+#define TCollection_ListIterator_hxx <NMTDS_ListIteratorOfListOfPassKey.hxx>
+#define Handle_TCollection_ListNode Handle_NMTDS_ListNodeOfListOfPassKey
+#define TCollection_ListNode_Type_() NMTDS_ListNodeOfListOfPassKey_Type_()
+#define TCollection_List NMTDS_ListOfPassKey
+#define TCollection_List_hxx <NMTDS_ListOfPassKey.hxx>
+#include <TCollection_List.gxx>
+
diff --git a/src/NMTDS/NMTDS_MapIteratorOfMapOfPassKey.hxx b/src/NMTDS/NMTDS_MapIteratorOfMapOfPassKey.hxx
new file mode 100644 (file)
index 0000000..71b3726
--- /dev/null
@@ -0,0 +1,109 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _NMTDS_MapIteratorOfMapOfPassKey_HeaderFile
+#define _NMTDS_MapIteratorOfMapOfPassKey_HeaderFile
+
+#ifndef _TCollection_BasicMapIterator_HeaderFile
+#include <TCollection_BasicMapIterator.hxx>
+#endif
+#ifndef _Handle_NMTDS_StdMapNodeOfMapOfPassKey_HeaderFile
+#include <Handle_NMTDS_StdMapNodeOfMapOfPassKey.hxx>
+#endif
+class Standard_NoSuchObject;
+class NMTDS_PassKey;
+class NMTDS_PassKeyMapHasher;
+class NMTDS_MapOfPassKey;
+class NMTDS_StdMapNodeOfMapOfPassKey;
+
+
+#ifndef _Standard_HeaderFile
+#include <Standard.hxx>
+#endif
+#ifndef _Standard_Macro_HeaderFile
+#include <Standard_Macro.hxx>
+#endif
+
+
+class NMTDS_MapIteratorOfMapOfPassKey  : public TCollection_BasicMapIterator {
+
+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 NMTDS_MapIteratorOfMapOfPassKey();
+
+
+Standard_EXPORT NMTDS_MapIteratorOfMapOfPassKey(const NMTDS_MapOfPassKey& aMap);
+
+
+Standard_EXPORT   void Initialize(const NMTDS_MapOfPassKey& aMap) ;
+
+
+Standard_EXPORT  const NMTDS_PassKey& Key() const;
+
+
+
+
+
+protected:
+
+ // Methods PROTECTED
+ // 
+
+
+ // Fields PROTECTED
+ //
+
+
+private: 
+
+ // Methods PRIVATE
+ // 
+
+
+ // Fields PRIVATE
+ //
+
+
+};
+
+
+
+
+
+// other Inline functions and methods (like "C++: function call" methods)
+//
+
+
+#endif
diff --git a/src/NMTDS/NMTDS_MapIteratorOfMapOfPassKeyBoolean.hxx b/src/NMTDS/NMTDS_MapIteratorOfMapOfPassKeyBoolean.hxx
new file mode 100644 (file)
index 0000000..dbff065
--- /dev/null
@@ -0,0 +1,109 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _NMTDS_MapIteratorOfMapOfPassKeyBoolean_HeaderFile
+#define _NMTDS_MapIteratorOfMapOfPassKeyBoolean_HeaderFile
+
+#ifndef _TCollection_BasicMapIterator_HeaderFile
+#include <TCollection_BasicMapIterator.hxx>
+#endif
+#ifndef _Handle_NMTDS_StdMapNodeOfMapOfPassKeyBoolean_HeaderFile
+#include <Handle_NMTDS_StdMapNodeOfMapOfPassKeyBoolean.hxx>
+#endif
+class Standard_NoSuchObject;
+class NMTDS_PassKeyBoolean;
+class NMTDS_PassKeyMapHasher;
+class NMTDS_MapOfPassKeyBoolean;
+class NMTDS_StdMapNodeOfMapOfPassKeyBoolean;
+
+
+#ifndef _Standard_HeaderFile
+#include <Standard.hxx>
+#endif
+#ifndef _Standard_Macro_HeaderFile
+#include <Standard_Macro.hxx>
+#endif
+
+
+class NMTDS_MapIteratorOfMapOfPassKeyBoolean  : public TCollection_BasicMapIterator {
+
+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 NMTDS_MapIteratorOfMapOfPassKeyBoolean();
+
+
+Standard_EXPORT NMTDS_MapIteratorOfMapOfPassKeyBoolean(const NMTDS_MapOfPassKeyBoolean& aMap);
+
+
+Standard_EXPORT   void Initialize(const NMTDS_MapOfPassKeyBoolean& aMap) ;
+
+
+Standard_EXPORT  const NMTDS_PassKeyBoolean& Key() const;
+
+
+
+
+
+protected:
+
+ // Methods PROTECTED
+ // 
+
+
+ // Fields PROTECTED
+ //
+
+
+private: 
+
+ // Methods PRIVATE
+ // 
+
+
+ // Fields PRIVATE
+ //
+
+
+};
+
+
+
+
+
+// other Inline functions and methods (like "C++: function call" methods)
+//
+
+
+#endif
diff --git a/src/NMTDS/NMTDS_MapIteratorOfMapOfPassKeyBoolean_0.cxx b/src/NMTDS/NMTDS_MapIteratorOfMapOfPassKeyBoolean_0.cxx
new file mode 100644 (file)
index 0000000..68c8897
--- /dev/null
@@ -0,0 +1,52 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#include <NMTDS_MapIteratorOfMapOfPassKeyBoolean.hxx>
+
+#ifndef _Standard_NoSuchObject_HeaderFile
+#include <Standard_NoSuchObject.hxx>
+#endif
+#ifndef _NMTDS_PassKeyBoolean_HeaderFile
+#include <NMTDS_PassKeyBoolean.hxx>
+#endif
+#ifndef _NMTDS_PassKeyMapHasher_HeaderFile
+#include <NMTDS_PassKeyMapHasher.hxx>
+#endif
+#ifndef _NMTDS_MapOfPassKeyBoolean_HeaderFile
+#include <NMTDS_MapOfPassKeyBoolean.hxx>
+#endif
+#ifndef _NMTDS_StdMapNodeOfMapOfPassKeyBoolean_HeaderFile
+#include <NMTDS_StdMapNodeOfMapOfPassKeyBoolean.hxx>
+#endif
+
+#define TheKey NMTDS_PassKeyBoolean
+#define TheKey_hxx <NMTDS_PassKeyBoolean.hxx>
+#define Hasher NMTDS_PassKeyMapHasher
+#define Hasher_hxx <NMTDS_PassKeyMapHasher.hxx>
+#define TCollection_StdMapNode NMTDS_StdMapNodeOfMapOfPassKeyBoolean
+#define TCollection_StdMapNode_hxx <NMTDS_StdMapNodeOfMapOfPassKeyBoolean.hxx>
+#define TCollection_MapIterator NMTDS_MapIteratorOfMapOfPassKeyBoolean
+#define TCollection_MapIterator_hxx <NMTDS_MapIteratorOfMapOfPassKeyBoolean.hxx>
+#define Handle_TCollection_StdMapNode Handle_NMTDS_StdMapNodeOfMapOfPassKeyBoolean
+#define TCollection_StdMapNode_Type_() NMTDS_StdMapNodeOfMapOfPassKeyBoolean_Type_()
+#define TCollection_Map NMTDS_MapOfPassKeyBoolean
+#define TCollection_Map_hxx <NMTDS_MapOfPassKeyBoolean.hxx>
+#include <TCollection_MapIterator.gxx>
+
diff --git a/src/NMTDS/NMTDS_MapIteratorOfMapOfPassKey_0.cxx b/src/NMTDS/NMTDS_MapIteratorOfMapOfPassKey_0.cxx
new file mode 100644 (file)
index 0000000..c96965f
--- /dev/null
@@ -0,0 +1,52 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#include <NMTDS_MapIteratorOfMapOfPassKey.hxx>
+
+#ifndef _Standard_NoSuchObject_HeaderFile
+#include <Standard_NoSuchObject.hxx>
+#endif
+#ifndef _NMTDS_PassKey_HeaderFile
+#include <NMTDS_PassKey.hxx>
+#endif
+#ifndef _NMTDS_PassKeyMapHasher_HeaderFile
+#include <NMTDS_PassKeyMapHasher.hxx>
+#endif
+#ifndef _NMTDS_MapOfPassKey_HeaderFile
+#include <NMTDS_MapOfPassKey.hxx>
+#endif
+#ifndef _NMTDS_StdMapNodeOfMapOfPassKey_HeaderFile
+#include <NMTDS_StdMapNodeOfMapOfPassKey.hxx>
+#endif
+
+#define TheKey NMTDS_PassKey
+#define TheKey_hxx <NMTDS_PassKey.hxx>
+#define Hasher NMTDS_PassKeyMapHasher
+#define Hasher_hxx <NMTDS_PassKeyMapHasher.hxx>
+#define TCollection_StdMapNode NMTDS_StdMapNodeOfMapOfPassKey
+#define TCollection_StdMapNode_hxx <NMTDS_StdMapNodeOfMapOfPassKey.hxx>
+#define TCollection_MapIterator NMTDS_MapIteratorOfMapOfPassKey
+#define TCollection_MapIterator_hxx <NMTDS_MapIteratorOfMapOfPassKey.hxx>
+#define Handle_TCollection_StdMapNode Handle_NMTDS_StdMapNodeOfMapOfPassKey
+#define TCollection_StdMapNode_Type_() NMTDS_StdMapNodeOfMapOfPassKey_Type_()
+#define TCollection_Map NMTDS_MapOfPassKey
+#define TCollection_Map_hxx <NMTDS_MapOfPassKey.hxx>
+#include <TCollection_MapIterator.gxx>
+
diff --git a/src/NMTDS/NMTDS_MapOfPassKey.hxx b/src/NMTDS/NMTDS_MapOfPassKey.hxx
new file mode 100644 (file)
index 0000000..b9360dd
--- /dev/null
@@ -0,0 +1,137 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _NMTDS_MapOfPassKey_HeaderFile
+#define _NMTDS_MapOfPassKey_HeaderFile
+
+#ifndef _TCollection_BasicMap_HeaderFile
+#include <TCollection_BasicMap.hxx>
+#endif
+#ifndef _Handle_NMTDS_StdMapNodeOfMapOfPassKey_HeaderFile
+#include <Handle_NMTDS_StdMapNodeOfMapOfPassKey.hxx>
+#endif
+#ifndef _Standard_Integer_HeaderFile
+#include <Standard_Integer.hxx>
+#endif
+#ifndef _Standard_Boolean_HeaderFile
+#include <Standard_Boolean.hxx>
+#endif
+class Standard_DomainError;
+class NMTDS_PassKey;
+class NMTDS_PassKeyMapHasher;
+class NMTDS_StdMapNodeOfMapOfPassKey;
+class NMTDS_MapIteratorOfMapOfPassKey;
+
+
+#ifndef _Standard_HeaderFile
+#include <Standard.hxx>
+#endif
+#ifndef _Standard_Macro_HeaderFile
+#include <Standard_Macro.hxx>
+#endif
+
+
+class NMTDS_MapOfPassKey  : public TCollection_BasicMap {
+
+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 NMTDS_MapOfPassKey(const Standard_Integer NbBuckets = 1);
+
+
+Standard_EXPORT   NMTDS_MapOfPassKey& Assign(const NMTDS_MapOfPassKey& Other) ;
+  NMTDS_MapOfPassKey& operator =(const NMTDS_MapOfPassKey& Other) 
+{
+  return Assign(Other);
+}
+
+
+
+Standard_EXPORT   void ReSize(const Standard_Integer NbBuckets) ;
+
+
+Standard_EXPORT   void Clear() ;
+~NMTDS_MapOfPassKey()
+{
+  Clear();
+}
+
+
+
+Standard_EXPORT   Standard_Boolean Add(const NMTDS_PassKey& aKey) ;
+
+
+Standard_EXPORT   Standard_Boolean Contains(const NMTDS_PassKey& aKey) const;
+
+
+Standard_EXPORT   Standard_Boolean Remove(const NMTDS_PassKey& aKey) ;
+
+
+
+
+
+protected:
+
+ // Methods PROTECTED
+ // 
+
+
+ // Fields PROTECTED
+ //
+
+
+private: 
+
+ // Methods PRIVATE
+ // 
+
+
+Standard_EXPORT NMTDS_MapOfPassKey(const NMTDS_MapOfPassKey& Other);
+
+
+ // Fields PRIVATE
+ //
+
+
+};
+
+
+
+
+
+// other Inline functions and methods (like "C++: function call" methods)
+//
+
+
+#endif
diff --git a/src/NMTDS/NMTDS_MapOfPassKeyBoolean.hxx b/src/NMTDS/NMTDS_MapOfPassKeyBoolean.hxx
new file mode 100644 (file)
index 0000000..8f0312b
--- /dev/null
@@ -0,0 +1,137 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _NMTDS_MapOfPassKeyBoolean_HeaderFile
+#define _NMTDS_MapOfPassKeyBoolean_HeaderFile
+
+#ifndef _TCollection_BasicMap_HeaderFile
+#include <TCollection_BasicMap.hxx>
+#endif
+#ifndef _Handle_NMTDS_StdMapNodeOfMapOfPassKeyBoolean_HeaderFile
+#include <Handle_NMTDS_StdMapNodeOfMapOfPassKeyBoolean.hxx>
+#endif
+#ifndef _Standard_Integer_HeaderFile
+#include <Standard_Integer.hxx>
+#endif
+#ifndef _Standard_Boolean_HeaderFile
+#include <Standard_Boolean.hxx>
+#endif
+class Standard_DomainError;
+class NMTDS_PassKeyBoolean;
+class NMTDS_PassKeyMapHasher;
+class NMTDS_StdMapNodeOfMapOfPassKeyBoolean;
+class NMTDS_MapIteratorOfMapOfPassKeyBoolean;
+
+
+#ifndef _Standard_HeaderFile
+#include <Standard.hxx>
+#endif
+#ifndef _Standard_Macro_HeaderFile
+#include <Standard_Macro.hxx>
+#endif
+
+
+class NMTDS_MapOfPassKeyBoolean  : public TCollection_BasicMap {
+
+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 NMTDS_MapOfPassKeyBoolean(const Standard_Integer NbBuckets = 1);
+
+
+Standard_EXPORT   NMTDS_MapOfPassKeyBoolean& Assign(const NMTDS_MapOfPassKeyBoolean& Other) ;
+  NMTDS_MapOfPassKeyBoolean& operator =(const NMTDS_MapOfPassKeyBoolean& Other) 
+{
+  return Assign(Other);
+}
+
+
+
+Standard_EXPORT   void ReSize(const Standard_Integer NbBuckets) ;
+
+
+Standard_EXPORT   void Clear() ;
+~NMTDS_MapOfPassKeyBoolean()
+{
+  Clear();
+}
+
+
+
+Standard_EXPORT   Standard_Boolean Add(const NMTDS_PassKeyBoolean& aKey) ;
+
+
+Standard_EXPORT   Standard_Boolean Contains(const NMTDS_PassKeyBoolean& aKey) const;
+
+
+Standard_EXPORT   Standard_Boolean Remove(const NMTDS_PassKeyBoolean& aKey) ;
+
+
+
+
+
+protected:
+
+ // Methods PROTECTED
+ // 
+
+
+ // Fields PROTECTED
+ //
+
+
+private: 
+
+ // Methods PRIVATE
+ // 
+
+
+Standard_EXPORT NMTDS_MapOfPassKeyBoolean(const NMTDS_MapOfPassKeyBoolean& Other);
+
+
+ // Fields PRIVATE
+ //
+
+
+};
+
+
+
+
+
+// other Inline functions and methods (like "C++: function call" methods)
+//
+
+
+#endif
diff --git a/src/NMTDS/NMTDS_MapOfPassKeyBoolean_0.cxx b/src/NMTDS/NMTDS_MapOfPassKeyBoolean_0.cxx
new file mode 100644 (file)
index 0000000..4c9ac2a
--- /dev/null
@@ -0,0 +1,52 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#include <NMTDS_MapOfPassKeyBoolean.hxx>
+
+#ifndef _Standard_DomainError_HeaderFile
+#include <Standard_DomainError.hxx>
+#endif
+#ifndef _NMTDS_PassKeyBoolean_HeaderFile
+#include <NMTDS_PassKeyBoolean.hxx>
+#endif
+#ifndef _NMTDS_PassKeyMapHasher_HeaderFile
+#include <NMTDS_PassKeyMapHasher.hxx>
+#endif
+#ifndef _NMTDS_StdMapNodeOfMapOfPassKeyBoolean_HeaderFile
+#include <NMTDS_StdMapNodeOfMapOfPassKeyBoolean.hxx>
+#endif
+#ifndef _NMTDS_MapIteratorOfMapOfPassKeyBoolean_HeaderFile
+#include <NMTDS_MapIteratorOfMapOfPassKeyBoolean.hxx>
+#endif
+
+#define TheKey NMTDS_PassKeyBoolean
+#define TheKey_hxx <NMTDS_PassKeyBoolean.hxx>
+#define Hasher NMTDS_PassKeyMapHasher
+#define Hasher_hxx <NMTDS_PassKeyMapHasher.hxx>
+#define TCollection_StdMapNode NMTDS_StdMapNodeOfMapOfPassKeyBoolean
+#define TCollection_StdMapNode_hxx <NMTDS_StdMapNodeOfMapOfPassKeyBoolean.hxx>
+#define TCollection_MapIterator NMTDS_MapIteratorOfMapOfPassKeyBoolean
+#define TCollection_MapIterator_hxx <NMTDS_MapIteratorOfMapOfPassKeyBoolean.hxx>
+#define Handle_TCollection_StdMapNode Handle_NMTDS_StdMapNodeOfMapOfPassKeyBoolean
+#define TCollection_StdMapNode_Type_() NMTDS_StdMapNodeOfMapOfPassKeyBoolean_Type_()
+#define TCollection_Map NMTDS_MapOfPassKeyBoolean
+#define TCollection_Map_hxx <NMTDS_MapOfPassKeyBoolean.hxx>
+#include <TCollection_Map.gxx>
+
diff --git a/src/NMTDS/NMTDS_MapOfPassKey_0.cxx b/src/NMTDS/NMTDS_MapOfPassKey_0.cxx
new file mode 100644 (file)
index 0000000..12f3a22
--- /dev/null
@@ -0,0 +1,52 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#include <NMTDS_MapOfPassKey.hxx>
+
+#ifndef _Standard_DomainError_HeaderFile
+#include <Standard_DomainError.hxx>
+#endif
+#ifndef _NMTDS_PassKey_HeaderFile
+#include <NMTDS_PassKey.hxx>
+#endif
+#ifndef _NMTDS_PassKeyMapHasher_HeaderFile
+#include <NMTDS_PassKeyMapHasher.hxx>
+#endif
+#ifndef _NMTDS_StdMapNodeOfMapOfPassKey_HeaderFile
+#include <NMTDS_StdMapNodeOfMapOfPassKey.hxx>
+#endif
+#ifndef _NMTDS_MapIteratorOfMapOfPassKey_HeaderFile
+#include <NMTDS_MapIteratorOfMapOfPassKey.hxx>
+#endif
+
+#define TheKey NMTDS_PassKey
+#define TheKey_hxx <NMTDS_PassKey.hxx>
+#define Hasher NMTDS_PassKeyMapHasher
+#define Hasher_hxx <NMTDS_PassKeyMapHasher.hxx>
+#define TCollection_StdMapNode NMTDS_StdMapNodeOfMapOfPassKey
+#define TCollection_StdMapNode_hxx <NMTDS_StdMapNodeOfMapOfPassKey.hxx>
+#define TCollection_MapIterator NMTDS_MapIteratorOfMapOfPassKey
+#define TCollection_MapIterator_hxx <NMTDS_MapIteratorOfMapOfPassKey.hxx>
+#define Handle_TCollection_StdMapNode Handle_NMTDS_StdMapNodeOfMapOfPassKey
+#define TCollection_StdMapNode_Type_() NMTDS_StdMapNodeOfMapOfPassKey_Type_()
+#define TCollection_Map NMTDS_MapOfPassKey
+#define TCollection_Map_hxx <NMTDS_MapOfPassKey.hxx>
+#include <TCollection_Map.gxx>
+
index 75e09af84b925d54492e1f638f25c64b8dee1bee..128b4586233483869604fd4807f558ba8ef33607 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
diff --git a/src/NMTDS/NMTDS_PassKey.cdl b/src/NMTDS/NMTDS_PassKey.cdl
new file mode 100755 (executable)
index 0000000..e9a637a
--- /dev/null
@@ -0,0 +1,80 @@
+-- Copyright (C) 2006 SAMTECH 
+-- 
+-- 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 
+-- 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 
+-- 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 
+-- 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:       NMTDS_PassKey.cdl
+-- Created:    
+-- Author:     Peter KURNEV
+--             <pkv@irinox>
+
+class PassKey from NMTDS 
+
+       ---Purpose: 
+
+uses
+    Shape from TopoDS, 
+    ListOfInteger from TColStd   
+        
+--raises
+
+is 
+    Create  
+       returns PassKey from NMTDS; 
+     
+    Assign(me:out;  
+           Other : PassKey from NMTDS) 
+       returns PassKey from NMTDS; 
+    ---C++: alias operator =
+    ---C++: return & 
+--    
+    SetIds(me:out; 
+           aI1 :Integer from Standard;    
+           aI2 :Integer from Standard);  
+            
+    NbMax(me) 
+       returns Integer  from Standard; 
+        
+    Clear(me:out); 
+     
+    Compute(me:out); 
+     
+    IsEqual(me; 
+           aOther:PassKey from NMTDS) 
+       returns Boolean from Standard;                       
+
+    Key(me) 
+       returns Address from Standard;  
+        
+    HashCode(me; 
+           Upper : Integer  from Standard)  
+       returns Integer from Standard;           
+     
+    Ids(me; 
+           aI1 :out Integer from Standard;    
+           aI2 :out Integer from Standard);
+     
+    Dump(me); 
+
+fields 
+    myNbIds: Integer from Standard is protected;  
+    myNbMax: Integer from Standard is protected; 
+    mySum  : Integer from Standard is protected;   
+    myIds  : Integer from Standard [2] is protected; 
+
+end PassKey;
diff --git a/src/NMTDS/NMTDS_PassKey.cxx b/src/NMTDS/NMTDS_PassKey.cxx
new file mode 100755 (executable)
index 0000000..910400c
--- /dev/null
@@ -0,0 +1,216 @@
+// Copyright (C) 2006 SAMTECH
+// 
+// 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 
+// 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 
+// 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 
+// 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:       NMTDS_PassKey.cxx
+// Created:    
+// Author:     Peter KURNEV
+//             <pkv@irinox>
+
+
+#include <NMTDS_PassKey.ixx>
+
+#include <stdio.h>
+#include <string.h>
+#include <TColStd_ListIteratorOfListOfInteger.hxx>
+
+#ifdef WNT
+#pragma warning( disable : 4101) 
+#endif
+
+static 
+  void SortShell(const int n, int* a); 
+static
+  Standard_Integer NormalizedId(const Standard_Integer aId,
+                               const Standard_Integer aDiv);
+
+//=======================================================================
+//function :
+//purpose  : 
+//=======================================================================
+  NMTDS_PassKey::NMTDS_PassKey()
+{
+  Clear();
+}
+//=======================================================================
+//function :Assign
+//purpose  : 
+//=======================================================================
+  NMTDS_PassKey& NMTDS_PassKey::Assign(const NMTDS_PassKey& anOther)
+{
+  myNbIds=anOther.myNbIds;
+  myNbMax=anOther.myNbMax;
+  mySum=anOther.mySum;
+  memcpy(myIds, anOther.myIds, sizeof(myIds));
+  return *this;
+}
+//=======================================================================
+//function :Clear
+//purpose  : 
+//=======================================================================
+  void NMTDS_PassKey::Clear()
+{
+  Standard_Integer i;
+  //
+  myNbIds=0;
+  myNbMax=2;
+  mySum=0;
+  for (i=0; i<myNbMax; ++i) {
+    myIds[i]=0;
+  }
+}
+//=======================================================================
+//function :SetIds
+//purpose  : 
+//=======================================================================
+  void NMTDS_PassKey::SetIds(const Standard_Integer anId1,
+                            const Standard_Integer anId2)
+{
+  Standard_Integer aIdN1, aIdN2;
+  //
+  myNbIds=2;
+  aIdN1=NormalizedId(anId1, myNbIds);
+  aIdN2=NormalizedId(anId2, myNbIds);
+  mySum=aIdN1+aIdN2;
+  //
+  if (anId1<anId2) {
+    myIds[myNbMax-2]=anId1;
+    myIds[myNbMax-1]=anId2;
+    return;
+  }
+  myIds[myNbMax-2]=anId2;
+  myIds[myNbMax-1]=anId1;
+}
+//=======================================================================
+//function :Ids
+//purpose  : 
+//=======================================================================
+  void NMTDS_PassKey::Ids(Standard_Integer& aId1,
+                         Standard_Integer& aId2)const
+{
+  aId1=myIds[0];
+  aId2=myIds[1];
+}
+//=======================================================================
+//function :NbMax
+//purpose  : 
+//=======================================================================
+  Standard_Integer NMTDS_PassKey::NbMax()const
+{
+  return myNbMax;
+}
+//=======================================================================
+//function :Compute
+//purpose  : 
+//=======================================================================
+  void NMTDS_PassKey::Compute()
+{
+  SortShell(myNbIds, myIds+myNbMax-myNbIds);
+}
+//=======================================================================
+//function :IsEqual
+//purpose  : 
+//=======================================================================
+  Standard_Boolean NMTDS_PassKey::IsEqual(const NMTDS_PassKey& anOther) const
+{
+  Standard_Integer iIsEqual;
+  Standard_Boolean bIsEqual;
+  //
+  iIsEqual=memcmp(myIds, anOther.myIds, sizeof(myIds));
+  bIsEqual=Standard_False;
+  if (!iIsEqual) {
+    bIsEqual=!bIsEqual;
+  }
+  return bIsEqual;
+}
+//=======================================================================
+//function :Key
+//purpose  : 
+//=======================================================================
+  Standard_Address NMTDS_PassKey::Key()const
+{
+  return (Standard_Address)myIds;
+}
+//=======================================================================
+//function : HashCode
+//purpose  : 
+//=======================================================================
+  Standard_Integer NMTDS_PassKey::HashCode(const Standard_Integer Upper) const
+{
+  return ::HashCode(mySum, Upper);
+}
+//=======================================================================
+//function : Dump
+//purpose  : 
+//=======================================================================
+  void NMTDS_PassKey::Dump()const
+{
+  Standard_Integer i;
+  //
+  printf(" PassKey: {");
+  for (i=0; i<myNbMax; ++i) {
+    printf(" %d", myIds[i]);
+  }
+  printf(" }");
+}
+//=======================================================================
+// function: NormalizedId
+// purpose : 
+//=======================================================================
+Standard_Integer NormalizedId(const Standard_Integer aId,
+                             const Standard_Integer aDiv)
+{
+  Standard_Integer aMax, aTresh, aIdRet;
+  //
+  aIdRet=aId;
+  aMax=::IntegerLast();
+  aTresh=aMax/aDiv;
+  if (aId>aTresh) {
+    aIdRet=aId%aTresh;
+  }
+  return aIdRet;
+}
+//=======================================================================
+// function: SortShell
+// purpose : 
+//=======================================================================
+void SortShell(const int n, int* a) 
+{
+  int  x, nd, i, j, l, d=1;
+  //
+  while(d<=n) {
+    d*=2;
+  }
+  //
+  while (d) {
+    d=(d-1)/2;
+    //
+    nd=n-d;
+    for (i=0; i<nd; ++i) {
+      j=i;
+    m30:;
+      l=j+d;
+      if (a[l] < a[j]){
+       x=a[j];
+       a[j]=a[l];
+       a[l]=x;
+       j-=d;
+       if (j > -1) goto m30;
+      }//if (a[l] < a[j]){
+    }//for (i=0; i<nd; ++i) 
+  }//while (1)
+}
diff --git a/src/NMTDS/NMTDS_PassKey.hxx b/src/NMTDS/NMTDS_PassKey.hxx
new file mode 100644 (file)
index 0000000..65ac7bb
--- /dev/null
@@ -0,0 +1,137 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _NMTDS_PassKey_HeaderFile
+#define _NMTDS_PassKey_HeaderFile
+
+#ifndef _Standard_Integer_HeaderFile
+#include <Standard_Integer.hxx>
+#endif
+#ifndef _Standard_Boolean_HeaderFile
+#include <Standard_Boolean.hxx>
+#endif
+#ifndef _Standard_Address_HeaderFile
+#include <Standard_Address.hxx>
+#endif
+
+
+#ifndef _Standard_HeaderFile
+#include <Standard.hxx>
+#endif
+#ifndef _Standard_Macro_HeaderFile
+#include <Standard_Macro.hxx>
+#endif
+
+
+class NMTDS_PassKey  {
+
+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 NMTDS_PassKey();
+
+
+Standard_EXPORT   NMTDS_PassKey& Assign(const NMTDS_PassKey& Other) ;
+  NMTDS_PassKey& operator =(const NMTDS_PassKey& Other) 
+{
+  return Assign(Other);
+}
+
+
+
+Standard_EXPORT   void SetIds(const Standard_Integer aI1,const Standard_Integer aI2) ;
+
+
+Standard_EXPORT   Standard_Integer NbMax() const;
+
+
+Standard_EXPORT   void Clear() ;
+
+
+Standard_EXPORT   void Compute() ;
+
+
+Standard_EXPORT   Standard_Boolean IsEqual(const NMTDS_PassKey& aOther) const;
+
+
+Standard_EXPORT   Standard_Address Key() const;
+
+
+Standard_EXPORT   Standard_Integer HashCode(const Standard_Integer Upper) const;
+
+
+Standard_EXPORT   void Ids(Standard_Integer& aI1,Standard_Integer& aI2) const;
+
+
+Standard_EXPORT   void Dump() const;
+
+
+
+
+
+protected:
+
+ // Methods PROTECTED
+ // 
+
+
+ // Fields PROTECTED
+ //
+Standard_Integer myNbIds;
+Standard_Integer myNbMax;
+Standard_Integer mySum;
+Standard_Integer myIds[2];
+
+
+private: 
+
+ // Methods PRIVATE
+ // 
+
+
+ // Fields PRIVATE
+ //
+
+
+};
+
+
+
+
+
+// other Inline functions and methods (like "C++: function call" methods)
+//
+
+
+#endif
diff --git a/src/NMTDS/NMTDS_PassKey.ixx b/src/NMTDS/NMTDS_PassKey.ixx
new file mode 100644 (file)
index 0000000..906d159
--- /dev/null
@@ -0,0 +1,24 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#include <NMTDS_PassKey.jxx>
+
+
+
diff --git a/src/NMTDS/NMTDS_PassKey.jxx b/src/NMTDS/NMTDS_PassKey.jxx
new file mode 100644 (file)
index 0000000..02ef906
--- /dev/null
@@ -0,0 +1,22 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _NMTDS_PassKey_HeaderFile
+#include <NMTDS_PassKey.hxx>
+#endif
diff --git a/src/NMTDS/NMTDS_PassKeyBoolean.cdl b/src/NMTDS/NMTDS_PassKeyBoolean.cdl
new file mode 100755 (executable)
index 0000000..2ad7871
--- /dev/null
@@ -0,0 +1,56 @@
+-- Copyright (C) 2006 SAMTECH 
+-- 
+-- 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 
+-- 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 
+-- 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 
+-- 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:       NMTDS_PassKeyBoolean.cdl
+-- Created:    
+-- Author:     Peter KURNEV
+--             <pkv@irinox>
+
+
+class PassKeyBoolean from NMTDS 
+    inherits  PassKey from NMTDS 
+
+       ---Purpose: 
+
+uses
+    Shape from TopoDS, 
+    ListOfInteger from TColStd   
+        
+--raises
+
+is 
+    Create  
+       returns PassKeyBoolean from NMTDS; 
+     
+    Assign(me:out;  
+           Other : PassKeyBoolean from NMTDS) 
+       returns PassKeyBoolean from NMTDS; 
+    ---C++: alias operator =
+    ---C++: return & 
+--     
+    SetFlag(me:out; 
+           aFlag: Boolean from Standard); 
+        
+    Flag(me)  
+       returns Boolean from Standard;      
+
+fields 
+    myFlag: Boolean from Standard is protected;  
+
+end PassKeyBoolean;
diff --git a/src/NMTDS/NMTDS_PassKeyBoolean.cxx b/src/NMTDS/NMTDS_PassKeyBoolean.cxx
new file mode 100755 (executable)
index 0000000..11f90ee
--- /dev/null
@@ -0,0 +1,62 @@
+// Copyright (C) 2006 SAMTECH
+// 
+// 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 
+// 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 
+// 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 
+// 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:       NMTDS_PassKeyBoolean.cxx
+// Created:    Mon May 15 14:31:05 2006
+// Author:     Peter KURNEV
+//             <pkv@irinox>
+
+
+#include <NMTDS_PassKeyBoolean.ixx>
+
+//=======================================================================
+//function : NMTDS_PassKeyBoolean
+//purpose  : 
+//=======================================================================
+  NMTDS_PassKeyBoolean::NMTDS_PassKeyBoolean()
+:
+  myFlag(Standard_False),
+  NMTDS_PassKey()
+{
+}
+//=======================================================================
+//function :Assign
+//purpose  : 
+//=======================================================================
+  NMTDS_PassKeyBoolean& NMTDS_PassKeyBoolean::Assign(const NMTDS_PassKeyBoolean& anOther)
+{
+  myFlag=anOther.myFlag;
+  NMTDS_PassKey::Assign(anOther);
+  return *this;
+}
+//=======================================================================
+//function :SetFlag
+//purpose  : 
+//=======================================================================
+  void NMTDS_PassKeyBoolean::SetFlag(const Standard_Boolean aFlag)
+{
+  myFlag=aFlag;
+}
+//=======================================================================
+//function :Flag
+//purpose  : 
+//=======================================================================
+  Standard_Boolean NMTDS_PassKeyBoolean::Flag()const
+{
+  return myFlag;
+}
diff --git a/src/NMTDS/NMTDS_PassKeyBoolean.hxx b/src/NMTDS/NMTDS_PassKeyBoolean.hxx
new file mode 100644 (file)
index 0000000..0ac2e06
--- /dev/null
@@ -0,0 +1,110 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _NMTDS_PassKeyBoolean_HeaderFile
+#define _NMTDS_PassKeyBoolean_HeaderFile
+
+#ifndef _Standard_Boolean_HeaderFile
+#include <Standard_Boolean.hxx>
+#endif
+#ifndef _NMTDS_PassKey_HeaderFile
+#include <NMTDS_PassKey.hxx>
+#endif
+
+
+#ifndef _Standard_HeaderFile
+#include <Standard.hxx>
+#endif
+#ifndef _Standard_Macro_HeaderFile
+#include <Standard_Macro.hxx>
+#endif
+
+
+class NMTDS_PassKeyBoolean  : public NMTDS_PassKey {
+
+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 NMTDS_PassKeyBoolean();
+
+
+Standard_EXPORT   NMTDS_PassKeyBoolean& Assign(const NMTDS_PassKeyBoolean& Other) ;
+  NMTDS_PassKeyBoolean& operator =(const NMTDS_PassKeyBoolean& Other) 
+{
+  return Assign(Other);
+}
+
+
+
+Standard_EXPORT   void SetFlag(const Standard_Boolean aFlag) ;
+
+
+Standard_EXPORT   Standard_Boolean Flag() const;
+
+
+
+
+
+protected:
+
+ // Methods PROTECTED
+ // 
+
+
+ // Fields PROTECTED
+ //
+Standard_Boolean myFlag;
+
+
+private: 
+
+ // Methods PRIVATE
+ // 
+
+
+ // Fields PRIVATE
+ //
+
+
+};
+
+
+
+
+
+// other Inline functions and methods (like "C++: function call" methods)
+//
+
+
+#endif
diff --git a/src/NMTDS/NMTDS_PassKeyBoolean.ixx b/src/NMTDS/NMTDS_PassKeyBoolean.ixx
new file mode 100644 (file)
index 0000000..88cae8d
--- /dev/null
@@ -0,0 +1,24 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#include <NMTDS_PassKeyBoolean.jxx>
+
+
+
diff --git a/src/NMTDS/NMTDS_PassKeyBoolean.jxx b/src/NMTDS/NMTDS_PassKeyBoolean.jxx
new file mode 100644 (file)
index 0000000..4291273
--- /dev/null
@@ -0,0 +1,22 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _NMTDS_PassKeyBoolean_HeaderFile
+#include <NMTDS_PassKeyBoolean.hxx>
+#endif
diff --git a/src/NMTDS/NMTDS_PassKeyMapHasher.cdl b/src/NMTDS/NMTDS_PassKeyMapHasher.cdl
new file mode 100755 (executable)
index 0000000..ae537d7
--- /dev/null
@@ -0,0 +1,46 @@
+-- Copyright (C) 2006 SAMTECH 
+-- 
+-- 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 
+-- 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 
+-- 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 
+-- 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:       NMTDS_PassKeyMapHasher.cdl
+-- Created:    
+-- Author:     Peter KURNEV
+--             <pkv@irinox>
+
+
+class PassKeyMapHasher from NMTDS 
+
+       ---Purpose: 
+
+uses 
+    PassKey from NMTDS 
+
+--raises
+
+is 
+    HashCode(myclass;  
+           aPKey : PassKey from NMTDS;  
+           Upper : Integer from Standard)  
+       returns Integer from Standard;
+       
+       
+    IsEqual(myclass;  
+           aPKey1 : PassKey from NMTDS;  
+           aPKey2 : PassKey from NMTDS)  
+       returns Boolean from Standard;
+
+end PassKeyMapHasher;
diff --git a/src/NMTDS/NMTDS_PassKeyMapHasher.cxx b/src/NMTDS/NMTDS_PassKeyMapHasher.cxx
new file mode 100755 (executable)
index 0000000..09e4ad0
--- /dev/null
@@ -0,0 +1,44 @@
+// Copyright (C) 2006 SAMTECH
+// 
+// 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 
+// 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 
+// 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 
+// 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:       NMTDS_PassKeyMapHasher.cxx
+// Created:    
+// Author:     Peter KURNEV
+//             <pkv@irinox>
+
+
+#include <NMTDS_PassKeyMapHasher.ixx>
+
+//=======================================================================
+//function : HashCode
+//purpose  : 
+//=======================================================================
+  Standard_Integer NMTDS_PassKeyMapHasher::HashCode(const NMTDS_PassKey& aPKey,
+                                                   const Standard_Integer Upper)
+{
+  return aPKey.HashCode(Upper);
+}
+//=======================================================================
+//function :IsEqual
+//purpose  : 
+//=======================================================================
+  Standard_Boolean NMTDS_PassKeyMapHasher::IsEqual(const NMTDS_PassKey& aPKey1,
+                                                  const NMTDS_PassKey& aPKey2)
+{
+  return aPKey1.IsEqual(aPKey2);
+}
diff --git a/src/NMTDS/NMTDS_PassKeyMapHasher.hxx b/src/NMTDS/NMTDS_PassKeyMapHasher.hxx
new file mode 100644 (file)
index 0000000..b22d6e8
--- /dev/null
@@ -0,0 +1,99 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _NMTDS_PassKeyMapHasher_HeaderFile
+#define _NMTDS_PassKeyMapHasher_HeaderFile
+
+#ifndef _Standard_Integer_HeaderFile
+#include <Standard_Integer.hxx>
+#endif
+#ifndef _Standard_Boolean_HeaderFile
+#include <Standard_Boolean.hxx>
+#endif
+class NMTDS_PassKey;
+
+
+#ifndef _Standard_HeaderFile
+#include <Standard.hxx>
+#endif
+#ifndef _Standard_Macro_HeaderFile
+#include <Standard_Macro.hxx>
+#endif
+
+
+class NMTDS_PassKeyMapHasher  {
+
+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 static  Standard_Integer HashCode(const NMTDS_PassKey& aPKey,const Standard_Integer Upper) ;
+
+
+Standard_EXPORT static  Standard_Boolean IsEqual(const NMTDS_PassKey& aPKey1,const NMTDS_PassKey& aPKey2) ;
+
+
+
+
+
+protected:
+
+ // Methods PROTECTED
+ // 
+
+
+ // Fields PROTECTED
+ //
+
+
+private: 
+
+ // Methods PRIVATE
+ // 
+
+
+ // Fields PRIVATE
+ //
+
+
+};
+
+
+
+
+
+// other Inline functions and methods (like "C++: function call" methods)
+//
+
+
+#endif
diff --git a/src/NMTDS/NMTDS_PassKeyMapHasher.ixx b/src/NMTDS/NMTDS_PassKeyMapHasher.ixx
new file mode 100644 (file)
index 0000000..177c4e3
--- /dev/null
@@ -0,0 +1,24 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#include <NMTDS_PassKeyMapHasher.jxx>
+
+
+
diff --git a/src/NMTDS/NMTDS_PassKeyMapHasher.jxx b/src/NMTDS/NMTDS_PassKeyMapHasher.jxx
new file mode 100644 (file)
index 0000000..ab0e610
--- /dev/null
@@ -0,0 +1,25 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _NMTDS_PassKey_HeaderFile
+#include <NMTDS_PassKey.hxx>
+#endif
+#ifndef _NMTDS_PassKeyMapHasher_HeaderFile
+#include <NMTDS_PassKeyMapHasher.hxx>
+#endif
index d6341bdf7e032c06b3f1fc61bf56909da5f2f742..1922b4861f8e3a0d21c7e6ee7d2cfadc99911b7f 100644 (file)
@@ -1,28 +1,26 @@
-// Copyright (C) 2005  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 
-// 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 
-// 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 
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
-//
+-- Copyright (C) 2005  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 
+-- 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 
+-- 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 
+-- 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:       NMTDS_ShapesDataStructure.cdl
 -- Created:    Mon Dec  1 10:17:05 2003
 -- Author:     Peter KURNEV
 --             <pkv@irinox>
----Copyright:   Matra Datavision 2003
-
 
 class ShapesDataStructure from NMTDS  
     inherits ShapesDataStructure from BooleanOperations  
@@ -30,7 +28,8 @@ class ShapesDataStructure from NMTDS
        ---Purpose: 
 
 uses
-    Shape from TopoDS, 
+    Shape from TopoDS,  
+    IndexedDataMapOfShapeAncestorsSuccessors from BooleanOperations,
     CArray1OfIndexRange from NMTDS, 
     IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger from NMTDS
 --raises
@@ -38,9 +37,7 @@ uses
 is 
     Create 
        returns ShapesDataStructure from NMTDS; 
-    ---C++: alias "Standard_EXPORT virtual ~NMTDS_ShapesDataStructure();" 
---modified by NIZNHY-PKV Wed Feb  2 11:44:38 2005ft 
-
+        
     SetCompositeShape(me:out; 
            aS:Shape from TopoDS);   
         
@@ -67,7 +64,21 @@ is
            aS:Shape from TopoDS; 
            iRank:Integer from Standard) 
        returns Integer from Standard  
-       is redefined;                    
+       is redefined;   
+
+-- Modified to Add new methods Thu Sep 14 14:35:18 2006 
+-- Contribution of Samtech www.samcef.com BEGIN 
+    FillMap (me;  
+           aS  :Shape from TopoDS; 
+           aMSA: out IndexedDataMapOfShapeAncestorsSuccessors from BooleanOperations;  
+           aMS : out IndexedDataMapOfShapeAncestorsSuccessors from BooleanOperations);  
+     
+    FillSubshapes (me;  
+           aS  :Shape from TopoDS; 
+           aMSA:out IndexedDataMapOfShapeAncestorsSuccessors from BooleanOperations;  
+           aMS :out IndexedDataMapOfShapeAncestorsSuccessors from BooleanOperations); 
+-- Contribution of Samtech www.samcef.com END 
+
 fields
     myCompositeShape:  Shape from TopoDS is protected; 
     myRanges        :  CArray1OfIndexRange from NMTDS is protected; 
index 8213536c329d702a2f98de866463968382c9922d..229f3c5436ced0ecc40af286bcaae831f44b7018 100644 (file)
 #include <NMTDS_ListIteratorOfListOfIndexedDataMapOfShapeAncestorsSuccessors.hxx>
 #include <BooleanOperations_ShapeAndInterferences.hxx>
 #include <NMTDS_IndexRange.hxx>
+//
+#include <BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors.hxx>
+#include <BooleanOperations_AncestorsSeqAndSuccessorsSeq.hxx>
+#include <TColStd_MapOfInteger.hxx>
 
 //===========================================================================
 //function : NMTDS_ShapesDataStructure::NMTDS_ShapesDataStructure
   NMTDS_ShapesDataStructure::NMTDS_ShapesDataStructure()
 :
   BooleanOperations_ShapesDataStructure()
-{
-  //printf(" NMTDS_ShapesDataStructure CREATE:%x\n", (int)this);
-}
-//modified by NIZNHY-PKV Wed Feb  2 11:45:04 2005f
-//===========================================================================
-//function : ~
-//purpose  : 
-//===========================================================================
-  NMTDS_ShapesDataStructure::~NMTDS_ShapesDataStructure()
-{
-  //printf(" NMTDS_ShapesDataStructure DELETE:%x\n", (int)this);
-}
-//modified by NIZNHY-PKV Wed Feb  2 11:45:06 2005t
+{}
 //===========================================================================
 //function : SetCompositeShape
 //purpose  : 
 {
   return myRanges;
 }
+// Modified to Add new methods Thu Sep 14 14:35:18 2006 
+// Contribution of Samtech www.samcef.com BEGIN
+//===========================================================================
+//function : FillMap
+//purpose  : 
+//===========================================================================
+  void NMTDS_ShapesDataStructure::FillMap
+  (const TopoDS_Shape& aS,
+   BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& aMSA,
+   BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& aMS) const
+{
+  Standard_Integer iX, i, j, aIndex, aNbSc, aNbS;
+  BooleanOperations_AncestorsSeqAndSuccessorsSeq aAS;
+  //
+  aMSA.Add(aS, aAS);
+  aMS.Add(aS, aAS);
+  FillSubshapes(aS, aMSA, aMS);
+  //
+  aNbS=aMS.Extent();
+  for(i=1; i<=aNbS; ++i) {
+    TColStd_MapOfInteger aMFence;
+    //
+    const TopoDS_Shape& aSX=aMS.FindKey(i);
+    iX=aMSA.FindIndex(aSX);
+    const BooleanOperations_AncestorsSeqAndSuccessorsSeq& aAS1=aMSA(iX);
+    //
+    aNbSc=aAS1.NumberOfSuccessors();
+    for(j=1; j<=aNbSc; ++j) {
+      aIndex=aAS1.GetSuccessor(j);
+      if(aMFence.Add(aIndex)) {
+       BooleanOperations_AncestorsSeqAndSuccessorsSeq& aAS2=aMSA.ChangeFromIndex(aIndex);
+       aAS2.SetNewAncestor(iX);
+      }
+    }
+  }
+}
+//===========================================================================
+//function : FillSubshapes
+//purpose  : 
+//===========================================================================
+  void NMTDS_ShapesDataStructure::FillSubshapes
+  (const TopoDS_Shape& aS,
+   BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& aMSA,
+   BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& aMS) const
+{
+  Standard_Boolean bIsNewSubShape;
+  Standard_Integer aIndexSubShape, aIndex;
+  BooleanOperations_AncestorsSeqAndSuccessorsSeq aASx;
+  //
+  aIndex=aMSA.FindIndex(aS);
+  BooleanOperations_AncestorsSeqAndSuccessorsSeq& aAS=aMSA.ChangeFromIndex(aIndex);
+  //
+  TopoDS_Iterator anIt(aS, Standard_True);
+  for(; anIt.More(); anIt.Next()) {
+    const TopoDS_Shape& aSubShape = anIt.Value();
+    bIsNewSubShape = Standard_False;
+    if(!aMSA.Contains(aSubShape)) {
+      bIsNewSubShape=!bIsNewSubShape;
+      aIndexSubShape=aMSA.Add(aSubShape, aASx);
+      aMS.Add(aSubShape, aASx);
+    }
+    else {
+      aIndexSubShape=aMSA.FindIndex(aSubShape);
+    }
+    aAS.SetNewSuccessor(aIndexSubShape);
+    aAS.SetNewOrientation(aSubShape.Orientation());
+    //
+    if(bIsNewSubShape && (aSubShape.ShapeType() != TopAbs_VERTEX)) {
+      FillSubshapes(aSubShape, aMSA, aMS);
+    }
+  }
+}
+// Contribution of Samtech www.samcef.com END 
 //===========================================================================
 //function : Init
 //purpose  : 
   NMTDS_ListOfIndexedDataMapOfShapeAncestorsSuccessors aLx;
   NMTDS_ListIteratorOfListOfIndexedDataMapOfShapeAncestorsSuccessors aLit;
   TopoDS_Iterator anIt;
+  // Modified  Thu Sep 14 14:35:18 2006 
+  // Contribution of Samtech www.samcef.com BEGIN
+  BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors aMSA;
+  // Contribution of Samtech www.samcef.com END
   //
-  aNbS=0;
   anIt.Initialize(myCompositeShape);
   for (i=0; anIt.More(); anIt.Next(), ++i) {
-    const TopoDS_Shape& aSx=anIt.Value();
-    BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors aIndDatMapShape;
-    FillIndexedMapOfShapesAncestorsAndSuccessors(aSx, aIndDatMapShape);
-    aNbSx=aIndDatMapShape.Extent();
-    aNbS+=aNbSx;
-    aLx.Append(aIndDatMapShape);
+    // Modified  Thu Sep 14 14:35:18 2006 
+    // Contribution of Samtech www.samcef.com BEGIN
+    const TopoDS_Shape& aSx=anIt.Value(); 
+    BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors aMS;
+    FillMap(aSx, aMSA, aMS);
+    aLx.Append(aMS);
+    // Contribution of Samtech www.samcef.com END
   }
+  // Modified  Thu Sep 14 14:35:18 2006 
+  // Contribution of Samtech www.samcef.com BEGIN
+  aNbS=aMSA.Extent(); 
+  // Contribution of Samtech www.samcef.com END
   //
   // Fill myRanges
   myRanges.Resize(i);
   aLit.Initialize(aLx);
   for (i=1; aLit.More(); aLit.Next(), ++i) {
-    const BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& aM=aLit.Value();
-    aNbSx=aM.Extent();
+    // Modified  Thu Sep 14 14:35:18 2006 
+    // Contribution of Samtech www.samcef.com BEGIN
+    const BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& aMSx=aLit.Value();
+    aNbSx=aMSx.Extent();
+    // Contribution of Samtech www.samcef.com END
     if (i==1) {
       iFirst=1;
       iLast=aNbSx;
   }
   //
   myNumberOfShapesOfTheObject=aNbS;
-  myNumberOfShapesOfTheTool=aNbS;
-  myLength=3*aNbS;
+  // Modified  Thu Sep 14 14:35:18 2006 
+  // Contribution of Samtech www.samcef.com BEGIN
+  //myNumberOfShapesOfTheTool=aNbS;
+  //myLength=3*aNbS;
+  myNumberOfShapesOfTheTool=0;
+  myLength=2*aNbS;
+  // Contribution of Samtech www.samcef.com END
   //
   // Allocate the whole Table
   myListOfShapeAndInterferences = (BooleanOperations_PShapeAndInterferences)
     Standard::Allocate(myLength*sizeof(BooleanOperations_ShapeAndInterferences));
+  // Modified  Thu Sep 14 14:35:18 2006 
+  // Contribution of Samtech www.samcef.com BEGIN
   //
   // Fill the table
-  for (i=0; i<2; ++i) {
-    aShift=0;
-    if (i) {
-      aShift=myNumberOfShapesOfTheObject;
-    }
-    aLit.Initialize(aLx);
-    for (; aLit.More(); aLit.Next()) {
-      const BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& aM=aLit.Value();
-      aNbSx=aM.Extent();
-      for (j=1; j<=aNbSx; ++j) {
-       const TopoDS_Shape& aSx=aM.FindKey(j);
-       const BooleanOperations_AncestorsSeqAndSuccessorsSeq& aASx=aM.FindFromIndex(j);
-       InsertShapeAndAncestorsSuccessors(aSx, aASx, aShift);
-      }
-      aShift+=aNbSx;
-    }
+  //modified by NIZNHY-PKV Tue May 16 11:47:28 2006f
+  
+  //aShift=0;
+  //for (i=0; i<2; ++i) {
+  //  if (i) {
+  //    aShift=aNbS;
+  //  }
+  //  for (j=1; j<=aNbS; ++j) {
+  //    const TopoDS_Shape& aSx=aMSA.FindKey(j);
+  //    const BooleanOperations_AncestorsSeqAndSuccessorsSeq& aASx=
+  //      aMSA.FindFromIndex(j);
+  //    InsertShapeAndAncestorsSuccessors(aSx, aASx, aShift);
+  //  }
+  //}
+  
+  aShift=0;
+  for (j=1; j<=aNbS; ++j) {
+    const TopoDS_Shape& aSx=aMSA.FindKey(j);
+    const BooleanOperations_AncestorsSeqAndSuccessorsSeq& aASx=aMSA.FindFromIndex(j);
+    InsertShapeAndAncestorsSuccessors(aSx, aASx, aShift);
   }
+  // Contribution of Samtech www.samcef.com END
   //
   // myShapeIndexMap
   myShapeIndexMap.Clear();
     iFirst=aR.First();
     iLast =aR.Last();
     for (j=iFirst; j<=iLast; ++j) { 
-      const TopoDS_Shape& aS=GetShape(j);
+      const TopoDS_Shape& aS=Shape(j);
       aSIM.Add(aS, j);
     }
     myShapeIndexMap.Add(i, aSIM);
   if (!bFound) {
     return aIndex;
   }
+  // Modified Thu Sep 14 14:35:18 2006 
+  // Contribution of Samtech www.samcef.com BEGIN
   //
-  const BooleanOperations_IndexedDataMapOfShapeInteger& aSIM=myShapeIndexMap.FindFromKey(aRank);
+  //const BooleanOperations_IndexedDataMapOfShapeInteger& aSIM=
+  //  myShapeIndexMap.FindFromKey(aRank);
   //
-  bFound=aSIM.Contains(aS);
-  if (!bFound) {
-    return aIndex;
-  }
+  //bFound=aSIM.Contains(aS);
+  //if (!bFound) {
+  //  return aIndex;
+  //}
   //
-  aIndex=aSIM.FindFromKey(aS);
+  //aIndex=aSIM.FindFromKey(aS);
+  //
+  Standard_Integer i, aNbRanks;
+  //
+  aNbRanks=myShapeIndexMap.Extent();
+  for (i=1; i<=aNbRanks; ++i){
+    const BooleanOperations_IndexedDataMapOfShapeInteger& aSIM=myShapeIndexMap.FindFromKey(i);
+    bFound=aSIM.Contains(aS);
+    if (bFound) {
+      aIndex=aSIM.FindFromKey(aS);
+      return aIndex;
+    }
+  }
+  // Contribution of Samtech www.samcef.com END
   return aIndex;
 }
index af4bda55dc4d76e9e6b2111d82c3baef1f4b150d..b3e8065f806efda98797b152fa085bf75db8bbde 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -37,6 +37,7 @@
 #endif
 class TopoDS_Shape;
 class NMTDS_CArray1OfIndexRange;
+class BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors;
 
 
 #ifndef _Standard_HeaderFile
@@ -46,6 +47,7 @@ class NMTDS_CArray1OfIndexRange;
 #include <Standard_Macro.hxx>
 #endif
 
+
 class NMTDS_ShapesDataStructure  : public BooleanOperations_ShapesDataStructure {
 
 public:
@@ -64,17 +66,38 @@ public:
       }
  // Methods PUBLIC
  // 
+
+
 Standard_EXPORT NMTDS_ShapesDataStructure();
-Standard_EXPORT virtual ~NMTDS_ShapesDataStructure();
+
+
 Standard_EXPORT   void SetCompositeShape(const TopoDS_Shape& aS) ;
+
+
 Standard_EXPORT   void Init() ;
+
+
 Standard_EXPORT  const NMTDS_CArray1OfIndexRange& Ranges() const;
+
+
 Standard_EXPORT  const TopoDS_Shape& CompositeShape() const;
+
+
 Standard_EXPORT   Standard_Integer ShapeRangeIndex(const Standard_Integer aId) const;
+
+
 Standard_EXPORT virtual  Standard_Integer Rank(const Standard_Integer anIndex) const;
+
+
 Standard_EXPORT virtual  Standard_Integer ShapeIndex(const TopoDS_Shape& aS,const Standard_Integer iRank) const;
 
 
+Standard_EXPORT   void FillMap(const TopoDS_Shape& aS,BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& aMSA,BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& aMS) const;
+
+
+Standard_EXPORT   void FillSubshapes(const TopoDS_Shape& aS,BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& aMSA,BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& aMS) const;
+
+
 
 
 
index 6a84be39f2add504129eaf0640f76b0266e2c522..587761e251664a9dde1db07e4c0d72d403248f0f 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
index dbeaba7b7d021daeef0402e3fa757985f609774c..5ae9a8554dc5459dd0c73c8b7ddb2e56c2bd763b 100644 (file)
@@ -1,28 +1,31 @@
 // Copyright (C) 2005  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
-//
+
 #ifndef _TopoDS_Shape_HeaderFile
 #include <TopoDS_Shape.hxx>
 #endif
 #ifndef _NMTDS_CArray1OfIndexRange_HeaderFile
 #include <NMTDS_CArray1OfIndexRange.hxx>
 #endif
+#ifndef _BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors_HeaderFile
+#include <BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors.hxx>
+#endif
 #ifndef _NMTDS_ShapesDataStructure_HeaderFile
 #include <NMTDS_ShapesDataStructure.hxx>
 #endif
diff --git a/src/NMTDS/NMTDS_StdMapNodeOfMapOfPassKey.hxx b/src/NMTDS/NMTDS_StdMapNodeOfMapOfPassKey.hxx
new file mode 100644 (file)
index 0000000..0028623
--- /dev/null
@@ -0,0 +1,121 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _NMTDS_StdMapNodeOfMapOfPassKey_HeaderFile
+#define _NMTDS_StdMapNodeOfMapOfPassKey_HeaderFile
+
+#ifndef _Standard_HeaderFile
+#include <Standard.hxx>
+#endif
+#ifndef _Handle_NMTDS_StdMapNodeOfMapOfPassKey_HeaderFile
+#include <Handle_NMTDS_StdMapNodeOfMapOfPassKey.hxx>
+#endif
+
+#ifndef _NMTDS_PassKey_HeaderFile
+#include <NMTDS_PassKey.hxx>
+#endif
+#ifndef _TCollection_MapNode_HeaderFile
+#include <TCollection_MapNode.hxx>
+#endif
+#ifndef _TCollection_MapNodePtr_HeaderFile
+#include <TCollection_MapNodePtr.hxx>
+#endif
+class NMTDS_PassKey;
+class NMTDS_PassKeyMapHasher;
+class NMTDS_MapOfPassKey;
+class NMTDS_MapIteratorOfMapOfPassKey;
+
+
+
+class NMTDS_StdMapNodeOfMapOfPassKey : public TCollection_MapNode {
+
+public:
+ // Methods PUBLIC
+ // 
+
+NMTDS_StdMapNodeOfMapOfPassKey(const NMTDS_PassKey& K,const TCollection_MapNodePtr& n);
+
+  NMTDS_PassKey& Key() const;
+//Standard_EXPORT ~NMTDS_StdMapNodeOfMapOfPassKey();
+
+
+
+
+ // Type management
+ //
+ Standard_EXPORT const Handle(Standard_Type)& DynamicType() const;
+ //Standard_EXPORT Standard_Boolean           IsKind(const Handle(Standard_Type)&) const;
+
+protected:
+
+ // Methods PROTECTED
+ // 
+
+
+ // Fields PROTECTED
+ //
+
+
+private: 
+
+ // Methods PRIVATE
+ // 
+
+
+ // Fields PRIVATE
+ //
+NMTDS_PassKey myKey;
+
+
+};
+
+#define TheKey NMTDS_PassKey
+#define TheKey_hxx <NMTDS_PassKey.hxx>
+#define Hasher NMTDS_PassKeyMapHasher
+#define Hasher_hxx <NMTDS_PassKeyMapHasher.hxx>
+#define TCollection_StdMapNode NMTDS_StdMapNodeOfMapOfPassKey
+#define TCollection_StdMapNode_hxx <NMTDS_StdMapNodeOfMapOfPassKey.hxx>
+#define TCollection_MapIterator NMTDS_MapIteratorOfMapOfPassKey
+#define TCollection_MapIterator_hxx <NMTDS_MapIteratorOfMapOfPassKey.hxx>
+#define Handle_TCollection_StdMapNode Handle_NMTDS_StdMapNodeOfMapOfPassKey
+#define TCollection_StdMapNode_Type_() NMTDS_StdMapNodeOfMapOfPassKey_Type_()
+#define TCollection_Map NMTDS_MapOfPassKey
+#define TCollection_Map_hxx <NMTDS_MapOfPassKey.hxx>
+
+#include <TCollection_StdMapNode.lxx>
+
+#undef TheKey
+#undef TheKey_hxx
+#undef Hasher
+#undef Hasher_hxx
+#undef TCollection_StdMapNode
+#undef TCollection_StdMapNode_hxx
+#undef TCollection_MapIterator
+#undef TCollection_MapIterator_hxx
+#undef Handle_TCollection_StdMapNode
+#undef TCollection_StdMapNode_Type_
+#undef TCollection_Map
+#undef TCollection_Map_hxx
+
+
+// other Inline functions and methods (like "C++: function call" methods)
+//
+
+
+#endif
diff --git a/src/NMTDS/NMTDS_StdMapNodeOfMapOfPassKeyBoolean.hxx b/src/NMTDS/NMTDS_StdMapNodeOfMapOfPassKeyBoolean.hxx
new file mode 100644 (file)
index 0000000..0392838
--- /dev/null
@@ -0,0 +1,121 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _NMTDS_StdMapNodeOfMapOfPassKeyBoolean_HeaderFile
+#define _NMTDS_StdMapNodeOfMapOfPassKeyBoolean_HeaderFile
+
+#ifndef _Standard_HeaderFile
+#include <Standard.hxx>
+#endif
+#ifndef _Handle_NMTDS_StdMapNodeOfMapOfPassKeyBoolean_HeaderFile
+#include <Handle_NMTDS_StdMapNodeOfMapOfPassKeyBoolean.hxx>
+#endif
+
+#ifndef _NMTDS_PassKeyBoolean_HeaderFile
+#include <NMTDS_PassKeyBoolean.hxx>
+#endif
+#ifndef _TCollection_MapNode_HeaderFile
+#include <TCollection_MapNode.hxx>
+#endif
+#ifndef _TCollection_MapNodePtr_HeaderFile
+#include <TCollection_MapNodePtr.hxx>
+#endif
+class NMTDS_PassKeyBoolean;
+class NMTDS_PassKeyMapHasher;
+class NMTDS_MapOfPassKeyBoolean;
+class NMTDS_MapIteratorOfMapOfPassKeyBoolean;
+
+
+
+class NMTDS_StdMapNodeOfMapOfPassKeyBoolean : public TCollection_MapNode {
+
+public:
+ // Methods PUBLIC
+ // 
+
+NMTDS_StdMapNodeOfMapOfPassKeyBoolean(const NMTDS_PassKeyBoolean& K,const TCollection_MapNodePtr& n);
+
+  NMTDS_PassKeyBoolean& Key() const;
+//Standard_EXPORT ~NMTDS_StdMapNodeOfMapOfPassKeyBoolean();
+
+
+
+
+ // Type management
+ //
+ Standard_EXPORT const Handle(Standard_Type)& DynamicType() const;
+ //Standard_EXPORT Standard_Boolean           IsKind(const Handle(Standard_Type)&) const;
+
+protected:
+
+ // Methods PROTECTED
+ // 
+
+
+ // Fields PROTECTED
+ //
+
+
+private: 
+
+ // Methods PRIVATE
+ // 
+
+
+ // Fields PRIVATE
+ //
+NMTDS_PassKeyBoolean myKey;
+
+
+};
+
+#define TheKey NMTDS_PassKeyBoolean
+#define TheKey_hxx <NMTDS_PassKeyBoolean.hxx>
+#define Hasher NMTDS_PassKeyMapHasher
+#define Hasher_hxx <NMTDS_PassKeyMapHasher.hxx>
+#define TCollection_StdMapNode NMTDS_StdMapNodeOfMapOfPassKeyBoolean
+#define TCollection_StdMapNode_hxx <NMTDS_StdMapNodeOfMapOfPassKeyBoolean.hxx>
+#define TCollection_MapIterator NMTDS_MapIteratorOfMapOfPassKeyBoolean
+#define TCollection_MapIterator_hxx <NMTDS_MapIteratorOfMapOfPassKeyBoolean.hxx>
+#define Handle_TCollection_StdMapNode Handle_NMTDS_StdMapNodeOfMapOfPassKeyBoolean
+#define TCollection_StdMapNode_Type_() NMTDS_StdMapNodeOfMapOfPassKeyBoolean_Type_()
+#define TCollection_Map NMTDS_MapOfPassKeyBoolean
+#define TCollection_Map_hxx <NMTDS_MapOfPassKeyBoolean.hxx>
+
+#include <TCollection_StdMapNode.lxx>
+
+#undef TheKey
+#undef TheKey_hxx
+#undef Hasher
+#undef Hasher_hxx
+#undef TCollection_StdMapNode
+#undef TCollection_StdMapNode_hxx
+#undef TCollection_MapIterator
+#undef TCollection_MapIterator_hxx
+#undef Handle_TCollection_StdMapNode
+#undef TCollection_StdMapNode_Type_
+#undef TCollection_Map
+#undef TCollection_Map_hxx
+
+
+// other Inline functions and methods (like "C++: function call" methods)
+//
+
+
+#endif
diff --git a/src/NMTDS/NMTDS_StdMapNodeOfMapOfPassKeyBoolean_0.cxx b/src/NMTDS/NMTDS_StdMapNodeOfMapOfPassKeyBoolean_0.cxx
new file mode 100644 (file)
index 0000000..9728d10
--- /dev/null
@@ -0,0 +1,98 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#include <NMTDS_StdMapNodeOfMapOfPassKeyBoolean.hxx>
+
+#ifndef _Standard_TypeMismatch_HeaderFile
+#include <Standard_TypeMismatch.hxx>
+#endif
+
+#ifndef _NMTDS_PassKeyBoolean_HeaderFile
+#include <NMTDS_PassKeyBoolean.hxx>
+#endif
+#ifndef _NMTDS_PassKeyMapHasher_HeaderFile
+#include <NMTDS_PassKeyMapHasher.hxx>
+#endif
+#ifndef _NMTDS_MapOfPassKeyBoolean_HeaderFile
+#include <NMTDS_MapOfPassKeyBoolean.hxx>
+#endif
+#ifndef _NMTDS_MapIteratorOfMapOfPassKeyBoolean_HeaderFile
+#include <NMTDS_MapIteratorOfMapOfPassKeyBoolean.hxx>
+#endif
+//NMTDS_StdMapNodeOfMapOfPassKeyBoolean::~NMTDS_StdMapNodeOfMapOfPassKeyBoolean() {}
+
+
+Standard_EXPORT Handle_Standard_Type& NMTDS_StdMapNodeOfMapOfPassKeyBoolean_Type_()
+{
+
+    static Handle_Standard_Type aType1 = STANDARD_TYPE(TCollection_MapNode);
+  static Handle_Standard_Type aType2 = STANDARD_TYPE(MMgt_TShared);
+  static Handle_Standard_Type aType3 = STANDARD_TYPE(Standard_Transient);
+
+  static Handle_Standard_Transient _Ancestors[]= {aType1,aType2,aType3,NULL};
+  static Handle_Standard_Type _aType = new Standard_Type("NMTDS_StdMapNodeOfMapOfPassKeyBoolean",
+                                                        sizeof(NMTDS_StdMapNodeOfMapOfPassKeyBoolean),
+                                                        1,
+                                                        (Standard_Address)_Ancestors,
+                                                        (Standard_Address)NULL);
+
+  return _aType;
+}
+
+
+// DownCast method
+//   allow safe downcasting
+//
+const Handle(NMTDS_StdMapNodeOfMapOfPassKeyBoolean) Handle(NMTDS_StdMapNodeOfMapOfPassKeyBoolean)::DownCast(const Handle(Standard_Transient)& AnObject) 
+{
+  Handle(NMTDS_StdMapNodeOfMapOfPassKeyBoolean) _anOtherObject;
+
+  if (!AnObject.IsNull()) {
+     if (AnObject->IsKind(STANDARD_TYPE(NMTDS_StdMapNodeOfMapOfPassKeyBoolean))) {
+       _anOtherObject = Handle(NMTDS_StdMapNodeOfMapOfPassKeyBoolean)((Handle(NMTDS_StdMapNodeOfMapOfPassKeyBoolean)&)AnObject);
+     }
+  }
+
+  return _anOtherObject ;
+}
+const Handle(Standard_Type)& NMTDS_StdMapNodeOfMapOfPassKeyBoolean::DynamicType() const 
+{ 
+  return STANDARD_TYPE(NMTDS_StdMapNodeOfMapOfPassKeyBoolean) ; 
+}
+//Standard_Boolean NMTDS_StdMapNodeOfMapOfPassKeyBoolean::IsKind(const Handle(Standard_Type)& AType) const 
+//{ 
+//  return (STANDARD_TYPE(NMTDS_StdMapNodeOfMapOfPassKeyBoolean) == AType || TCollection_MapNode::IsKind(AType)); 
+//}
+//Handle_NMTDS_StdMapNodeOfMapOfPassKeyBoolean::~Handle_NMTDS_StdMapNodeOfMapOfPassKeyBoolean() {}
+#define TheKey NMTDS_PassKeyBoolean
+#define TheKey_hxx <NMTDS_PassKeyBoolean.hxx>
+#define Hasher NMTDS_PassKeyMapHasher
+#define Hasher_hxx <NMTDS_PassKeyMapHasher.hxx>
+#define TCollection_StdMapNode NMTDS_StdMapNodeOfMapOfPassKeyBoolean
+#define TCollection_StdMapNode_hxx <NMTDS_StdMapNodeOfMapOfPassKeyBoolean.hxx>
+#define TCollection_MapIterator NMTDS_MapIteratorOfMapOfPassKeyBoolean
+#define TCollection_MapIterator_hxx <NMTDS_MapIteratorOfMapOfPassKeyBoolean.hxx>
+#define Handle_TCollection_StdMapNode Handle_NMTDS_StdMapNodeOfMapOfPassKeyBoolean
+#define TCollection_StdMapNode_Type_() NMTDS_StdMapNodeOfMapOfPassKeyBoolean_Type_()
+#define TCollection_Map NMTDS_MapOfPassKeyBoolean
+#define TCollection_Map_hxx <NMTDS_MapOfPassKeyBoolean.hxx>
+#include <TCollection_StdMapNode.gxx>
+
diff --git a/src/NMTDS/NMTDS_StdMapNodeOfMapOfPassKey_0.cxx b/src/NMTDS/NMTDS_StdMapNodeOfMapOfPassKey_0.cxx
new file mode 100644 (file)
index 0000000..08659bb
--- /dev/null
@@ -0,0 +1,98 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#include <NMTDS_StdMapNodeOfMapOfPassKey.hxx>
+
+#ifndef _Standard_TypeMismatch_HeaderFile
+#include <Standard_TypeMismatch.hxx>
+#endif
+
+#ifndef _NMTDS_PassKey_HeaderFile
+#include <NMTDS_PassKey.hxx>
+#endif
+#ifndef _NMTDS_PassKeyMapHasher_HeaderFile
+#include <NMTDS_PassKeyMapHasher.hxx>
+#endif
+#ifndef _NMTDS_MapOfPassKey_HeaderFile
+#include <NMTDS_MapOfPassKey.hxx>
+#endif
+#ifndef _NMTDS_MapIteratorOfMapOfPassKey_HeaderFile
+#include <NMTDS_MapIteratorOfMapOfPassKey.hxx>
+#endif
+//NMTDS_StdMapNodeOfMapOfPassKey::~NMTDS_StdMapNodeOfMapOfPassKey() {}
+
+
+Standard_EXPORT Handle_Standard_Type& NMTDS_StdMapNodeOfMapOfPassKey_Type_()
+{
+
+    static Handle_Standard_Type aType1 = STANDARD_TYPE(TCollection_MapNode);
+  static Handle_Standard_Type aType2 = STANDARD_TYPE(MMgt_TShared);
+  static Handle_Standard_Type aType3 = STANDARD_TYPE(Standard_Transient);
+
+  static Handle_Standard_Transient _Ancestors[]= {aType1,aType2,aType3,NULL};
+  static Handle_Standard_Type _aType = new Standard_Type("NMTDS_StdMapNodeOfMapOfPassKey",
+                                                        sizeof(NMTDS_StdMapNodeOfMapOfPassKey),
+                                                        1,
+                                                        (Standard_Address)_Ancestors,
+                                                        (Standard_Address)NULL);
+
+  return _aType;
+}
+
+
+// DownCast method
+//   allow safe downcasting
+//
+const Handle(NMTDS_StdMapNodeOfMapOfPassKey) Handle(NMTDS_StdMapNodeOfMapOfPassKey)::DownCast(const Handle(Standard_Transient)& AnObject) 
+{
+  Handle(NMTDS_StdMapNodeOfMapOfPassKey) _anOtherObject;
+
+  if (!AnObject.IsNull()) {
+     if (AnObject->IsKind(STANDARD_TYPE(NMTDS_StdMapNodeOfMapOfPassKey))) {
+       _anOtherObject = Handle(NMTDS_StdMapNodeOfMapOfPassKey)((Handle(NMTDS_StdMapNodeOfMapOfPassKey)&)AnObject);
+     }
+  }
+
+  return _anOtherObject ;
+}
+const Handle(Standard_Type)& NMTDS_StdMapNodeOfMapOfPassKey::DynamicType() const 
+{ 
+  return STANDARD_TYPE(NMTDS_StdMapNodeOfMapOfPassKey) ; 
+}
+//Standard_Boolean NMTDS_StdMapNodeOfMapOfPassKey::IsKind(const Handle(Standard_Type)& AType) const 
+//{ 
+//  return (STANDARD_TYPE(NMTDS_StdMapNodeOfMapOfPassKey) == AType || TCollection_MapNode::IsKind(AType)); 
+//}
+//Handle_NMTDS_StdMapNodeOfMapOfPassKey::~Handle_NMTDS_StdMapNodeOfMapOfPassKey() {}
+#define TheKey NMTDS_PassKey
+#define TheKey_hxx <NMTDS_PassKey.hxx>
+#define Hasher NMTDS_PassKeyMapHasher
+#define Hasher_hxx <NMTDS_PassKeyMapHasher.hxx>
+#define TCollection_StdMapNode NMTDS_StdMapNodeOfMapOfPassKey
+#define TCollection_StdMapNode_hxx <NMTDS_StdMapNodeOfMapOfPassKey.hxx>
+#define TCollection_MapIterator NMTDS_MapIteratorOfMapOfPassKey
+#define TCollection_MapIterator_hxx <NMTDS_MapIteratorOfMapOfPassKey.hxx>
+#define Handle_TCollection_StdMapNode Handle_NMTDS_StdMapNodeOfMapOfPassKey
+#define TCollection_StdMapNode_Type_() NMTDS_StdMapNodeOfMapOfPassKey_Type_()
+#define TCollection_Map NMTDS_MapOfPassKey
+#define TCollection_Map_hxx <NMTDS_MapOfPassKey.hxx>
+#include <TCollection_StdMapNode.gxx>
+
index f036a1f106f2eb897a707878d71b5879a91ebfcd..3499864cc52d288203a9251630da82a6b9e08ac3 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -39,18 +39,6 @@ Standard_EXPORT Handle_Standard_Type& STANDARD_TYPE(NMTDS_IndexedDataMapNodeOfIn
 
 class Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger) : public Handle(TCollection_MapNode) {
   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); 
-      }
     Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger)():Handle(TCollection_MapNode)() {} 
     Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger)(const Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger)& aHandle) : Handle(TCollection_MapNode)(aHandle) 
      {
@@ -72,17 +60,12 @@ class Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfSh
       return *this;
      }
 
-    NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger* operator->() 
-     {
-      return (NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger *)ControlAccess();
-     }
-
-    NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger* operator->() const 
+    NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger* operator->() const
      {
       return (NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger *)ControlAccess();
      }
 
-   Standard_EXPORT ~Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger)();
+//   Standard_EXPORT ~Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger)();
  
    Standard_EXPORT static const Handle(NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger) DownCast(const Handle(Standard_Transient)& AnObject);
 };
index 8ffb2d9b277c0751ad2937f39fcd77aa6fff31d2..48ce73f8a49221ce3d39c9aaed7da8ae2aa33aff 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -39,18 +39,6 @@ Standard_EXPORT Handle_Standard_Type& STANDARD_TYPE(NMTDS_ListNodeOfListOfIndexe
 
 class Handle(NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors) : public Handle(TCollection_MapNode) {
   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); 
-      }
     Handle(NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors)():Handle(TCollection_MapNode)() {} 
     Handle(NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors)(const Handle(NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors)& aHandle) : Handle(TCollection_MapNode)(aHandle) 
      {
@@ -72,17 +60,12 @@ class Handle(NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors) : p
       return *this;
      }
 
-    NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors* operator->() 
-     {
-      return (NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors *)ControlAccess();
-     }
-
-    NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors* operator->() const 
+    NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors* operator->() const
      {
       return (NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors *)ControlAccess();
      }
 
-   Standard_EXPORT ~Handle(NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors)();
+//   Standard_EXPORT ~Handle(NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors)();
  
    Standard_EXPORT static const Handle(NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors) DownCast(const Handle(Standard_Transient)& AnObject);
 };
diff --git a/src/NMTTools/Handle_NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock.hxx b/src/NMTTools/Handle_NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock.hxx
new file mode 100644 (file)
index 0000000..a1d7b30
--- /dev/null
@@ -0,0 +1,72 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _Handle_NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock_HeaderFile
+#define _Handle_NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock_HeaderFile
+
+#ifndef _Standard_Macro_HeaderFile
+#include <Standard_Macro.hxx>
+#endif
+#ifndef _Standard_HeaderFile
+#include <Standard.hxx>
+#endif
+
+#ifndef _Handle_TCollection_MapNode_HeaderFile
+#include <Handle_TCollection_MapNode.hxx>
+#endif
+
+class Standard_Transient;
+class Handle_Standard_Type;
+class Handle(TCollection_MapNode);
+class NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock;
+Standard_EXPORT Handle_Standard_Type& STANDARD_TYPE(NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock);
+
+class Handle(NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock) : public Handle(TCollection_MapNode) {
+  public:
+    Handle(NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock)():Handle(TCollection_MapNode)() {} 
+    Handle(NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock)(const Handle(NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock)& aHandle) : Handle(TCollection_MapNode)(aHandle) 
+     {
+     }
+
+    Handle(NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock)(const NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock* anItem) : Handle(TCollection_MapNode)((TCollection_MapNode *)anItem) 
+     {
+     }
+
+    Handle(NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock)& operator=(const Handle(NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock)& aHandle)
+     {
+      Assign(aHandle.Access());
+      return *this;
+     }
+
+    Handle(NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock)& operator=(const NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock* anItem)
+     {
+      Assign((Standard_Transient *)anItem);
+      return *this;
+     }
+
+    NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock* operator->() const
+     {
+      return (NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock *)ControlAccess();
+     }
+
+//   Standard_EXPORT ~Handle(NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock)();
+   Standard_EXPORT static const Handle(NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock) DownCast(const Handle(Standard_Transient)& AnObject);
+};
+#endif
index 455ba18bdc3b178bf63495130de8901f437a68dc..ddf434f3fd2420a5c26053bfa921c5ad18bc5fb8 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -39,18 +39,6 @@ Standard_EXPORT Handle_Standard_Type& STANDARD_TYPE(NMTTools_IndexedDataMapNodeO
 
 class Handle(NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger) : public Handle(TCollection_MapNode) {
   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); 
-      }
     Handle(NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger)():Handle(TCollection_MapNode)() {} 
     Handle(NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger)(const Handle(NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger)& aHandle) : Handle(TCollection_MapNode)(aHandle) 
      {
@@ -72,17 +60,12 @@ class Handle(NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger) :
       return *this;
      }
 
-    NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger* operator->() 
-     {
-      return (NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger *)ControlAccess();
-     }
-
-    NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger* operator->() const 
+    NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger* operator->() const
      {
       return (NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger *)ControlAccess();
      }
 
-   Standard_EXPORT ~Handle(NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger)();
+//   Standard_EXPORT ~Handle(NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger)();
  
    Standard_EXPORT static const Handle(NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger) DownCast(const Handle(Standard_Transient)& AnObject);
 };
index 6bbb071adde8f3a19d703710e651c9e9343e6c40..2ae11665b7f9745bfd5dc4f27352c370a2762ceb 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -39,18 +39,6 @@ Standard_EXPORT Handle_Standard_Type& STANDARD_TYPE(NMTTools_IndexedDataMapNodeO
 
 class Handle(NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape) : public Handle(TCollection_MapNode) {
   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); 
-      }
     Handle(NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape)():Handle(TCollection_MapNode)() {} 
     Handle(NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape)(const Handle(NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape)& aHandle) : Handle(TCollection_MapNode)(aHandle) 
      {
@@ -72,17 +60,12 @@ class Handle(NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape
       return *this;
      }
 
-    NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape* operator->() 
-     {
-      return (NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape *)ControlAccess();
-     }
-
-    NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape* operator->() const 
+    NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape* operator->() const
      {
       return (NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape *)ControlAccess();
      }
 
-   Standard_EXPORT ~Handle(NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape)();
+//   Standard_EXPORT ~Handle(NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape)();
  
    Standard_EXPORT static const Handle(NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape) DownCast(const Handle(Standard_Transient)& AnObject);
 };
index 63bb65648f8a49311fd8cb58d26fbe0b9e63b680..bd78cab85ff2e612090dc76216bbb9d38f83fdca 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -39,18 +39,6 @@ Standard_EXPORT Handle_Standard_Type& STANDARD_TYPE(NMTTools_IndexedDataMapNodeO
 
 class Handle(NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock) : public Handle(TCollection_MapNode) {
   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); 
-      }
     Handle(NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock)():Handle(TCollection_MapNode)() {} 
     Handle(NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock)(const Handle(NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock)& aHandle) : Handle(TCollection_MapNode)(aHandle) 
      {
@@ -72,17 +60,12 @@ class Handle(NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock) : publ
       return *this;
      }
 
-    NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock* operator->() 
-     {
-      return (NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock *)ControlAccess();
-     }
-
-    NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock* operator->() const 
+    NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock* operator->() const
      {
       return (NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock *)ControlAccess();
      }
 
-   Standard_EXPORT ~Handle(NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock)();
+//   Standard_EXPORT ~Handle(NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock)();
  
    Standard_EXPORT static const Handle(NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock) DownCast(const Handle(Standard_Transient)& AnObject);
 };
index a141eebb81fcd7f828db0006f50abcf34a995950..68c12bec0d6a80b749d0d4806c3a2b566e20ccfb 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -39,18 +39,6 @@ Standard_EXPORT Handle_Standard_Type& STANDARD_TYPE(NMTTools_ListNodeOfListOfCom
 
 class Handle(NMTTools_ListNodeOfListOfCommonBlock) : public Handle(TCollection_MapNode) {
   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); 
-      }
     Handle(NMTTools_ListNodeOfListOfCommonBlock)():Handle(TCollection_MapNode)() {} 
     Handle(NMTTools_ListNodeOfListOfCommonBlock)(const Handle(NMTTools_ListNodeOfListOfCommonBlock)& aHandle) : Handle(TCollection_MapNode)(aHandle) 
      {
@@ -72,17 +60,12 @@ class Handle(NMTTools_ListNodeOfListOfCommonBlock) : public Handle(TCollection_M
       return *this;
      }
 
-    NMTTools_ListNodeOfListOfCommonBlock* operator->() 
-     {
-      return (NMTTools_ListNodeOfListOfCommonBlock *)ControlAccess();
-     }
-
-    NMTTools_ListNodeOfListOfCommonBlock* operator->() const 
+    NMTTools_ListNodeOfListOfCommonBlock* operator->() const
      {
       return (NMTTools_ListNodeOfListOfCommonBlock *)ControlAccess();
      }
 
-   Standard_EXPORT ~Handle(NMTTools_ListNodeOfListOfCommonBlock)();
+//   Standard_EXPORT ~Handle(NMTTools_ListNodeOfListOfCommonBlock)();
  
    Standard_EXPORT static const Handle(NMTTools_ListNodeOfListOfCommonBlock) DownCast(const Handle(Standard_Transient)& AnObject);
 };
index 47ad735ce89c6a3a9a89d391191dc12a29264fba..10c82d0404f45f7cdc41c27963602958bd71bdbb 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -39,18 +39,6 @@ Standard_EXPORT Handle_Standard_Type& STANDARD_TYPE(NMTTools_ListNodeOfListOfCou
 
 class Handle(NMTTools_ListNodeOfListOfCoupleOfShape) : public Handle(TCollection_MapNode) {
   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); 
-      }
     Handle(NMTTools_ListNodeOfListOfCoupleOfShape)():Handle(TCollection_MapNode)() {} 
     Handle(NMTTools_ListNodeOfListOfCoupleOfShape)(const Handle(NMTTools_ListNodeOfListOfCoupleOfShape)& aHandle) : Handle(TCollection_MapNode)(aHandle) 
      {
@@ -72,17 +60,12 @@ class Handle(NMTTools_ListNodeOfListOfCoupleOfShape) : public Handle(TCollection
       return *this;
      }
 
-    NMTTools_ListNodeOfListOfCoupleOfShape* operator->() 
-     {
-      return (NMTTools_ListNodeOfListOfCoupleOfShape *)ControlAccess();
-     }
-
-    NMTTools_ListNodeOfListOfCoupleOfShape* operator->() const 
+    NMTTools_ListNodeOfListOfCoupleOfShape* operator->() const
      {
       return (NMTTools_ListNodeOfListOfCoupleOfShape *)ControlAccess();
      }
 
-   Standard_EXPORT ~Handle(NMTTools_ListNodeOfListOfCoupleOfShape)();
+//   Standard_EXPORT ~Handle(NMTTools_ListNodeOfListOfCoupleOfShape)();
  
    Standard_EXPORT static const Handle(NMTTools_ListNodeOfListOfCoupleOfShape) DownCast(const Handle(Standard_Transient)& AnObject);
 };
diff --git a/src/NMTTools/Handle_NMTTools_StdMapNodeOfMapOfPaveBlock.hxx b/src/NMTTools/Handle_NMTTools_StdMapNodeOfMapOfPaveBlock.hxx
new file mode 100644 (file)
index 0000000..93a4a76
--- /dev/null
@@ -0,0 +1,72 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _Handle_NMTTools_StdMapNodeOfMapOfPaveBlock_HeaderFile
+#define _Handle_NMTTools_StdMapNodeOfMapOfPaveBlock_HeaderFile
+
+#ifndef _Standard_Macro_HeaderFile
+#include <Standard_Macro.hxx>
+#endif
+#ifndef _Standard_HeaderFile
+#include <Standard.hxx>
+#endif
+
+#ifndef _Handle_TCollection_MapNode_HeaderFile
+#include <Handle_TCollection_MapNode.hxx>
+#endif
+
+class Standard_Transient;
+class Handle_Standard_Type;
+class Handle(TCollection_MapNode);
+class NMTTools_StdMapNodeOfMapOfPaveBlock;
+Standard_EXPORT Handle_Standard_Type& STANDARD_TYPE(NMTTools_StdMapNodeOfMapOfPaveBlock);
+
+class Handle(NMTTools_StdMapNodeOfMapOfPaveBlock) : public Handle(TCollection_MapNode) {
+  public:
+    Handle(NMTTools_StdMapNodeOfMapOfPaveBlock)():Handle(TCollection_MapNode)() {} 
+    Handle(NMTTools_StdMapNodeOfMapOfPaveBlock)(const Handle(NMTTools_StdMapNodeOfMapOfPaveBlock)& aHandle) : Handle(TCollection_MapNode)(aHandle) 
+     {
+     }
+
+    Handle(NMTTools_StdMapNodeOfMapOfPaveBlock)(const NMTTools_StdMapNodeOfMapOfPaveBlock* anItem) : Handle(TCollection_MapNode)((TCollection_MapNode *)anItem) 
+     {
+     }
+
+    Handle(NMTTools_StdMapNodeOfMapOfPaveBlock)& operator=(const Handle(NMTTools_StdMapNodeOfMapOfPaveBlock)& aHandle)
+     {
+      Assign(aHandle.Access());
+      return *this;
+     }
+
+    Handle(NMTTools_StdMapNodeOfMapOfPaveBlock)& operator=(const NMTTools_StdMapNodeOfMapOfPaveBlock* anItem)
+     {
+      Assign((Standard_Transient *)anItem);
+      return *this;
+     }
+
+    NMTTools_StdMapNodeOfMapOfPaveBlock* operator->() const
+     {
+      return (NMTTools_StdMapNodeOfMapOfPaveBlock *)ControlAccess();
+     }
+
+//   Standard_EXPORT ~Handle(NMTTools_StdMapNodeOfMapOfPaveBlock)();
+   Standard_EXPORT static const Handle(NMTTools_StdMapNodeOfMapOfPaveBlock) DownCast(const Handle(Standard_Transient)& AnObject);
+};
+#endif
index c3743847fe460d508af92358f0fd52920b1a358a..0e8cd2abdfb8d4709d6473937aa3e5ede7ab6136 100644 (file)
@@ -37,8 +37,8 @@ VPATH=.:@srcdir@
 # Libraries targets
 LIB = libNMTTools.la
 LIB_SRC = \
-       NMTTools_CommonBlock.cxx \
        NMTTools_CommonBlockAPI.cxx \
+       NMTTools_CommonBlock.cxx \
        NMTTools_CommonBlockPool_0.cxx \
        NMTTools_CoupleOfShape.cxx \
        NMTTools_DEProcessor.cxx \
@@ -56,7 +56,6 @@ LIB_SRC = \
        NMTTools_ListNodeOfListOfCoupleOfShape_0.cxx \
        NMTTools_ListOfCommonBlock_0.cxx \
        NMTTools_ListOfCoupleOfShape_0.cxx \
-       NMTTools_PaveFiller.cxx \
        NMTTools_PaveFiller_0.cxx \
        NMTTools_PaveFiller_1.cxx \
        NMTTools_PaveFiller_2.cxx \
@@ -67,27 +66,62 @@ LIB_SRC = \
        NMTTools_PaveFiller_7.cxx \
        NMTTools_PaveFiller_8.cxx \
        NMTTools_PaveFiller_9.cxx \
+       NMTTools_PaveFiller.cxx \
        NMTTools_PCurveMaker.cxx \
-       NMTTools_Tools.cxx
+       NMTTools_Tools.cxx \
+       NMTTools_DataMapIteratorOfDataMapOfIntegerListOfPaveBlock_0.cxx \
+       NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock_0.cxx \
+       NMTTools_DataMapOfIntegerListOfPaveBlock_0.cxx \
+       NMTTools_MapIteratorOfMapOfPaveBlock_0.cxx \
+       NMTTools_MapOfPaveBlock_0.cxx \
+       NMTTools_StdMapNodeOfMapOfPaveBlock_0.cxx
+
 
 LIB_CLIENT_IDL = 
 LIB_SERVER_IDL = 
 
 # header files 
 EXPORT_HEADERS = \
-       NMTTools_PDSFiller.hxx \
-       NMTTools_DSFiller.hxx \
-       NMTTools_PPaveFiller.hxx \
-       NMTTools_PaveFiller.hxx \
-       NMTTools_ListOfCoupleOfShape.hxx \
-       NMTTools_Tools.hxx \
+       Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerIndexedDataMapOfShapeInteger.hxx \
+       Handle_NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors.hxx \
+       Handle_NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger.hxx \
+       Handle_NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape.hxx \
+       Handle_NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock.hxx \
+       Handle_NMTTools_ListNodeOfListOfCommonBlock.hxx \
+       Handle_NMTTools_ListNodeOfListOfCoupleOfShape.hxx \
+       NMTDS_Iterator.hxx \
+       NMTTools_CommonBlockAPI.hxx \
+       NMTTools_CommonBlock.hxx \
+       NMTTools_CommonBlockPool.hxx \
        NMTTools_CoupleOfShape.hxx \
-       NMTTools_ListIteratorOfListOfCoupleOfShape.hxx \
+       NMTTools_DEProcessor.hxx \
+       NMTTools_DSFiller.hxx \
+       NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger.hxx \
+       NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape.hxx \
+       NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock.hxx \
+       NMTTools_IndexedDataMapOfIndexedMapOfInteger.hxx \
        NMTTools_IndexedDataMapOfShapeIndexedMapOfShape.hxx \
+       NMTTools_IndexedDataMapOfShapePaveBlock.hxx \
        NMTTools_IteratorOfCoupleOfShape.hxx \
-       NMTTools_CommonBlockPool.hxx \
-       Handle_NMTTools_ListNodeOfListOfCoupleOfShape.hxx \
-       Handle_NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape.hxx
+       NMTTools_ListIteratorOfListOfCommonBlock.hxx \
+       NMTTools_ListIteratorOfListOfCoupleOfShape.hxx \
+       NMTTools_ListNodeOfListOfCommonBlock.hxx \
+       NMTTools_ListNodeOfListOfCoupleOfShape.hxx \
+       NMTTools_ListOfCommonBlock.hxx \
+       NMTTools_ListOfCoupleOfShape.hxx \
+       NMTTools_PaveFiller.hxx \
+       NMTTools_PCurveMaker.hxx \
+       NMTTools_PDSFiller.hxx \
+       NMTTools_PPaveFiller.hxx \
+       NMTTools_Tools.hxx \
+       Handle_NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock.hxx \
+       Handle_NMTTools_StdMapNodeOfMapOfPaveBlock.hxx \
+       NMTTools_DataMapIteratorOfDataMapOfIntegerListOfPaveBlock.hxx \
+       NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock.hxx \
+       NMTTools_DataMapOfIntegerListOfPaveBlock.hxx \
+       NMTTools_MapIteratorOfMapOfPaveBlock.hxx \
+       NMTTools_MapOfPaveBlock.hxx \
+       NMTTools_StdMapNodeOfMapOfPaveBlock.hxx
 
 # idl files
 EXPORT_IDLS=
diff --git a/src/NMTTools/NMTDS_Iterator.hxx b/src/NMTTools/NMTDS_Iterator.hxx
new file mode 100644 (file)
index 0000000..158a358
--- /dev/null
@@ -0,0 +1,138 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _NMTDS_Iterator_HeaderFile
+#define _NMTDS_Iterator_HeaderFile
+
+#ifndef _NMTDS_PShapesDataStructure_HeaderFile
+#include <NMTDS_PShapesDataStructure.hxx>
+#endif
+#ifndef _NMTDS_ListOfPassKeyBoolean_HeaderFile
+#include <NMTDS_ListOfPassKeyBoolean.hxx>
+#endif
+#ifndef _NMTDS_ListIteratorOfListOfPassKeyBoolean_HeaderFile
+#include <NMTDS_ListIteratorOfListOfPassKeyBoolean.hxx>
+#endif
+#ifndef _Standard_Integer_HeaderFile
+#include <Standard_Integer.hxx>
+#endif
+#ifndef _TopAbs_ShapeEnum_HeaderFile
+#include <TopAbs_ShapeEnum.hxx>
+#endif
+#ifndef _Standard_Boolean_HeaderFile
+#include <Standard_Boolean.hxx>
+#endif
+class NMTDS_ShapesDataStructure;
+
+
+#ifndef _Standard_HeaderFile
+#include <Standard.hxx>
+#endif
+#ifndef _Standard_Macro_HeaderFile
+#include <Standard_Macro.hxx>
+#endif
+
+
+class NMTDS_Iterator  {
+
+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 NMTDS_Iterator();
+Standard_EXPORT virtual ~NMTDS_Iterator();
+
+
+Standard_EXPORT   void SetDS(const NMTDS_PShapesDataStructure& pDS) ;
+
+
+Standard_EXPORT  const NMTDS_ShapesDataStructure& DS() const;
+
+
+Standard_EXPORT   void Initialize(const TopAbs_ShapeEnum aType1,const TopAbs_ShapeEnum aType2) ;
+
+
+Standard_EXPORT   Standard_Boolean More() const;
+
+
+Standard_EXPORT   void Next() ;
+
+
+Standard_EXPORT   void Current(Standard_Integer& aIndex1,Standard_Integer& aIndex2,Standard_Boolean& aWithSubShape) const;
+
+
+Standard_EXPORT   void Prepare() ;
+
+
+Standard_EXPORT   Standard_Integer ExpectedLength() const;
+
+
+
+
+
+protected:
+
+ // Methods PROTECTED
+ // 
+
+
+ // Fields PROTECTED
+ //
+NMTDS_PShapesDataStructure myPDS;
+NMTDS_ListOfPassKeyBoolean myLists[6];
+NMTDS_ListIteratorOfListOfPassKeyBoolean myIterator;
+NMTDS_ListOfPassKeyBoolean myEmptyList;
+Standard_Integer myLength;
+
+
+private: 
+
+ // Methods PRIVATE
+ // 
+
+
+ // Fields PRIVATE
+ //
+
+
+};
+
+
+
+
+
+// other Inline functions and methods (like "C++: function call" methods)
+//
+
+
+#endif
index dc10949d9a84f13fbae07f52f33b59529f9965d4..6342a3082816a076090775dab1e62d9764d917cb 100644 (file)
@@ -1,27 +1,26 @@
-// Copyright (C) 2005  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 
-// 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 
-// 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 
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
-//
+-- Copyright (C) 2005  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 
+-- 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 
+-- 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 
+-- 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.cdl
 -- Created:    Thu Dec  4 16:55:49 2003
 -- Author:     Peter KURNEV
 --             <pkv@irinox>
----Copyright:   Matra Datavision 2003
 
 
 package NMTTools 
@@ -54,7 +53,7 @@ is
     class PCurveMaker; 
     class DEProcessor; 
     class CoupleOfShape; 
-    
+        
     pointer PPaveFiller to PaveFiller from NMTTools;
     pointer PDSFiller   to DSFiller   from NMTTools;
 
@@ -82,4 +81,14 @@ is
     class ListOfCoupleOfShape  instantiates  
        List from TCollection(CoupleOfShape from NMTTools);      
 
+--
+    class DataMapOfIntegerListOfPaveBlock instantiates 
+       DataMap from TCollection(Integer from  Standard,
+                                ListOfPaveBlock from BOPTools,
+                                MapIntegerHasher from TColStd); 
+                                
+    class  MapOfPaveBlock  instantiates 
+       Map from TCollection   (PaveBlock from BOPTools, 
+                               PaveBlockMapHasher from BOPTools);      
+--
 end NMTTools;
index 039cd74aebc39f253e64763b57894b0d2f3a31e4..7c4fd74091e18cf6ac76718dd0d008c4a4cd5965 100644 (file)
@@ -1,27 +1,27 @@
-// Copyright (C) 2005  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 
-// 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 
-// 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 
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
-//
+-- Copyright (C) 2005  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 
+-- 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 
+-- 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 
+-- 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_CommonBlock.cdl
 -- Created:    Tue Dec  9 12:11:48 2003
 -- Author:     Peter KURNEV
 --             <pkv@irinox>
----Copyright:   Matra Datavision 2003
+
 
 
 class CommonBlock from NMTTools 
index 904c6b5662cb2a2d4aa508be3de9acbc23b6f92d..38d036f8d9382ff93834e34d7dbeff642cb3fd7f 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -44,6 +44,7 @@ class BOPTools_ListOfPaveBlock;
 #include <Standard_Macro.hxx>
 #endif
 
+
 class NMTTools_CommonBlock  {
 
 public:
@@ -62,18 +63,44 @@ public:
       }
  // Methods PUBLIC
  // 
+
+
 Standard_EXPORT NMTTools_CommonBlock();
+
+
 Standard_EXPORT   void AddPaveBlock(const BOPTools_PaveBlock& aPB) ;
+
+
 Standard_EXPORT   void AddFace(const Standard_Integer aF) ;
+
+
 Standard_EXPORT   void AddFaces(const TColStd_ListOfInteger& aLF) ;
+
+
 Standard_EXPORT  const BOPTools_ListOfPaveBlock& PaveBlocks() const;
+
+
 Standard_EXPORT  const TColStd_ListOfInteger& Faces() const;
+
+
 Standard_EXPORT  const BOPTools_PaveBlock& PaveBlock1() const;
+
+
 Standard_EXPORT   BOPTools_PaveBlock& PaveBlock1(const Standard_Integer anIx) ;
+
+
 Standard_EXPORT   BOPTools_PaveBlock& PaveBlockOnEdge(const Standard_Integer anIndex) ;
+
+
 Standard_EXPORT   Standard_Boolean IsPaveBlockOnFace(const Standard_Integer anIndex) const;
+
+
 Standard_EXPORT   Standard_Boolean IsPaveBlockOnEdge(const Standard_Integer anIndex) const;
+
+
 Standard_EXPORT   Standard_Boolean IsEqual(const NMTTools_CommonBlock& aCB) const;
+
+
 Standard_EXPORT   Standard_Boolean Contains(const BOPTools_PaveBlock& aPB) const;
 
 
index a93f77cb66bb92e0fff8f874541b33cee6d7ca6a..91d08c8c876e1404eadb4a115315201742f51ab5 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
index b02eb5526d3adb172e29b5fb744cdf20afe64398..1373207f31b621db08fb7372354f8abf84c3725f 100644 (file)
@@ -1,22 +1,22 @@
 // Copyright (C) 2005  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
-//
+
 #ifndef _BOPTools_PaveBlock_HeaderFile
 #include <BOPTools_PaveBlock.hxx>
 #endif
index 8a10dc3a89622c4e8d068f790ac5830b77cdb878..8743ee8eef12d46c1109e477c5bd7290bf4f22e2 100644 (file)
@@ -1,27 +1,26 @@
-// Copyright (C) 2005  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 
-// 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 
-// 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 
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
-//
+-- Copyright (C) 2005  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 
+-- 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 
+-- 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 
+-- 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.cdl
 -- Created:    Mon Dec 15 11:35:46 2003
 -- Author:     Peter KURNEV
 --             <pkv@irinox>
----Copyright:   Matra Datavision 2003
 
 
 class CommonBlockAPI from NMTTools 
index 24f8fc645748d01c5f8f5089c8bddc0d17e47e96..a3c437330fda9374667f547eda1c8a11fb4be415 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -45,6 +45,7 @@ class NMTTools_CommonBlock;
 #include <Standard_Macro.hxx>
 #endif
 
+
 class NMTTools_CommonBlockAPI  {
 
 public:
@@ -63,10 +64,25 @@ public:
       }
  // Methods 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;
 
 
index 4c8755cba36661b6654e6a6a266ba24425acb044..49edac89495f97a80fba92446ca8edec1cf5a6e8 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
index 1f6547fd88c7d09194c9c9f98011a246f3d0a30b..f6599af59b89c79941e3398b3fc3b03e1b3f8aa1 100644 (file)
@@ -1,22 +1,22 @@
 // Copyright (C) 2005  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
-//
+
 #ifndef _NMTTools_ListOfCommonBlock_HeaderFile
 #include <NMTTools_ListOfCommonBlock.hxx>
 #endif
index 20106984783b7a008c71fbc109db90115f53ef6d..92f849c57690fa6229275899fefbe13fab89f209 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -41,6 +41,7 @@ class NMTTools_ListOfCommonBlock;
 #include <Standard_Macro.hxx>
 #endif
 
+
 class NMTTools_CommonBlockPool  {
 
 public:
@@ -59,32 +60,56 @@ public:
       }
  // Methods PUBLIC
  // 
+
+
 Standard_EXPORT NMTTools_CommonBlockPool(const Standard_Integer Length = 0,const Standard_Integer BlockLength = 5);
+
+
 Standard_EXPORT   void Resize(const Standard_Integer theNewLength) ;
+
+
 Standard_EXPORT   void Destroy() ;
 ~NMTTools_CommonBlockPool()
 {
   Destroy();
 }
 
+
+
 Standard_EXPORT   Standard_Integer Length() const;
+
+
 Standard_EXPORT   Standard_Integer Extent() const;
+
+
 Standard_EXPORT   Standard_Integer FactLength() const;
+
+
 Standard_EXPORT   Standard_Integer Append(const NMTTools_ListOfCommonBlock& Value) ;
+
+
 Standard_EXPORT   void Remove(const Standard_Integer Index) ;
+
+
 Standard_EXPORT  const NMTTools_ListOfCommonBlock& Value(const Standard_Integer Index) const;
  const NMTTools_ListOfCommonBlock& operator ()(const Standard_Integer Index) const
 {
   return Value(Index);
 }
 
+
+
 Standard_EXPORT   NMTTools_ListOfCommonBlock& ChangeValue(const Standard_Integer Index) ;
   NMTTools_ListOfCommonBlock& operator ()(const Standard_Integer Index) 
 {
   return ChangeValue(Index);
 }
 
+
+
 Standard_EXPORT   void SetBlockLength(const Standard_Integer aBL) ;
+
+
 Standard_EXPORT   Standard_Integer BlockLength() const;
 
 
@@ -105,13 +130,19 @@ private:
 
  // Methods PRIVATE
  // 
+
+
 Standard_EXPORT NMTTools_CommonBlockPool(const NMTTools_CommonBlockPool& AnArray);
+
+
 Standard_EXPORT   NMTTools_CommonBlockPool& Assign(const NMTTools_CommonBlockPool& Other) ;
   NMTTools_CommonBlockPool& operator =(const NMTTools_CommonBlockPool& Other) 
 {
   return Assign(Other);
 }
 
+
+
 Standard_EXPORT   Standard_Boolean IsInvalidIndex(const Standard_Integer Index) const;
 
 
index 7ca7bee085de9f70df6ad585a0ab4f18bb96f12c..09fe06543238c6d28256cc15c6a84c658b5ae927 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
index 49215b1c451d907a4b1303dadc2321b89ca62eec..7e8d2ed63ad2f273fc2d51e6c963d58ea2707c96 100644 (file)
@@ -1,27 +1,26 @@
-// Copyright (C) 2005  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 
-// 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 
-// 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 
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
-//
+-- Copyright (C) 2005  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 
+-- 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 
+-- 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 
+-- 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_CoupleOfShape.cdl
 -- Created:    Wed Jan 28 15:03:39 2004
 -- Author:     Peter KURNEV
 --             <pkv@irinox>
----Copyright:   Matra Datavision 2004
 
 
 class CoupleOfShape from NMTTools 
index db9a0c535bef4196f2ce5e9042460df32b14b638..17ccbd0af7227faa17536a37ba9698c70ee618a5 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -33,6 +33,7 @@ class TopoDS_Shape;
 #include <Standard_Macro.hxx>
 #endif
 
+
 class NMTTools_CoupleOfShape  {
 
 public:
@@ -51,10 +52,20 @@ public:
       }
  // Methods PUBLIC
  // 
+
+
 Standard_EXPORT NMTTools_CoupleOfShape();
+
+
 Standard_EXPORT   void SetShape1(const TopoDS_Shape& aS) ;
+
+
 Standard_EXPORT   void SetShape2(const TopoDS_Shape& aS) ;
+
+
 Standard_EXPORT  const TopoDS_Shape& Shape1() const;
+
+
 Standard_EXPORT  const TopoDS_Shape& Shape2() const;
 
 
index 387747024264bfcc735518ba6a502d351492ff44..9711b73adbb6831054450c18304a364d3ba03efa 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
index e7e77a0af42c295706ed0e5a40f252928bc9eb5f..fe94c884971ef71029e97569001b6b4804d0714c 100644 (file)
@@ -1,22 +1,22 @@
 // Copyright (C) 2005  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
-//
+
 #ifndef _TopoDS_Shape_HeaderFile
 #include <TopoDS_Shape.hxx>
 #endif
index 9268aaa0d3dbab1291d23d7044ee9a1f7a90d5bf..d58f06dbf1a93db18ebcfa57438c6e2667da5929 100644 (file)
@@ -1,27 +1,26 @@
-// Copyright (C) 2005  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 
-// 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 
-// 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 
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
-//
+-- Copyright (C) 2005  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 
+-- 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 
+-- 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 
+-- 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_DEProcessor.cdl
 -- Created:    Wed Sep 12 12:08:37 2001
 -- Author:     Peter KURNEV
 --             <pkv@irinox>
----Copyright:   Matra Datavision 2001
 
 
 class DEProcessor from NMTTools 
index b394de32857e3bf8800477f8be56d36ff22b850e..0350ee38c18c901042c7d11a7314c21fd8083ee0 100644 (file)
@@ -17,7 +17,7 @@
 //
 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
-// File:       BOPTools_DEProcessor.cxx
+// File:       NMTTools_DEProcessor.cxx
 // Created:    Wed Sep 12 12:10:52 2001
 // Author:     Peter KURNEV
 //             <pkv@irinox>
 
 #include <NMTDS_ShapesDataStructure.hxx>
 
-//#include <NMTTools_DSFiller.hxx>
 #include <NMTTools_PaveFiller.hxx>
 //
 #include <BOPTools_SequenceOfCurves.hxx>
 #include <BOPTools_Curve.hxx>
+//
+#include <Geom2d_TrimmedCurve.hxx>
+
+#include <ElCLib.hxx>
+#include <gp_Lin2d.hxx>
 
 
 
   aNb=myDS->NumberOfShapesOfTheObject();
   //
   for (i=1; i<=aNb; i++) {
-    const TopoDS_Shape aF=myDS->Shape(i);
+    const TopoDS_Shape aF=myDS->Shape(i);//mpv
     if (aF.ShapeType()==TopAbs_FACE) {
       TopExp::MapShapesAndAncestors (aF, TopAbs_EDGE, TopAbs_FACE, aMEF);
     }
   }
   //
   for (i=1; i<=aNb; i++) {
-    const TopoDS_Shape aS=myDS->Shape(i);
+    const TopoDS_Shape aS=myDS->Shape(i);//mpv
     if (aS.ShapeType()==TopAbs_EDGE) {
       const TopoDS_Edge& aE=TopoDS::Edge(aS);
       
   // Clear aPaveSet, aSplitEdges
   aPaveSet.ChangeSet().Clear();
   //
-  const TopoDS_Edge aDE=TopoDS::Edge(myDS->Shape(nED));
-  const TopoDS_Face aDF=TopoDS::Face(myDS->Shape(nFD));
+  const TopoDS_Edge aDE=TopoDS::Edge(myDS->Shape(nED));//mpv
+  const TopoDS_Face aDF=TopoDS::Face(myDS->Shape(nFD));//mpv
   //
   // 2D Curve of degenerated edge on the face aDF
-  Handle(Geom2d_Curve) aC2DDE=BRep_Tool::CurveOnSurface(aDE, aDF, aTD1, aTD2);
+  // Modified  Thu Sep 14 14:35:18 2006 
+  // Contribution of Samtech www.samcef.com BEGIN
+  //Handle(Geom2d_Curve) aC2DDE=BRep_Tool::CurveOnSurface(aDE, aDF, aTD1, aTD2);
+  Handle(Geom2d_Curve) aC2DDE1=BRep_Tool::CurveOnSurface(aDE, aDF, aTD1, aTD2);
+  Handle(Geom2d_TrimmedCurve)aC2DDE=new Geom2d_TrimmedCurve(aC2DDE1, aTD1, aTD2);
+  // Contribution of Samtech www.samcef.com END 
   //
   // Choose direction for Degenerated Edge
   gp_Pnt2d aP2d1, aP2d2;
   for (; anIt.More(); anIt.Next()) {
     const BOPTools_PaveBlock& aPB=anIt.Value();
     nE=aPB.Edge();
-    const TopoDS_Edge aE=TopoDS::Edge(myDS->Shape(nE));
+    const TopoDS_Edge aE=TopoDS::Edge(myDS->Shape(nE));//mpv
     
     Handle(Geom2d_Curve) aC2D=BRep_Tool::CurveOnSurface(aE, aDF, aT1, aT2);
     //
        for (j=1; j<=aNbPoints; ++j) {
          gp_Pnt2d aP2D=aGInter.Point(j).Value();
          //
-         aX=(bXDir) ? aP2D.X(): aP2D.Y();
+         // Modified to obtain exact parameter Thu Sep 14 14:35:18 2006 
+         // Contribution of Samtech www.samcef.com BEGIN
+         Handle(Geom2d_Line) aCLDE=Handle(Geom2d_Line)::DownCast(aC2DDE1);
+         if (aCLDE.IsNull()) {
+           continue;
+         }
+         gp_Lin2d aLDE=aCLDE->Lin2d();
+         aX=ElCLib::Parameter(aLDE, aP2D);
+         //
+         //aX=(bXDir) ? aP2D.X(): aP2D.Y();
+         // Contribution of Samtech www.samcef.com END 
          //
          if (fabs (aX-aTD1) < aDT || fabs (aX-aTD2) < aDT) {
            continue; 
   TopoDS_Edge aE, aESplit;
   TopoDS_Vertex aV1, aV2;
 
-  const TopoDS_Edge aDE=TopoDS::Edge(myDS->Shape(nED));
-  const TopoDS_Face aDF=TopoDS::Face(myDS->Shape(nFD));
+  const TopoDS_Edge aDE=TopoDS::Edge(myDS->Shape(nED));//mpv
+  const TopoDS_Face aDF=TopoDS::Face(myDS->Shape(nFD));//mpv
 
   BOPTools_ListIteratorOfListOfPaveBlock aPBIt(aSplitEdges);
 
index 8da33e72b43a98dd6650a2974b58ddc0e98cc396..dfd14933593aca38c6f1a9dc8fc3a916bd66b9bd 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -52,6 +52,15 @@ class TopoDS_Vertex;
 #include <Standard_Macro.hxx>
 #endif
 
+
+//! <br>
+//!  The  Algorithm to compute and store in interferences' pool <br>
+//! and in the Data  Structure  the following values <br>
+//! for degenerated edges <br>
+//!         1.  Paves/Pave set(s) <br>
+//!         2.  Split parts <br>
+//!         3.  States (3D) for split parts <br>
+//! <br>
 class NMTTools_DEProcessor  {
 
 public:
@@ -70,8 +79,20 @@ public:
       }
  // Methods PUBLIC
  // 
+
+
+//! Constructor <br>
+//! <br>
+//! Constructor <br>
+//! <br>
 Standard_EXPORT NMTTools_DEProcessor(NMTTools_PaveFiller& aFiller);
+
+
+//! Launches the processor <br>
 Standard_EXPORT   void Do() ;
+
+
+//! Returns TRUE if it is Ok <br>
 Standard_EXPORT   Standard_Boolean IsDone() const;
 
 
@@ -82,12 +103,26 @@ protected:
 
  // Methods PROTECTED
  // 
+
+
 Standard_EXPORT   void FindDegeneratedEdges() ;
+
+
 Standard_EXPORT   void DoPaves() ;
+
+
 Standard_EXPORT   void FindPaveBlocks(const Standard_Integer nED,const Standard_Integer nVD,const Standard_Integer nFD,BOPTools_ListOfPaveBlock& aLPB) ;
+
+
 Standard_EXPORT   void FillPaveSet(const Standard_Integer nED,const Standard_Integer nVD,const Standard_Integer nFD,const BOPTools_ListOfPaveBlock& aLPB) ;
+
+
 Standard_EXPORT   void FillSplitEdgesPool(const Standard_Integer nED) ;
+
+
 Standard_EXPORT   void MakeSplitEdges(const Standard_Integer nED,const Standard_Integer nFD) ;
+
+
 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) ;
 
 
index 5025cc4f6150d32312878db5bf4ca193b5a23430..941caff8c4118d0d6c7de209f9fa0c2a836cb6e5 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
index 0d86c3f6e67c01a5e29dc5e17e872ba51918996b..b039537bcb77585255d0a1be914f6a1b7a735a88 100644 (file)
@@ -1,22 +1,22 @@
 // Copyright (C) 2005  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
-//
+
 #ifndef _NMTTools_PaveFiller_HeaderFile
 #include <NMTTools_PaveFiller.hxx>
 #endif
index ba69d115ba50701cadd8a6229f7de31e870d55d3..1876b25fe2ad4d2da1f1da37eed6eef1c0d7693d 100644 (file)
@@ -1,27 +1,26 @@
-// Copyright (C) 2005  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 
-// 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 
-// 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 
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
-//
+-- Copyright (C) 2005  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 
+-- 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 
+-- 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 
+-- 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_DSFiller.cdl
 -- Created:    Fri Dec  5 13:57:03 2003
 -- Author:     Peter KURNEV
 --             <pkv@irinox>
----Copyright:   Matra Datavision 2003
 
 
 class DSFiller from NMTTools 
index a84c42cc89fb18fba8147a709f42aa624752d146..82c9b40c41990fde3a100a0ea81a7ff34bf9f16c 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -48,6 +48,7 @@ class NMTTools_PaveFiller;
 #include <Standard_Macro.hxx>
 #endif
 
+
 class NMTTools_DSFiller  {
 
 public:
@@ -66,22 +67,48 @@ public:
       }
  // Methods PUBLIC
  // 
+
+
 Standard_EXPORT NMTTools_DSFiller();
+
+//! Destructor <br>
+//! <br>
+//!  Selectors/Modifiers <br>
 Standard_EXPORT   void Destroy() ;
 ~NMTTools_DSFiller()
 {
   Destroy();
 }
 
+
+
 Standard_EXPORT   void SetCompositeShape(const TopoDS_Shape& aS) ;
+
+
 Standard_EXPORT  const TopoDS_Shape& CompositeShape() const;
+
+
 Standard_EXPORT   void SetNewFiller(const Standard_Boolean aFlag) const;
+
+
 Standard_EXPORT   Standard_Boolean IsNewFiller() const;
+
+
 Standard_EXPORT   void Perform() ;
+
+
 Standard_EXPORT  const NMTDS_ShapesDataStructure& DS() const;
+
+
 Standard_EXPORT  const BOPTools_InterferencePool& InterfPool() const;
+
+
 Standard_EXPORT   Standard_Boolean IsDone() const;
+
+
 Standard_EXPORT  const NMTTools_PaveFiller& PaveFiller() const;
+
+
 Standard_EXPORT   NMTTools_PaveFiller& ChangePaveFiller() ;
 
 
@@ -92,6 +119,8 @@ protected:
 
  // Methods PROTECTED
  // 
+
+
 Standard_EXPORT   void Clear() ;
 
 
index 297713e85353fcf1b2e1ff7cd0563c5721246648..c9b80740a4c399b7f0dd774a8b83d4d71127b539 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
index 47a20140004b968686faa5527c3a4ae4cb621f60..3ff0ae84f7565f03816e30acc701bfaeca8e84a3 100644 (file)
@@ -1,22 +1,22 @@
 // Copyright (C) 2005  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
-//
+
 #ifndef _TopoDS_Shape_HeaderFile
 #include <TopoDS_Shape.hxx>
 #endif
diff --git a/src/NMTTools/NMTTools_DataMapIteratorOfDataMapOfIntegerListOfPaveBlock.hxx b/src/NMTTools/NMTTools_DataMapIteratorOfDataMapOfIntegerListOfPaveBlock.hxx
new file mode 100644 (file)
index 0000000..df15c11
--- /dev/null
@@ -0,0 +1,115 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _NMTTools_DataMapIteratorOfDataMapOfIntegerListOfPaveBlock_HeaderFile
+#define _NMTTools_DataMapIteratorOfDataMapOfIntegerListOfPaveBlock_HeaderFile
+
+#ifndef _TCollection_BasicMapIterator_HeaderFile
+#include <TCollection_BasicMapIterator.hxx>
+#endif
+#ifndef _Standard_Integer_HeaderFile
+#include <Standard_Integer.hxx>
+#endif
+#ifndef _Handle_NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock_HeaderFile
+#include <Handle_NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock.hxx>
+#endif
+class Standard_NoSuchObject;
+class BOPTools_ListOfPaveBlock;
+class TColStd_MapIntegerHasher;
+class NMTTools_DataMapOfIntegerListOfPaveBlock;
+class NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock;
+
+
+#ifndef _Standard_HeaderFile
+#include <Standard.hxx>
+#endif
+#ifndef _Standard_Macro_HeaderFile
+#include <Standard_Macro.hxx>
+#endif
+
+
+class NMTTools_DataMapIteratorOfDataMapOfIntegerListOfPaveBlock  : public TCollection_BasicMapIterator {
+
+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_DataMapIteratorOfDataMapOfIntegerListOfPaveBlock();
+
+
+Standard_EXPORT NMTTools_DataMapIteratorOfDataMapOfIntegerListOfPaveBlock(const NMTTools_DataMapOfIntegerListOfPaveBlock& aMap);
+
+
+Standard_EXPORT   void Initialize(const NMTTools_DataMapOfIntegerListOfPaveBlock& aMap) ;
+
+
+Standard_EXPORT  const Standard_Integer& Key() const;
+
+
+Standard_EXPORT  const BOPTools_ListOfPaveBlock& Value() const;
+
+
+
+
+
+protected:
+
+ // Methods PROTECTED
+ // 
+
+
+ // Fields PROTECTED
+ //
+
+
+private: 
+
+ // Methods PRIVATE
+ // 
+
+
+ // Fields PRIVATE
+ //
+
+
+};
+
+
+
+
+
+// other Inline functions and methods (like "C++: function call" methods)
+//
+
+
+#endif
diff --git a/src/NMTTools/NMTTools_DataMapIteratorOfDataMapOfIntegerListOfPaveBlock_0.cxx b/src/NMTTools/NMTTools_DataMapIteratorOfDataMapOfIntegerListOfPaveBlock_0.cxx
new file mode 100644 (file)
index 0000000..58c33e1
--- /dev/null
@@ -0,0 +1,54 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#include <NMTTools_DataMapIteratorOfDataMapOfIntegerListOfPaveBlock.hxx>
+
+#ifndef _Standard_NoSuchObject_HeaderFile
+#include <Standard_NoSuchObject.hxx>
+#endif
+#ifndef _BOPTools_ListOfPaveBlock_HeaderFile
+#include <BOPTools_ListOfPaveBlock.hxx>
+#endif
+#ifndef _TColStd_MapIntegerHasher_HeaderFile
+#include <TColStd_MapIntegerHasher.hxx>
+#endif
+#ifndef _NMTTools_DataMapOfIntegerListOfPaveBlock_HeaderFile
+#include <NMTTools_DataMapOfIntegerListOfPaveBlock.hxx>
+#endif
+#ifndef _NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock_HeaderFile
+#include <NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock.hxx>
+#endif
+
+#define TheKey Standard_Integer
+#define TheKey_hxx <Standard_Integer.hxx>
+#define TheItem BOPTools_ListOfPaveBlock
+#define TheItem_hxx <BOPTools_ListOfPaveBlock.hxx>
+#define Hasher TColStd_MapIntegerHasher
+#define Hasher_hxx <TColStd_MapIntegerHasher.hxx>
+#define TCollection_DataMapNode NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock
+#define TCollection_DataMapNode_hxx <NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock.hxx>
+#define TCollection_DataMapIterator NMTTools_DataMapIteratorOfDataMapOfIntegerListOfPaveBlock
+#define TCollection_DataMapIterator_hxx <NMTTools_DataMapIteratorOfDataMapOfIntegerListOfPaveBlock.hxx>
+#define Handle_TCollection_DataMapNode Handle_NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock
+#define TCollection_DataMapNode_Type_() NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock_Type_()
+#define TCollection_DataMap NMTTools_DataMapOfIntegerListOfPaveBlock
+#define TCollection_DataMap_hxx <NMTTools_DataMapOfIntegerListOfPaveBlock.hxx>
+#include <TCollection_DataMapIterator.gxx>
+
diff --git a/src/NMTTools/NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock.hxx b/src/NMTTools/NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock.hxx
new file mode 100644 (file)
index 0000000..4c41041
--- /dev/null
@@ -0,0 +1,131 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock_HeaderFile
+#define _NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock_HeaderFile
+
+#ifndef _Standard_HeaderFile
+#include <Standard.hxx>
+#endif
+#ifndef _Handle_NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock_HeaderFile
+#include <Handle_NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock.hxx>
+#endif
+
+#ifndef _Standard_Integer_HeaderFile
+#include <Standard_Integer.hxx>
+#endif
+#ifndef _BOPTools_ListOfPaveBlock_HeaderFile
+#include <BOPTools_ListOfPaveBlock.hxx>
+#endif
+#ifndef _TCollection_MapNode_HeaderFile
+#include <TCollection_MapNode.hxx>
+#endif
+#ifndef _TCollection_MapNodePtr_HeaderFile
+#include <TCollection_MapNodePtr.hxx>
+#endif
+class BOPTools_ListOfPaveBlock;
+class TColStd_MapIntegerHasher;
+class NMTTools_DataMapOfIntegerListOfPaveBlock;
+class NMTTools_DataMapIteratorOfDataMapOfIntegerListOfPaveBlock;
+
+
+
+class NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock : public TCollection_MapNode {
+
+public:
+ // Methods PUBLIC
+ // 
+
+NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock(const Standard_Integer& K,const BOPTools_ListOfPaveBlock& I,const TCollection_MapNodePtr& n);
+
+  Standard_Integer& Key() const;
+
+  BOPTools_ListOfPaveBlock& Value() const;
+//Standard_EXPORT ~NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock();
+
+
+
+
+ // Type management
+ //
+ Standard_EXPORT const Handle(Standard_Type)& DynamicType() const;
+ //Standard_EXPORT Standard_Boolean           IsKind(const Handle(Standard_Type)&) const;
+
+protected:
+
+ // Methods PROTECTED
+ // 
+
+
+ // Fields PROTECTED
+ //
+
+
+private: 
+
+ // Methods PRIVATE
+ // 
+
+
+ // Fields PRIVATE
+ //
+Standard_Integer myKey;
+BOPTools_ListOfPaveBlock myValue;
+
+
+};
+
+#define TheKey Standard_Integer
+#define TheKey_hxx <Standard_Integer.hxx>
+#define TheItem BOPTools_ListOfPaveBlock
+#define TheItem_hxx <BOPTools_ListOfPaveBlock.hxx>
+#define Hasher TColStd_MapIntegerHasher
+#define Hasher_hxx <TColStd_MapIntegerHasher.hxx>
+#define TCollection_DataMapNode NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock
+#define TCollection_DataMapNode_hxx <NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock.hxx>
+#define TCollection_DataMapIterator NMTTools_DataMapIteratorOfDataMapOfIntegerListOfPaveBlock
+#define TCollection_DataMapIterator_hxx <NMTTools_DataMapIteratorOfDataMapOfIntegerListOfPaveBlock.hxx>
+#define Handle_TCollection_DataMapNode Handle_NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock
+#define TCollection_DataMapNode_Type_() NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock_Type_()
+#define TCollection_DataMap NMTTools_DataMapOfIntegerListOfPaveBlock
+#define TCollection_DataMap_hxx <NMTTools_DataMapOfIntegerListOfPaveBlock.hxx>
+
+#include <TCollection_DataMapNode.lxx>
+
+#undef TheKey
+#undef TheKey_hxx
+#undef TheItem
+#undef TheItem_hxx
+#undef Hasher
+#undef Hasher_hxx
+#undef TCollection_DataMapNode
+#undef TCollection_DataMapNode_hxx
+#undef TCollection_DataMapIterator
+#undef TCollection_DataMapIterator_hxx
+#undef Handle_TCollection_DataMapNode
+#undef TCollection_DataMapNode_Type_
+#undef TCollection_DataMap
+#undef TCollection_DataMap_hxx
+
+
+// other Inline functions and methods (like "C++: function call" methods)
+//
+
+
+#endif
diff --git a/src/NMTTools/NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock_0.cxx b/src/NMTTools/NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock_0.cxx
new file mode 100644 (file)
index 0000000..c863a91
--- /dev/null
@@ -0,0 +1,100 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#include <NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock.hxx>
+
+#ifndef _Standard_TypeMismatch_HeaderFile
+#include <Standard_TypeMismatch.hxx>
+#endif
+
+#ifndef _BOPTools_ListOfPaveBlock_HeaderFile
+#include <BOPTools_ListOfPaveBlock.hxx>
+#endif
+#ifndef _TColStd_MapIntegerHasher_HeaderFile
+#include <TColStd_MapIntegerHasher.hxx>
+#endif
+#ifndef _NMTTools_DataMapOfIntegerListOfPaveBlock_HeaderFile
+#include <NMTTools_DataMapOfIntegerListOfPaveBlock.hxx>
+#endif
+#ifndef _NMTTools_DataMapIteratorOfDataMapOfIntegerListOfPaveBlock_HeaderFile
+#include <NMTTools_DataMapIteratorOfDataMapOfIntegerListOfPaveBlock.hxx>
+#endif
+//NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock::~NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock() {}
+
+
+Standard_EXPORT Handle_Standard_Type& NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock_Type_()
+{
+
+    static Handle_Standard_Type aType1 = STANDARD_TYPE(TCollection_MapNode);
+  static Handle_Standard_Type aType2 = STANDARD_TYPE(MMgt_TShared);
+  static Handle_Standard_Type aType3 = STANDARD_TYPE(Standard_Transient);
+
+  static Handle_Standard_Transient _Ancestors[]= {aType1,aType2,aType3,NULL};
+  static Handle_Standard_Type _aType = new Standard_Type("NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock",
+                                                        sizeof(NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock),
+                                                        1,
+                                                        (Standard_Address)_Ancestors,
+                                                        (Standard_Address)NULL);
+
+  return _aType;
+}
+
+
+// DownCast method
+//   allow safe downcasting
+//
+const Handle(NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock) Handle(NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock)::DownCast(const Handle(Standard_Transient)& AnObject) 
+{
+  Handle(NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock) _anOtherObject;
+
+  if (!AnObject.IsNull()) {
+     if (AnObject->IsKind(STANDARD_TYPE(NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock))) {
+       _anOtherObject = Handle(NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock)((Handle(NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock)&)AnObject);
+     }
+  }
+
+  return _anOtherObject ;
+}
+const Handle(Standard_Type)& NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock::DynamicType() const 
+{ 
+  return STANDARD_TYPE(NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock) ; 
+}
+//Standard_Boolean NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock::IsKind(const Handle(Standard_Type)& AType) const 
+//{ 
+//  return (STANDARD_TYPE(NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock) == AType || TCollection_MapNode::IsKind(AType)); 
+//}
+//Handle_NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock::~Handle_NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock() {}
+#define TheKey Standard_Integer
+#define TheKey_hxx <Standard_Integer.hxx>
+#define TheItem BOPTools_ListOfPaveBlock
+#define TheItem_hxx <BOPTools_ListOfPaveBlock.hxx>
+#define Hasher TColStd_MapIntegerHasher
+#define Hasher_hxx <TColStd_MapIntegerHasher.hxx>
+#define TCollection_DataMapNode NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock
+#define TCollection_DataMapNode_hxx <NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock.hxx>
+#define TCollection_DataMapIterator NMTTools_DataMapIteratorOfDataMapOfIntegerListOfPaveBlock
+#define TCollection_DataMapIterator_hxx <NMTTools_DataMapIteratorOfDataMapOfIntegerListOfPaveBlock.hxx>
+#define Handle_TCollection_DataMapNode Handle_NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock
+#define TCollection_DataMapNode_Type_() NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock_Type_()
+#define TCollection_DataMap NMTTools_DataMapOfIntegerListOfPaveBlock
+#define TCollection_DataMap_hxx <NMTTools_DataMapOfIntegerListOfPaveBlock.hxx>
+#include <TCollection_DataMapNode.gxx>
+
diff --git a/src/NMTTools/NMTTools_DataMapOfIntegerListOfPaveBlock.hxx b/src/NMTTools/NMTTools_DataMapOfIntegerListOfPaveBlock.hxx
new file mode 100644 (file)
index 0000000..39dddc5
--- /dev/null
@@ -0,0 +1,154 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _NMTTools_DataMapOfIntegerListOfPaveBlock_HeaderFile
+#define _NMTTools_DataMapOfIntegerListOfPaveBlock_HeaderFile
+
+#ifndef _TCollection_BasicMap_HeaderFile
+#include <TCollection_BasicMap.hxx>
+#endif
+#ifndef _Standard_Integer_HeaderFile
+#include <Standard_Integer.hxx>
+#endif
+#ifndef _Handle_NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock_HeaderFile
+#include <Handle_NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock.hxx>
+#endif
+#ifndef _Standard_Boolean_HeaderFile
+#include <Standard_Boolean.hxx>
+#endif
+class Standard_DomainError;
+class Standard_NoSuchObject;
+class BOPTools_ListOfPaveBlock;
+class TColStd_MapIntegerHasher;
+class NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock;
+class NMTTools_DataMapIteratorOfDataMapOfIntegerListOfPaveBlock;
+
+
+#ifndef _Standard_HeaderFile
+#include <Standard.hxx>
+#endif
+#ifndef _Standard_Macro_HeaderFile
+#include <Standard_Macro.hxx>
+#endif
+
+
+class NMTTools_DataMapOfIntegerListOfPaveBlock  : public TCollection_BasicMap {
+
+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_DataMapOfIntegerListOfPaveBlock(const Standard_Integer NbBuckets = 1);
+
+
+Standard_EXPORT   NMTTools_DataMapOfIntegerListOfPaveBlock& Assign(const NMTTools_DataMapOfIntegerListOfPaveBlock& Other) ;
+  NMTTools_DataMapOfIntegerListOfPaveBlock& operator =(const NMTTools_DataMapOfIntegerListOfPaveBlock& Other) 
+{
+  return Assign(Other);
+}
+
+
+
+Standard_EXPORT   void ReSize(const Standard_Integer NbBuckets) ;
+
+
+Standard_EXPORT   void Clear() ;
+~NMTTools_DataMapOfIntegerListOfPaveBlock()
+{
+  Clear();
+}
+
+
+
+Standard_EXPORT   Standard_Boolean Bind(const Standard_Integer& K,const BOPTools_ListOfPaveBlock& I) ;
+
+
+Standard_EXPORT   Standard_Boolean IsBound(const Standard_Integer& K) const;
+
+
+Standard_EXPORT   Standard_Boolean UnBind(const Standard_Integer& K) ;
+
+
+Standard_EXPORT  const BOPTools_ListOfPaveBlock& Find(const Standard_Integer& K) const;
+ const BOPTools_ListOfPaveBlock& operator()(const Standard_Integer& K) const
+{
+  return Find(K);
+}
+
+
+
+Standard_EXPORT   BOPTools_ListOfPaveBlock& ChangeFind(const Standard_Integer& K) ;
+  BOPTools_ListOfPaveBlock& operator()(const Standard_Integer& K) 
+{
+  return ChangeFind(K);
+}
+
+
+
+
+
+
+protected:
+
+ // Methods PROTECTED
+ // 
+
+
+ // Fields PROTECTED
+ //
+
+
+private: 
+
+ // Methods PRIVATE
+ // 
+
+
+Standard_EXPORT NMTTools_DataMapOfIntegerListOfPaveBlock(const NMTTools_DataMapOfIntegerListOfPaveBlock& Other);
+
+
+ // Fields PRIVATE
+ //
+
+
+};
+
+
+
+
+
+// other Inline functions and methods (like "C++: function call" methods)
+//
+
+
+#endif
diff --git a/src/NMTTools/NMTTools_DataMapOfIntegerListOfPaveBlock_0.cxx b/src/NMTTools/NMTTools_DataMapOfIntegerListOfPaveBlock_0.cxx
new file mode 100644 (file)
index 0000000..a785ad2
--- /dev/null
@@ -0,0 +1,57 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#include <NMTTools_DataMapOfIntegerListOfPaveBlock.hxx>
+
+#ifndef _Standard_DomainError_HeaderFile
+#include <Standard_DomainError.hxx>
+#endif
+#ifndef _Standard_NoSuchObject_HeaderFile
+#include <Standard_NoSuchObject.hxx>
+#endif
+#ifndef _BOPTools_ListOfPaveBlock_HeaderFile
+#include <BOPTools_ListOfPaveBlock.hxx>
+#endif
+#ifndef _TColStd_MapIntegerHasher_HeaderFile
+#include <TColStd_MapIntegerHasher.hxx>
+#endif
+#ifndef _NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock_HeaderFile
+#include <NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock.hxx>
+#endif
+#ifndef _NMTTools_DataMapIteratorOfDataMapOfIntegerListOfPaveBlock_HeaderFile
+#include <NMTTools_DataMapIteratorOfDataMapOfIntegerListOfPaveBlock.hxx>
+#endif
+
+#define TheKey Standard_Integer
+#define TheKey_hxx <Standard_Integer.hxx>
+#define TheItem BOPTools_ListOfPaveBlock
+#define TheItem_hxx <BOPTools_ListOfPaveBlock.hxx>
+#define Hasher TColStd_MapIntegerHasher
+#define Hasher_hxx <TColStd_MapIntegerHasher.hxx>
+#define TCollection_DataMapNode NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock
+#define TCollection_DataMapNode_hxx <NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock.hxx>
+#define TCollection_DataMapIterator NMTTools_DataMapIteratorOfDataMapOfIntegerListOfPaveBlock
+#define TCollection_DataMapIterator_hxx <NMTTools_DataMapIteratorOfDataMapOfIntegerListOfPaveBlock.hxx>
+#define Handle_TCollection_DataMapNode Handle_NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock
+#define TCollection_DataMapNode_Type_() NMTTools_DataMapNodeOfDataMapOfIntegerListOfPaveBlock_Type_()
+#define TCollection_DataMap NMTTools_DataMapOfIntegerListOfPaveBlock
+#define TCollection_DataMap_hxx <NMTTools_DataMapOfIntegerListOfPaveBlock.hxx>
+#include <TCollection_DataMap.gxx>
+
index aef005c553dfebeb45e6e9b4d188f78eb5a15132..3823f0edfb8a3c5334119a917ada29870d7f3cbb 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -44,39 +44,31 @@ class TColStd_MapIntegerHasher;
 class NMTTools_IndexedDataMapOfIndexedMapOfInteger;
 
 
+
 class NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger : public TCollection_MapNode {
 
 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
  // 
+
 NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger(const Standard_Integer& K1,const Standard_Integer K2,const TColStd_IndexedMapOfInteger& I,const TCollection_MapNodePtr& n1,const TCollection_MapNodePtr& n2);
+
   Standard_Integer& Key1() const;
+
   Standard_Integer& Key2() const;
+
   TCollection_MapNodePtr& Next2() const;
+
   TColStd_IndexedMapOfInteger& Value() const;
-Standard_EXPORT ~NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger();
+//Standard_EXPORT ~NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger();
 
 
 
 
  // Type management
  //
- Standard_EXPORT friend Handle_Standard_Type& NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger_Type_();
  Standard_EXPORT const Handle(Standard_Type)& DynamicType() const;
Standard_EXPORT Standard_Boolean             IsKind(const Handle(Standard_Type)&) const;
//Standard_EXPORT Standard_Boolean           IsKind(const Handle(Standard_Type)&) const;
 
 protected:
 
index 26449e638c4a080122c6b3e9362210db74559d54..bddc64d48b0f6c639161f7b941ee2f6156cb671d 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -32,7 +32,7 @@
 #ifndef _NMTTools_IndexedDataMapOfIndexedMapOfInteger_HeaderFile
 #include <NMTTools_IndexedDataMapOfIndexedMapOfInteger.hxx>
 #endif
-NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger::~NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger() {}
+//NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger::~NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger() {}
  
 
 
@@ -40,11 +40,8 @@ Standard_EXPORT Handle_Standard_Type& NMTTools_IndexedDataMapNodeOfIndexedDataMa
 {
 
     static Handle_Standard_Type aType1 = STANDARD_TYPE(TCollection_MapNode);
-  if ( aType1.IsNull()) aType1 = STANDARD_TYPE(TCollection_MapNode);
   static Handle_Standard_Type aType2 = STANDARD_TYPE(MMgt_TShared);
-  if ( aType2.IsNull()) aType2 = STANDARD_TYPE(MMgt_TShared);
   static Handle_Standard_Type aType3 = STANDARD_TYPE(Standard_Transient);
-  if ( aType3.IsNull()) aType3 = STANDARD_TYPE(Standard_Transient);
  
 
   static Handle_Standard_Transient _Ancestors[]= {aType1,aType2,aType3,NULL};
@@ -77,11 +74,11 @@ const Handle(Standard_Type)& NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexe
 { 
   return STANDARD_TYPE(NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger) ; 
 }
-Standard_Boolean NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger::IsKind(const Handle(Standard_Type)& AType) const 
-{ 
-  return (STANDARD_TYPE(NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger) == AType || TCollection_MapNode::IsKind(AType)); 
-}
-Handle_NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger::~Handle_NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger() {}
+//Standard_Boolean NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger::IsKind(const Handle(Standard_Type)& AType) const 
+//
+//  return (STANDARD_TYPE(NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger) == AType || TCollection_MapNode::IsKind(AType)); 
+//}
+//Handle_NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger::~Handle_NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger() {}
 #define TheKey Standard_Integer
 #define TheKey_hxx <Standard_Integer.hxx>
 #define TheItem TColStd_IndexedMapOfInteger
index 82ffd7634e4e0c2808d075de7461c6d64b950d1e..0caba086be1c8b3471ade9410e1b874917bbc1a6 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -48,39 +48,31 @@ class TopTools_ShapeMapHasher;
 class NMTTools_IndexedDataMapOfShapeIndexedMapOfShape;
 
 
+
 class NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape : public TCollection_MapNode {
 
 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
  // 
+
 NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape(const TopoDS_Shape& K1,const Standard_Integer K2,const TopTools_IndexedMapOfShape& I,const TCollection_MapNodePtr& n1,const TCollection_MapNodePtr& n2);
+
   TopoDS_Shape& Key1() const;
+
   Standard_Integer& Key2() const;
+
   TCollection_MapNodePtr& Next2() const;
+
   TopTools_IndexedMapOfShape& Value() const;
-Standard_EXPORT ~NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape();
+//Standard_EXPORT ~NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape();
 
 
 
 
  // Type management
  //
- Standard_EXPORT friend Handle_Standard_Type& NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape_Type_();
  Standard_EXPORT const Handle(Standard_Type)& DynamicType() const;
Standard_EXPORT Standard_Boolean             IsKind(const Handle(Standard_Type)&) const;
//Standard_EXPORT Standard_Boolean           IsKind(const Handle(Standard_Type)&) const;
 
 protected:
 
index bc564341fa53d83ee8cad0f66922fa153fb72f74..40833f09d003ae8fcf295ca72df438c50c971b35 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -35,7 +35,7 @@
 #ifndef _NMTTools_IndexedDataMapOfShapeIndexedMapOfShape_HeaderFile
 #include <NMTTools_IndexedDataMapOfShapeIndexedMapOfShape.hxx>
 #endif
-NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape::~NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape() {}
+//NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape::~NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape() {}
  
 
 
@@ -43,11 +43,8 @@ Standard_EXPORT Handle_Standard_Type& NMTTools_IndexedDataMapNodeOfIndexedDataMa
 {
 
     static Handle_Standard_Type aType1 = STANDARD_TYPE(TCollection_MapNode);
-  if ( aType1.IsNull()) aType1 = STANDARD_TYPE(TCollection_MapNode);
   static Handle_Standard_Type aType2 = STANDARD_TYPE(MMgt_TShared);
-  if ( aType2.IsNull()) aType2 = STANDARD_TYPE(MMgt_TShared);
   static Handle_Standard_Type aType3 = STANDARD_TYPE(Standard_Transient);
-  if ( aType3.IsNull()) aType3 = STANDARD_TYPE(Standard_Transient);
  
 
   static Handle_Standard_Transient _Ancestors[]= {aType1,aType2,aType3,NULL};
@@ -80,11 +77,11 @@ const Handle(Standard_Type)& NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeI
 { 
   return STANDARD_TYPE(NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape) ; 
 }
-Standard_Boolean NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape::IsKind(const Handle(Standard_Type)& AType) const 
-{ 
-  return (STANDARD_TYPE(NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape) == AType || TCollection_MapNode::IsKind(AType)); 
-}
-Handle_NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape::~Handle_NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape() {}
+//Standard_Boolean NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape::IsKind(const Handle(Standard_Type)& AType) const 
+//
+//  return (STANDARD_TYPE(NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape) == AType || TCollection_MapNode::IsKind(AType)); 
+//}
+//Handle_NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape::~Handle_NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape() {}
 #define TheKey TopoDS_Shape
 #define TheKey_hxx <TopoDS_Shape.hxx>
 #define TheItem TopTools_IndexedMapOfShape
index ad94cd73c8427946262188fa23b9422771f00559..7a0a361ee189444a76f4b065d890af409f60f015 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -48,39 +48,31 @@ class TopTools_ShapeMapHasher;
 class NMTTools_IndexedDataMapOfShapePaveBlock;
 
 
+
 class NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock : public TCollection_MapNode {
 
 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
  // 
+
 NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock(const TopoDS_Shape& K1,const Standard_Integer K2,const BOPTools_PaveBlock& I,const TCollection_MapNodePtr& n1,const TCollection_MapNodePtr& n2);
+
   TopoDS_Shape& Key1() const;
+
   Standard_Integer& Key2() const;
+
   TCollection_MapNodePtr& Next2() const;
+
   BOPTools_PaveBlock& Value() const;
-Standard_EXPORT ~NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock();
+//Standard_EXPORT ~NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock();
 
 
 
 
  // Type management
  //
- Standard_EXPORT friend Handle_Standard_Type& NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock_Type_();
  Standard_EXPORT const Handle(Standard_Type)& DynamicType() const;
Standard_EXPORT Standard_Boolean             IsKind(const Handle(Standard_Type)&) const;
//Standard_EXPORT Standard_Boolean           IsKind(const Handle(Standard_Type)&) const;
 
 protected:
 
index 1544f7045468b48319c586b430fe4b47ea15366c..f16382ff4d0276f265e76ebc0868ad83e366b6f6 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -35,7 +35,7 @@
 #ifndef _NMTTools_IndexedDataMapOfShapePaveBlock_HeaderFile
 #include <NMTTools_IndexedDataMapOfShapePaveBlock.hxx>
 #endif
-NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock::~NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock() {}
+//NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock::~NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock() {}
  
 
 
@@ -43,11 +43,8 @@ Standard_EXPORT Handle_Standard_Type& NMTTools_IndexedDataMapNodeOfIndexedDataMa
 {
 
     static Handle_Standard_Type aType1 = STANDARD_TYPE(TCollection_MapNode);
-  if ( aType1.IsNull()) aType1 = STANDARD_TYPE(TCollection_MapNode);
   static Handle_Standard_Type aType2 = STANDARD_TYPE(MMgt_TShared);
-  if ( aType2.IsNull()) aType2 = STANDARD_TYPE(MMgt_TShared);
   static Handle_Standard_Type aType3 = STANDARD_TYPE(Standard_Transient);
-  if ( aType3.IsNull()) aType3 = STANDARD_TYPE(Standard_Transient);
  
 
   static Handle_Standard_Transient _Ancestors[]= {aType1,aType2,aType3,NULL};
@@ -80,11 +77,11 @@ const Handle(Standard_Type)& NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeP
 { 
   return STANDARD_TYPE(NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock) ; 
 }
-Standard_Boolean NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock::IsKind(const Handle(Standard_Type)& AType) const 
-{ 
-  return (STANDARD_TYPE(NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock) == AType || TCollection_MapNode::IsKind(AType)); 
-}
-Handle_NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock::~Handle_NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock() {}
+//Standard_Boolean NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock::IsKind(const Handle(Standard_Type)& AType) const 
+//
+//  return (STANDARD_TYPE(NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock) == AType || TCollection_MapNode::IsKind(AType)); 
+//}
+//Handle_NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock::~Handle_NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock() {}
 #define TheKey TopoDS_Shape
 #define TheKey_hxx <TopoDS_Shape.hxx>
 #define TheItem BOPTools_PaveBlock
index 1c24521840c6495824832f2b7c93209461d1236d..b9f696fe26e0ed1bcf405c666f4af038f9e419bf 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -47,6 +47,7 @@ class NMTTools_IndexedDataMapNodeOfIndexedDataMapOfIndexedMapOfInteger;
 #include <Standard_Macro.hxx>
 #endif
 
+
 class NMTTools_IndexedDataMapOfIndexedMapOfInteger  : public TCollection_BasicMap {
 
 public:
@@ -65,39 +66,67 @@ public:
       }
  // Methods PUBLIC
  // 
+
+
 Standard_EXPORT NMTTools_IndexedDataMapOfIndexedMapOfInteger(const Standard_Integer NbBuckets = 1);
+
+
 Standard_EXPORT   NMTTools_IndexedDataMapOfIndexedMapOfInteger& Assign(const NMTTools_IndexedDataMapOfIndexedMapOfInteger& Other) ;
   NMTTools_IndexedDataMapOfIndexedMapOfInteger& operator =(const NMTTools_IndexedDataMapOfIndexedMapOfInteger& Other) 
 {
   return Assign(Other);
 }
 
+
+
 Standard_EXPORT   void ReSize(const Standard_Integer NbBuckets) ;
+
+
 Standard_EXPORT   void Clear() ;
 ~NMTTools_IndexedDataMapOfIndexedMapOfInteger()
 {
   Clear();
 }
 
+
+
 Standard_EXPORT   Standard_Integer Add(const Standard_Integer& K,const TColStd_IndexedMapOfInteger& I) ;
+
+
 Standard_EXPORT   void Substitute(const Standard_Integer I,const Standard_Integer& K,const TColStd_IndexedMapOfInteger& T) ;
+
+
 Standard_EXPORT   void RemoveLast() ;
+
+
 Standard_EXPORT   Standard_Boolean Contains(const Standard_Integer& K) const;
+
+
 Standard_EXPORT  const Standard_Integer& FindKey(const Standard_Integer I) const;
+
+
 Standard_EXPORT  const TColStd_IndexedMapOfInteger& FindFromIndex(const Standard_Integer I) const;
  const TColStd_IndexedMapOfInteger& operator ()(const Standard_Integer I) const
 {
   return FindFromIndex(I);
 }
 
+
+
 Standard_EXPORT   TColStd_IndexedMapOfInteger& ChangeFromIndex(const Standard_Integer I) ;
   TColStd_IndexedMapOfInteger& operator ()(const Standard_Integer I) 
 {
   return ChangeFromIndex(I);
 }
 
+
+
 Standard_EXPORT   Standard_Integer FindIndex(const Standard_Integer& K) const;
+
+
 Standard_EXPORT  const TColStd_IndexedMapOfInteger& FindFromKey(const Standard_Integer& K) const;
+
+
 Standard_EXPORT   TColStd_IndexedMapOfInteger& ChangeFromKey(const Standard_Integer& K) ;
 
 
@@ -118,6 +147,8 @@ private:
 
  // Methods PRIVATE
  // 
+
+
 Standard_EXPORT NMTTools_IndexedDataMapOfIndexedMapOfInteger(const NMTTools_IndexedDataMapOfIndexedMapOfInteger& Other);
 
 
index 789dab6334cf70e3293e9466838596dd0e91a831..38e7ef10b45c43266308e989738f132e94549cc3 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
index be19bc803efd096cb8079f55155fd8e951ba2a82..2c55162c350b9bca1b47f3e9cda8862f6fc40161 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -48,6 +48,7 @@ class NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape;
 #include <Standard_Macro.hxx>
 #endif
 
+
 class NMTTools_IndexedDataMapOfShapeIndexedMapOfShape  : public TCollection_BasicMap {
 
 public:
@@ -66,39 +67,67 @@ public:
       }
  // Methods PUBLIC
  // 
+
+
 Standard_EXPORT NMTTools_IndexedDataMapOfShapeIndexedMapOfShape(const Standard_Integer NbBuckets = 1);
+
+
 Standard_EXPORT   NMTTools_IndexedDataMapOfShapeIndexedMapOfShape& Assign(const NMTTools_IndexedDataMapOfShapeIndexedMapOfShape& Other) ;
   NMTTools_IndexedDataMapOfShapeIndexedMapOfShape& operator =(const NMTTools_IndexedDataMapOfShapeIndexedMapOfShape& Other) 
 {
   return Assign(Other);
 }
 
+
+
 Standard_EXPORT   void ReSize(const Standard_Integer NbBuckets) ;
+
+
 Standard_EXPORT   void Clear() ;
 ~NMTTools_IndexedDataMapOfShapeIndexedMapOfShape()
 {
   Clear();
 }
 
+
+
 Standard_EXPORT   Standard_Integer Add(const TopoDS_Shape& K,const TopTools_IndexedMapOfShape& I) ;
+
+
 Standard_EXPORT   void Substitute(const Standard_Integer I,const TopoDS_Shape& K,const TopTools_IndexedMapOfShape& T) ;
+
+
 Standard_EXPORT   void RemoveLast() ;
+
+
 Standard_EXPORT   Standard_Boolean Contains(const TopoDS_Shape& K) const;
+
+
 Standard_EXPORT  const TopoDS_Shape& FindKey(const Standard_Integer I) const;
+
+
 Standard_EXPORT  const TopTools_IndexedMapOfShape& FindFromIndex(const Standard_Integer I) const;
  const TopTools_IndexedMapOfShape& operator ()(const Standard_Integer I) const
 {
   return FindFromIndex(I);
 }
 
+
+
 Standard_EXPORT   TopTools_IndexedMapOfShape& ChangeFromIndex(const Standard_Integer I) ;
   TopTools_IndexedMapOfShape& operator ()(const Standard_Integer I) 
 {
   return ChangeFromIndex(I);
 }
 
+
+
 Standard_EXPORT   Standard_Integer FindIndex(const TopoDS_Shape& K) const;
+
+
 Standard_EXPORT  const TopTools_IndexedMapOfShape& FindFromKey(const TopoDS_Shape& K) const;
+
+
 Standard_EXPORT   TopTools_IndexedMapOfShape& ChangeFromKey(const TopoDS_Shape& K) ;
 
 
@@ -119,6 +148,8 @@ private:
 
  // Methods PRIVATE
  // 
+
+
 Standard_EXPORT NMTTools_IndexedDataMapOfShapeIndexedMapOfShape(const NMTTools_IndexedDataMapOfShapeIndexedMapOfShape& Other);
 
 
index 0b5caf8c871125292ab7c6969240d17a04c8cda9..c41bc1e2a47fe02187acae1fa00b54eba76c3e69 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
index a6add0910c4576fbafa0b7db21a91179869a8dfe..a13f75903bf6ffe2d9e7bdd54ca953558209be04 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -48,6 +48,7 @@ class NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock;
 #include <Standard_Macro.hxx>
 #endif
 
+
 class NMTTools_IndexedDataMapOfShapePaveBlock  : public TCollection_BasicMap {
 
 public:
@@ -66,39 +67,67 @@ public:
       }
  // Methods PUBLIC
  // 
+
+
 Standard_EXPORT NMTTools_IndexedDataMapOfShapePaveBlock(const Standard_Integer NbBuckets = 1);
+
+
 Standard_EXPORT   NMTTools_IndexedDataMapOfShapePaveBlock& Assign(const NMTTools_IndexedDataMapOfShapePaveBlock& Other) ;
   NMTTools_IndexedDataMapOfShapePaveBlock& operator =(const NMTTools_IndexedDataMapOfShapePaveBlock& Other) 
 {
   return Assign(Other);
 }
 
+
+
 Standard_EXPORT   void ReSize(const Standard_Integer NbBuckets) ;
+
+
 Standard_EXPORT   void Clear() ;
 ~NMTTools_IndexedDataMapOfShapePaveBlock()
 {
   Clear();
 }
 
+
+
 Standard_EXPORT   Standard_Integer Add(const TopoDS_Shape& K,const BOPTools_PaveBlock& I) ;
+
+
 Standard_EXPORT   void Substitute(const Standard_Integer I,const TopoDS_Shape& K,const BOPTools_PaveBlock& T) ;
+
+
 Standard_EXPORT   void RemoveLast() ;
+
+
 Standard_EXPORT   Standard_Boolean Contains(const TopoDS_Shape& K) const;
+
+
 Standard_EXPORT  const TopoDS_Shape& FindKey(const Standard_Integer I) const;
+
+
 Standard_EXPORT  const BOPTools_PaveBlock& FindFromIndex(const Standard_Integer I) const;
  const BOPTools_PaveBlock& operator ()(const Standard_Integer I) const
 {
   return FindFromIndex(I);
 }
 
+
+
 Standard_EXPORT   BOPTools_PaveBlock& ChangeFromIndex(const Standard_Integer I) ;
   BOPTools_PaveBlock& operator ()(const Standard_Integer I) 
 {
   return ChangeFromIndex(I);
 }
 
+
+
 Standard_EXPORT   Standard_Integer FindIndex(const TopoDS_Shape& K) const;
+
+
 Standard_EXPORT  const BOPTools_PaveBlock& FindFromKey(const TopoDS_Shape& K) const;
+
+
 Standard_EXPORT   BOPTools_PaveBlock& ChangeFromKey(const TopoDS_Shape& K) ;
 
 
@@ -119,6 +148,8 @@ private:
 
  // Methods PRIVATE
  // 
+
+
 Standard_EXPORT NMTTools_IndexedDataMapOfShapePaveBlock(const NMTTools_IndexedDataMapOfShapePaveBlock& Other);
 
 
index 12441f66274ce29d23196710c41518b338428622..8e25be569faed3aa9ce6d47f506703fa3c7d0da7 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
index cb3d54e3bde87275d3142bf1296a4aed33cb881b..cc8e02bfe2f57ec9c92934a76300a5c857ba0f44 100644 (file)
@@ -1,27 +1,26 @@
-// Copyright (C) 2005  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 
-// 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 
-// 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 
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
-//
+-- Copyright (C) 2005  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 
+-- 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 
+-- 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 
+-- 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_IteratorOfCoupleOfShape.cdl
 -- Created:    Thu Dec  4 16:57:48 2003
 -- Author:     Peter KURNEV
 --             <pkv@irinox>
----Copyright:   Matra Datavision 2003
 
 
 class IteratorOfCoupleOfShape from NMTTools  
index d105a1ece6798b4239574987618ef131f55358d1..81dabc0545b9bd9266820e509be7eb641d413898 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -49,6 +49,7 @@ class NMTDS_ShapesDataStructure;
 #include <Standard_Macro.hxx>
 #endif
 
+
 class NMTTools_IteratorOfCoupleOfShape  : public BOPTools_IteratorOfCoupleOfShape {
 
 public:
@@ -67,11 +68,23 @@ public:
       }
  // Methods PUBLIC
  // 
+
+
 Standard_EXPORT NMTTools_IteratorOfCoupleOfShape();
+
+
 Standard_EXPORT   void SetDS(const NMTDS_PShapesDataStructure& pDS) ;
+
+
 Standard_EXPORT virtual  void Initialize(const TopAbs_ShapeEnum Type1,const TopAbs_ShapeEnum Type2) ;
+
+
 Standard_EXPORT virtual  void Current(Standard_Integer& Index1,Standard_Integer& Index2,Standard_Boolean& WithSubShape) const;
+
+
 Standard_EXPORT virtual  Standard_Boolean More() const;
+
+
 Standard_EXPORT  const NMTDS_ShapesDataStructure& DS() const;
 
 
index 3244152781ac9653bb7eba4fa1946b65c37bc1ab..5a5cd42bdcebb8fc0cb661d08a7d2af15cf868f6 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
index 6bd779ae27734ac239d350dee050d13665c9def9..e09e5e92e1af5ca5ef798aeb2e1c8de6e1a1083b 100644 (file)
@@ -1,22 +1,22 @@
 // Copyright (C) 2005  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
-//
+
 #ifndef _Standard_NoSuchObject_HeaderFile
 #include <Standard_NoSuchObject.hxx>
 #endif
index 895971ec2ccf0212cd1df77324c7285eed488191..25a3784c0db4ccc3b3de7424803d5cdc37d4a636 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -43,6 +43,7 @@ class NMTTools_ListNodeOfListOfCommonBlock;
 #include <Standard_Macro.hxx>
 #endif
 
+
 class NMTTools_ListIteratorOfListOfCommonBlock  {
 
 public:
@@ -61,11 +62,22 @@ public:
       }
  // Methods PUBLIC
  // 
+
+
 Standard_EXPORT NMTTools_ListIteratorOfListOfCommonBlock();
+
+
 Standard_EXPORT NMTTools_ListIteratorOfListOfCommonBlock(const NMTTools_ListOfCommonBlock& L);
+
+
 Standard_EXPORT   void Initialize(const NMTTools_ListOfCommonBlock& L) ;
+
   Standard_Boolean More() const;
+
+
 Standard_EXPORT   void Next() ;
+
+
 Standard_EXPORT   NMTTools_CommonBlock& Value() const;
 
 
index d0405a4b8af38354eb0cd24c048025d1da17d24d..82d54ddd82b6753a039f39ad2fa54773a929b177 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
index 3b621e372a9ecdc458c23074cb1b3ef15804a9e6..7e6224c4fcbe8a1e4f9c68f58978f9aefdb423b3 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -43,6 +43,7 @@ class NMTTools_ListNodeOfListOfCoupleOfShape;
 #include <Standard_Macro.hxx>
 #endif
 
+
 class NMTTools_ListIteratorOfListOfCoupleOfShape  {
 
 public:
@@ -61,11 +62,22 @@ public:
       }
  // Methods PUBLIC
  // 
+
+
 Standard_EXPORT NMTTools_ListIteratorOfListOfCoupleOfShape();
+
+
 Standard_EXPORT NMTTools_ListIteratorOfListOfCoupleOfShape(const NMTTools_ListOfCoupleOfShape& L);
+
+
 Standard_EXPORT   void Initialize(const NMTTools_ListOfCoupleOfShape& L) ;
+
   Standard_Boolean More() const;
+
+
 Standard_EXPORT   void Next() ;
+
+
 Standard_EXPORT   NMTTools_CoupleOfShape& Value() const;
 
 
index af51216a20bd08a5232518bbf66a7761078cb3a9..6e5da2628a8a52576f3e2db470cf76a6dff99565 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
index a3e47c15b2d633cd782c266fd745e1ce84ebd686..8dbc0e6854d42c02a1b1c6e3bbfda9b00e36b680 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -41,36 +41,25 @@ class NMTTools_ListOfCommonBlock;
 class NMTTools_ListIteratorOfListOfCommonBlock;
 
 
+
 class NMTTools_ListNodeOfListOfCommonBlock : public TCollection_MapNode {
 
 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
  // 
+
 NMTTools_ListNodeOfListOfCommonBlock(const NMTTools_CommonBlock& I,const TCollection_MapNodePtr& n);
+
   NMTTools_CommonBlock& Value() const;
-Standard_EXPORT ~NMTTools_ListNodeOfListOfCommonBlock();
+//Standard_EXPORT ~NMTTools_ListNodeOfListOfCommonBlock();
 
 
 
 
  // Type management
  //
- Standard_EXPORT friend Handle_Standard_Type& NMTTools_ListNodeOfListOfCommonBlock_Type_();
  Standard_EXPORT const Handle(Standard_Type)& DynamicType() const;
Standard_EXPORT Standard_Boolean             IsKind(const Handle(Standard_Type)&) const;
//Standard_EXPORT Standard_Boolean           IsKind(const Handle(Standard_Type)&) const;
 
 protected:
 
index 5d95b515851f4d65eb4a26c6dfb56a69d41d703b..ab8a57f3b8ff8c0189d4c342a7002c5fcaa7534c 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -32,7 +32,7 @@
 #ifndef _NMTTools_ListIteratorOfListOfCommonBlock_HeaderFile
 #include <NMTTools_ListIteratorOfListOfCommonBlock.hxx>
 #endif
-NMTTools_ListNodeOfListOfCommonBlock::~NMTTools_ListNodeOfListOfCommonBlock() {}
+//NMTTools_ListNodeOfListOfCommonBlock::~NMTTools_ListNodeOfListOfCommonBlock() {}
  
 
 
@@ -40,11 +40,8 @@ Standard_EXPORT Handle_Standard_Type& NMTTools_ListNodeOfListOfCommonBlock_Type_
 {
 
     static Handle_Standard_Type aType1 = STANDARD_TYPE(TCollection_MapNode);
-  if ( aType1.IsNull()) aType1 = STANDARD_TYPE(TCollection_MapNode);
   static Handle_Standard_Type aType2 = STANDARD_TYPE(MMgt_TShared);
-  if ( aType2.IsNull()) aType2 = STANDARD_TYPE(MMgt_TShared);
   static Handle_Standard_Type aType3 = STANDARD_TYPE(Standard_Transient);
-  if ( aType3.IsNull()) aType3 = STANDARD_TYPE(Standard_Transient);
  
 
   static Handle_Standard_Transient _Ancestors[]= {aType1,aType2,aType3,NULL};
@@ -77,11 +74,11 @@ const Handle(Standard_Type)& NMTTools_ListNodeOfListOfCommonBlock::DynamicType()
 { 
   return STANDARD_TYPE(NMTTools_ListNodeOfListOfCommonBlock) ; 
 }
-Standard_Boolean NMTTools_ListNodeOfListOfCommonBlock::IsKind(const Handle(Standard_Type)& AType) const 
-{ 
-  return (STANDARD_TYPE(NMTTools_ListNodeOfListOfCommonBlock) == AType || TCollection_MapNode::IsKind(AType)); 
-}
-Handle_NMTTools_ListNodeOfListOfCommonBlock::~Handle_NMTTools_ListNodeOfListOfCommonBlock() {}
+//Standard_Boolean NMTTools_ListNodeOfListOfCommonBlock::IsKind(const Handle(Standard_Type)& AType) const 
+//
+//  return (STANDARD_TYPE(NMTTools_ListNodeOfListOfCommonBlock) == AType || TCollection_MapNode::IsKind(AType)); 
+//}
+//Handle_NMTTools_ListNodeOfListOfCommonBlock::~Handle_NMTTools_ListNodeOfListOfCommonBlock() {}
 #define Item NMTTools_CommonBlock
 #define Item_hxx <NMTTools_CommonBlock.hxx>
 #define TCollection_ListNode NMTTools_ListNodeOfListOfCommonBlock
index e6ab9e45e7f4e0ea571ecea360385f55c7cfa29a..9aa25f86d7c36ee5518089f668477830ee3f85af 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -41,36 +41,25 @@ class NMTTools_ListOfCoupleOfShape;
 class NMTTools_ListIteratorOfListOfCoupleOfShape;
 
 
+
 class NMTTools_ListNodeOfListOfCoupleOfShape : public TCollection_MapNode {
 
 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
  // 
+
 NMTTools_ListNodeOfListOfCoupleOfShape(const NMTTools_CoupleOfShape& I,const TCollection_MapNodePtr& n);
+
   NMTTools_CoupleOfShape& Value() const;
-Standard_EXPORT ~NMTTools_ListNodeOfListOfCoupleOfShape();
+//Standard_EXPORT ~NMTTools_ListNodeOfListOfCoupleOfShape();
 
 
 
 
  // Type management
  //
- Standard_EXPORT friend Handle_Standard_Type& NMTTools_ListNodeOfListOfCoupleOfShape_Type_();
  Standard_EXPORT const Handle(Standard_Type)& DynamicType() const;
Standard_EXPORT Standard_Boolean             IsKind(const Handle(Standard_Type)&) const;
//Standard_EXPORT Standard_Boolean           IsKind(const Handle(Standard_Type)&) const;
 
 protected:
 
index 338b00a330457b40eecdd2d93adadcdb655e088c..430f82c5fe949682cbaec0712555fce93d5f1fac 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -32,7 +32,7 @@
 #ifndef _NMTTools_ListIteratorOfListOfCoupleOfShape_HeaderFile
 #include <NMTTools_ListIteratorOfListOfCoupleOfShape.hxx>
 #endif
-NMTTools_ListNodeOfListOfCoupleOfShape::~NMTTools_ListNodeOfListOfCoupleOfShape() {}
+//NMTTools_ListNodeOfListOfCoupleOfShape::~NMTTools_ListNodeOfListOfCoupleOfShape() {}
  
 
 
@@ -40,11 +40,8 @@ Standard_EXPORT Handle_Standard_Type& NMTTools_ListNodeOfListOfCoupleOfShape_Typ
 {
 
     static Handle_Standard_Type aType1 = STANDARD_TYPE(TCollection_MapNode);
-  if ( aType1.IsNull()) aType1 = STANDARD_TYPE(TCollection_MapNode);
   static Handle_Standard_Type aType2 = STANDARD_TYPE(MMgt_TShared);
-  if ( aType2.IsNull()) aType2 = STANDARD_TYPE(MMgt_TShared);
   static Handle_Standard_Type aType3 = STANDARD_TYPE(Standard_Transient);
-  if ( aType3.IsNull()) aType3 = STANDARD_TYPE(Standard_Transient);
  
 
   static Handle_Standard_Transient _Ancestors[]= {aType1,aType2,aType3,NULL};
@@ -77,11 +74,11 @@ const Handle(Standard_Type)& NMTTools_ListNodeOfListOfCoupleOfShape::DynamicType
 { 
   return STANDARD_TYPE(NMTTools_ListNodeOfListOfCoupleOfShape) ; 
 }
-Standard_Boolean NMTTools_ListNodeOfListOfCoupleOfShape::IsKind(const Handle(Standard_Type)& AType) const 
-{ 
-  return (STANDARD_TYPE(NMTTools_ListNodeOfListOfCoupleOfShape) == AType || TCollection_MapNode::IsKind(AType)); 
-}
-Handle_NMTTools_ListNodeOfListOfCoupleOfShape::~Handle_NMTTools_ListNodeOfListOfCoupleOfShape() {}
+//Standard_Boolean NMTTools_ListNodeOfListOfCoupleOfShape::IsKind(const Handle(Standard_Type)& AType) const 
+//
+//  return (STANDARD_TYPE(NMTTools_ListNodeOfListOfCoupleOfShape) == AType || TCollection_MapNode::IsKind(AType)); 
+//}
+//Handle_NMTTools_ListNodeOfListOfCoupleOfShape::~Handle_NMTTools_ListNodeOfListOfCoupleOfShape() {}
 #define Item NMTTools_CoupleOfShape
 #define Item_hxx <NMTTools_CoupleOfShape.hxx>
 #define TCollection_ListNode NMTTools_ListNodeOfListOfCoupleOfShape
index 7905034393d6e10c299116cc38525dfc8ccbb019..a3c33aaaaa00e2013fe836eec54c2eb6541c4ce2 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -45,6 +45,7 @@ class NMTTools_ListNodeOfListOfCommonBlock;
 #include <Standard_Macro.hxx>
 #endif
 
+
 class NMTTools_ListOfCommonBlock  {
 
 public:
@@ -63,34 +64,71 @@ public:
       }
  // Methods PUBLIC
  // 
+
+
 Standard_EXPORT NMTTools_ListOfCommonBlock();
+
+
 Standard_EXPORT   void Assign(const NMTTools_ListOfCommonBlock& Other) ;
   void operator=(const NMTTools_ListOfCommonBlock& Other) 
 {
   Assign(Other);
 }
 
+
+
 Standard_EXPORT   Standard_Integer Extent() const;
+
+
 Standard_EXPORT   void Clear() ;
 ~NMTTools_ListOfCommonBlock()
 {
   Clear();
 }
 
+
   Standard_Boolean IsEmpty() const;
+
+
 Standard_EXPORT   void Prepend(const NMTTools_CommonBlock& I) ;
+
+
 Standard_EXPORT   void Prepend(const NMTTools_CommonBlock& I,NMTTools_ListIteratorOfListOfCommonBlock& theIt) ;
+
+
 Standard_EXPORT   void Prepend(NMTTools_ListOfCommonBlock& Other) ;
+
+
 Standard_EXPORT   void Append(const NMTTools_CommonBlock& I) ;
+
+
 Standard_EXPORT   void Append(const NMTTools_CommonBlock& I,NMTTools_ListIteratorOfListOfCommonBlock& theIt) ;
+
+
 Standard_EXPORT   void Append(NMTTools_ListOfCommonBlock& Other) ;
+
+
 Standard_EXPORT   NMTTools_CommonBlock& First() const;
+
+
 Standard_EXPORT   NMTTools_CommonBlock& Last() const;
+
+
 Standard_EXPORT   void RemoveFirst() ;
+
+
 Standard_EXPORT   void Remove(NMTTools_ListIteratorOfListOfCommonBlock& It) ;
+
+
 Standard_EXPORT   void InsertBefore(const NMTTools_CommonBlock& I,NMTTools_ListIteratorOfListOfCommonBlock& It) ;
+
+
 Standard_EXPORT   void InsertBefore(NMTTools_ListOfCommonBlock& Other,NMTTools_ListIteratorOfListOfCommonBlock& It) ;
+
+
 Standard_EXPORT   void InsertAfter(const NMTTools_CommonBlock& I,NMTTools_ListIteratorOfListOfCommonBlock& It) ;
+
+
 Standard_EXPORT   void InsertAfter(NMTTools_ListOfCommonBlock& Other,NMTTools_ListIteratorOfListOfCommonBlock& It) ;
 
 
@@ -112,6 +150,8 @@ private:
 
  // Methods PRIVATE
  // 
+
+
 Standard_EXPORT NMTTools_ListOfCommonBlock(const NMTTools_ListOfCommonBlock& Other);
 
 
index df5fc9d70c14861e1b562d1a24321370da12f719..68839bedd18b0a49d8c84a9d574fc4942a7c97c4 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
index 6e63a0806997492846480507ea2e391df3341094..2ba0b324c990f45cad64e258c012ab777cb32bed 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -45,6 +45,7 @@ class NMTTools_ListNodeOfListOfCoupleOfShape;
 #include <Standard_Macro.hxx>
 #endif
 
+
 class NMTTools_ListOfCoupleOfShape  {
 
 public:
@@ -63,34 +64,71 @@ public:
       }
  // Methods PUBLIC
  // 
+
+
 Standard_EXPORT NMTTools_ListOfCoupleOfShape();
+
+
 Standard_EXPORT   void Assign(const NMTTools_ListOfCoupleOfShape& Other) ;
   void operator=(const NMTTools_ListOfCoupleOfShape& Other) 
 {
   Assign(Other);
 }
 
+
+
 Standard_EXPORT   Standard_Integer Extent() const;
+
+
 Standard_EXPORT   void Clear() ;
 ~NMTTools_ListOfCoupleOfShape()
 {
   Clear();
 }
 
+
   Standard_Boolean IsEmpty() const;
+
+
 Standard_EXPORT   void Prepend(const NMTTools_CoupleOfShape& I) ;
+
+
 Standard_EXPORT   void Prepend(const NMTTools_CoupleOfShape& I,NMTTools_ListIteratorOfListOfCoupleOfShape& theIt) ;
+
+
 Standard_EXPORT   void Prepend(NMTTools_ListOfCoupleOfShape& Other) ;
+
+
 Standard_EXPORT   void Append(const NMTTools_CoupleOfShape& I) ;
+
+
 Standard_EXPORT   void Append(const NMTTools_CoupleOfShape& I,NMTTools_ListIteratorOfListOfCoupleOfShape& theIt) ;
+
+
 Standard_EXPORT   void Append(NMTTools_ListOfCoupleOfShape& Other) ;
+
+
 Standard_EXPORT   NMTTools_CoupleOfShape& First() const;
+
+
 Standard_EXPORT   NMTTools_CoupleOfShape& Last() const;
+
+
 Standard_EXPORT   void RemoveFirst() ;
+
+
 Standard_EXPORT   void Remove(NMTTools_ListIteratorOfListOfCoupleOfShape& It) ;
+
+
 Standard_EXPORT   void InsertBefore(const NMTTools_CoupleOfShape& I,NMTTools_ListIteratorOfListOfCoupleOfShape& It) ;
+
+
 Standard_EXPORT   void InsertBefore(NMTTools_ListOfCoupleOfShape& Other,NMTTools_ListIteratorOfListOfCoupleOfShape& It) ;
+
+
 Standard_EXPORT   void InsertAfter(const NMTTools_CoupleOfShape& I,NMTTools_ListIteratorOfListOfCoupleOfShape& It) ;
+
+
 Standard_EXPORT   void InsertAfter(NMTTools_ListOfCoupleOfShape& Other,NMTTools_ListIteratorOfListOfCoupleOfShape& It) ;
 
 
@@ -112,6 +150,8 @@ private:
 
  // Methods PRIVATE
  // 
+
+
 Standard_EXPORT NMTTools_ListOfCoupleOfShape(const NMTTools_ListOfCoupleOfShape& Other);
 
 
index 30996a951dd8b0d9e56f05b236a62f2e30f883e6..3251491ef299d567bda9b4938d1a0bab7c6e7162 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
diff --git a/src/NMTTools/NMTTools_MapIteratorOfMapOfPaveBlock.hxx b/src/NMTTools/NMTTools_MapIteratorOfMapOfPaveBlock.hxx
new file mode 100644 (file)
index 0000000..d53253d
--- /dev/null
@@ -0,0 +1,109 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _NMTTools_MapIteratorOfMapOfPaveBlock_HeaderFile
+#define _NMTTools_MapIteratorOfMapOfPaveBlock_HeaderFile
+
+#ifndef _TCollection_BasicMapIterator_HeaderFile
+#include <TCollection_BasicMapIterator.hxx>
+#endif
+#ifndef _Handle_NMTTools_StdMapNodeOfMapOfPaveBlock_HeaderFile
+#include <Handle_NMTTools_StdMapNodeOfMapOfPaveBlock.hxx>
+#endif
+class Standard_NoSuchObject;
+class BOPTools_PaveBlock;
+class BOPTools_PaveBlockMapHasher;
+class NMTTools_MapOfPaveBlock;
+class NMTTools_StdMapNodeOfMapOfPaveBlock;
+
+
+#ifndef _Standard_HeaderFile
+#include <Standard.hxx>
+#endif
+#ifndef _Standard_Macro_HeaderFile
+#include <Standard_Macro.hxx>
+#endif
+
+
+class NMTTools_MapIteratorOfMapOfPaveBlock  : public TCollection_BasicMapIterator {
+
+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_MapIteratorOfMapOfPaveBlock();
+
+
+Standard_EXPORT NMTTools_MapIteratorOfMapOfPaveBlock(const NMTTools_MapOfPaveBlock& aMap);
+
+
+Standard_EXPORT   void Initialize(const NMTTools_MapOfPaveBlock& aMap) ;
+
+
+Standard_EXPORT  const BOPTools_PaveBlock& Key() const;
+
+
+
+
+
+protected:
+
+ // Methods PROTECTED
+ // 
+
+
+ // Fields PROTECTED
+ //
+
+
+private: 
+
+ // Methods PRIVATE
+ // 
+
+
+ // Fields PRIVATE
+ //
+
+
+};
+
+
+
+
+
+// other Inline functions and methods (like "C++: function call" methods)
+//
+
+
+#endif
diff --git a/src/NMTTools/NMTTools_MapIteratorOfMapOfPaveBlock_0.cxx b/src/NMTTools/NMTTools_MapIteratorOfMapOfPaveBlock_0.cxx
new file mode 100644 (file)
index 0000000..c3dd9b3
--- /dev/null
@@ -0,0 +1,52 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#include <NMTTools_MapIteratorOfMapOfPaveBlock.hxx>
+
+#ifndef _Standard_NoSuchObject_HeaderFile
+#include <Standard_NoSuchObject.hxx>
+#endif
+#ifndef _BOPTools_PaveBlock_HeaderFile
+#include <BOPTools_PaveBlock.hxx>
+#endif
+#ifndef _BOPTools_PaveBlockMapHasher_HeaderFile
+#include <BOPTools_PaveBlockMapHasher.hxx>
+#endif
+#ifndef _NMTTools_MapOfPaveBlock_HeaderFile
+#include <NMTTools_MapOfPaveBlock.hxx>
+#endif
+#ifndef _NMTTools_StdMapNodeOfMapOfPaveBlock_HeaderFile
+#include <NMTTools_StdMapNodeOfMapOfPaveBlock.hxx>
+#endif
+
+#define TheKey BOPTools_PaveBlock
+#define TheKey_hxx <BOPTools_PaveBlock.hxx>
+#define Hasher BOPTools_PaveBlockMapHasher
+#define Hasher_hxx <BOPTools_PaveBlockMapHasher.hxx>
+#define TCollection_StdMapNode NMTTools_StdMapNodeOfMapOfPaveBlock
+#define TCollection_StdMapNode_hxx <NMTTools_StdMapNodeOfMapOfPaveBlock.hxx>
+#define TCollection_MapIterator NMTTools_MapIteratorOfMapOfPaveBlock
+#define TCollection_MapIterator_hxx <NMTTools_MapIteratorOfMapOfPaveBlock.hxx>
+#define Handle_TCollection_StdMapNode Handle_NMTTools_StdMapNodeOfMapOfPaveBlock
+#define TCollection_StdMapNode_Type_() NMTTools_StdMapNodeOfMapOfPaveBlock_Type_()
+#define TCollection_Map NMTTools_MapOfPaveBlock
+#define TCollection_Map_hxx <NMTTools_MapOfPaveBlock.hxx>
+#include <TCollection_MapIterator.gxx>
+
diff --git a/src/NMTTools/NMTTools_MapOfPaveBlock.hxx b/src/NMTTools/NMTTools_MapOfPaveBlock.hxx
new file mode 100644 (file)
index 0000000..f7db910
--- /dev/null
@@ -0,0 +1,137 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _NMTTools_MapOfPaveBlock_HeaderFile
+#define _NMTTools_MapOfPaveBlock_HeaderFile
+
+#ifndef _TCollection_BasicMap_HeaderFile
+#include <TCollection_BasicMap.hxx>
+#endif
+#ifndef _Handle_NMTTools_StdMapNodeOfMapOfPaveBlock_HeaderFile
+#include <Handle_NMTTools_StdMapNodeOfMapOfPaveBlock.hxx>
+#endif
+#ifndef _Standard_Integer_HeaderFile
+#include <Standard_Integer.hxx>
+#endif
+#ifndef _Standard_Boolean_HeaderFile
+#include <Standard_Boolean.hxx>
+#endif
+class Standard_DomainError;
+class BOPTools_PaveBlock;
+class BOPTools_PaveBlockMapHasher;
+class NMTTools_StdMapNodeOfMapOfPaveBlock;
+class NMTTools_MapIteratorOfMapOfPaveBlock;
+
+
+#ifndef _Standard_HeaderFile
+#include <Standard.hxx>
+#endif
+#ifndef _Standard_Macro_HeaderFile
+#include <Standard_Macro.hxx>
+#endif
+
+
+class NMTTools_MapOfPaveBlock  : public TCollection_BasicMap {
+
+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_MapOfPaveBlock(const Standard_Integer NbBuckets = 1);
+
+
+Standard_EXPORT   NMTTools_MapOfPaveBlock& Assign(const NMTTools_MapOfPaveBlock& Other) ;
+  NMTTools_MapOfPaveBlock& operator =(const NMTTools_MapOfPaveBlock& Other) 
+{
+  return Assign(Other);
+}
+
+
+
+Standard_EXPORT   void ReSize(const Standard_Integer NbBuckets) ;
+
+
+Standard_EXPORT   void Clear() ;
+~NMTTools_MapOfPaveBlock()
+{
+  Clear();
+}
+
+
+
+Standard_EXPORT   Standard_Boolean Add(const BOPTools_PaveBlock& aKey) ;
+
+
+Standard_EXPORT   Standard_Boolean Contains(const BOPTools_PaveBlock& aKey) const;
+
+
+Standard_EXPORT   Standard_Boolean Remove(const BOPTools_PaveBlock& aKey) ;
+
+
+
+
+
+protected:
+
+ // Methods PROTECTED
+ // 
+
+
+ // Fields PROTECTED
+ //
+
+
+private: 
+
+ // Methods PRIVATE
+ // 
+
+
+Standard_EXPORT NMTTools_MapOfPaveBlock(const NMTTools_MapOfPaveBlock& Other);
+
+
+ // Fields PRIVATE
+ //
+
+
+};
+
+
+
+
+
+// other Inline functions and methods (like "C++: function call" methods)
+//
+
+
+#endif
diff --git a/src/NMTTools/NMTTools_MapOfPaveBlock_0.cxx b/src/NMTTools/NMTTools_MapOfPaveBlock_0.cxx
new file mode 100644 (file)
index 0000000..5b8574f
--- /dev/null
@@ -0,0 +1,52 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#include <NMTTools_MapOfPaveBlock.hxx>
+
+#ifndef _Standard_DomainError_HeaderFile
+#include <Standard_DomainError.hxx>
+#endif
+#ifndef _BOPTools_PaveBlock_HeaderFile
+#include <BOPTools_PaveBlock.hxx>
+#endif
+#ifndef _BOPTools_PaveBlockMapHasher_HeaderFile
+#include <BOPTools_PaveBlockMapHasher.hxx>
+#endif
+#ifndef _NMTTools_StdMapNodeOfMapOfPaveBlock_HeaderFile
+#include <NMTTools_StdMapNodeOfMapOfPaveBlock.hxx>
+#endif
+#ifndef _NMTTools_MapIteratorOfMapOfPaveBlock_HeaderFile
+#include <NMTTools_MapIteratorOfMapOfPaveBlock.hxx>
+#endif
+
+#define TheKey BOPTools_PaveBlock
+#define TheKey_hxx <BOPTools_PaveBlock.hxx>
+#define Hasher BOPTools_PaveBlockMapHasher
+#define Hasher_hxx <BOPTools_PaveBlockMapHasher.hxx>
+#define TCollection_StdMapNode NMTTools_StdMapNodeOfMapOfPaveBlock
+#define TCollection_StdMapNode_hxx <NMTTools_StdMapNodeOfMapOfPaveBlock.hxx>
+#define TCollection_MapIterator NMTTools_MapIteratorOfMapOfPaveBlock
+#define TCollection_MapIterator_hxx <NMTTools_MapIteratorOfMapOfPaveBlock.hxx>
+#define Handle_TCollection_StdMapNode Handle_NMTTools_StdMapNodeOfMapOfPaveBlock
+#define TCollection_StdMapNode_Type_() NMTTools_StdMapNodeOfMapOfPaveBlock_Type_()
+#define TCollection_Map NMTTools_MapOfPaveBlock
+#define TCollection_Map_hxx <NMTTools_MapOfPaveBlock.hxx>
+#include <TCollection_Map.gxx>
+
index c040bbf5f7c1a2881a6529f1fe9105903149eebf..b4babb82fc7b77568321db739cdb82aba959f4d1 100644 (file)
@@ -1,22 +1,22 @@
-// Copyright (C) 2005  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 
-// 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 
-// 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 
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
-//
+-- Copyright (C) 2005  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 
+-- 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 
+-- 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 
+-- 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_PCurveMaker.cdl
 -- Created:     
 -- Author:     Peter KURNEV
index 951b32d9bd62a6e2c3409fd401d1a0dfaecf87aa..ca0b3f24806098c1ab2ef3333952d61fd6d28f96 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -35,6 +35,9 @@
 #include <Standard_Macro.hxx>
 #endif
 
+
+//!  Class provides computation p-curves for the edges and theirs <br>
+//! split parts <br>
 class NMTTools_PCurveMaker  {
 
 public:
@@ -53,8 +56,17 @@ public:
       }
  // Methods PUBLIC
  // 
+
+
+//! Constructor <br>
 Standard_EXPORT NMTTools_PCurveMaker(NMTTools_PDSFiller& aFiller);
+
+
+//! Launch the processor <br>
 Standard_EXPORT   void Do() ;
+
+
+//! Returns TRUE if Ok <br>
 Standard_EXPORT   Standard_Boolean IsDone() const;
 
 
index e3425c15ebf09eaef46409c84e14507981931625..3a2ac54d66a030efae30619c209f8efd9c6dcb0d 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
index 250eeba464ff430c570ccaa41275834034e2ee5c..46c9c270ff6c6ccdb098c8290116afb76f8a9ca4 100644 (file)
@@ -1,22 +1,22 @@
 // Copyright (C) 2005  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
-//
+
 #ifndef _NMTTools_PCurveMaker_HeaderFile
 #include <NMTTools_PCurveMaker.hxx>
 #endif
index fedc3f393afc6d9b3b4cf286d06c81fceeb7f85d..cfc95a0faba351c02ae888899973320b0242d3f8 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
index 766401d4b2a5ea157d36d701b461302c4b20ccdb..116c108efe34a8630e6f4374da88c6954a2762ea 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
index 2ced14146e20bf2a3a8cfc1708c2689715b22f46..3cee74a1a95e9f2609fe5abc39b36c3567e89d44 100644 (file)
@@ -1,43 +1,51 @@
-// Copyright (C) 2005  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 
-// 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 
-// 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 
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
-//
+-- Copyright (C) 2005  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 
+-- 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 
+-- 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 
+-- 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_PaveFiller.cdl
 -- Created:    Fri Dec  5 14:35:00 2003
 -- Author:     Peter KURNEV
 --             <pkv@irinox>
----Copyright:   Matra Datavision 2003
 
 
 class PaveFiller from NMTTools 
 
        ---Purpose: 
 
-uses    
-    ListOfInteger from TColStd,
+uses   
+    -- Modified to add new definitions Thu Sep 14 14:35:18 2006 
+    -- Contribution of Samtech www.samcef.com BEGIN   
+    ListOfInteger from TColStd, 
+    -- Contribution of Samtech www.samcef.com END 
+    DataMapOfIntegerInteger from TColStd,
     Pnt from gp,
     ShapeEnum  from  TopAbs, 
     Vertex     from  TopoDS, 
-    Face       from  TopoDS, 
+    Face       from  TopoDS,  
+    -- Modified to add new definitions Thu Sep 14 14:35:18 2006 
+    -- Contribution of Samtech www.samcef.com BEGIN 
+    Edge       from  TopoDS, 
+    ListOfShape from TopTools, 
+    -- Contribution of Samtech www.samcef.com END 
     
     Context     from IntTools, 
     ShrunkRange from IntTools,
-      
+    
     IndexedDataMapOfShapeInteger from BooleanOperations, 
     
     InterferencePool  from BOPTools,
@@ -57,12 +65,18 @@ uses
     
     CommonBlockPool         from NMTTools, 
     CommonBlock             from NMTTools, 
-    ListOfCommonBlock       from NMTTools,
-    IteratorOfCoupleOfShape from NMTTools,
-    
-    ShapesDataStructure  from NMTDS, 
-    PShapesDataStructure from NMTDS 
-    
+    ListOfCommonBlock       from NMTTools, 
+    -- Modified to add new definitions Thu Sep 14 14:35:18 2006 
+    -- Contribution of Samtech www.samcef.com BEGIN
+    IndexedDataMapOfIndexedMapOfInteger from NMTTools,  
+    -- Contribution of Samtech www.samcef.com END
+    ShapesDataStructure  from NMTDS,  
+    -- Modified to add new definitions Thu Sep 14 14:35:18 2006 
+    -- Contribution of Samtech www.samcef.com BEGIN
+    PShapesDataStructure from NMTDS, 
+    Iterator             from NMTDS 
+    -- Contribution of Samtech www.samcef.com END
+
 --raises
 
 is 
@@ -84,14 +98,16 @@ is
        returns PInterferencePool from BOPTools; 
     --  
     --  Perform the algo  
-    Init       (me:out) 
-       is protected; 
+    -- Modified to add new method Thu Sep 14 14:35:18 2006 
+    -- Contribution of Samtech www.samcef.com BEGIN      
+    Init       (me:out); 
+    -- Contribution of Samtech www.samcef.com END
         
     Perform    (me:out) 
        is virtual;   
         
     PerformVV  (me:out) 
-       is virtual protected;  
+       is virtual ;  
      
     PerformVE  (me:out) 
        is virtual protected; 
@@ -127,7 +143,7 @@ is
        is virtual protected;             
                       
     PerformNewVertices  (me:out) 
-       is virtual protected;  
+       is virtual ;  
      
     PrepareEdges  (me:out) 
        is virtual protected;  
@@ -353,8 +369,17 @@ is
     RealPaveBlock(me:out;   
            aPB:PaveBlock from BOPTools) 
        returns PaveBlock from BOPTools; 
+    ---C++: return const &       
+    
+    -- Modified to add new method Thu Sep 14 14:35:18 2006 
+    -- Contribution of Samtech www.samcef.com BEGIN  
+    RealPaveBlock(me:out;   
+           aPB:PaveBlock from BOPTools; 
+           aLB:out ListOfInteger from TColStd) 
+       returns PaveBlock from BOPTools; 
     ---C++: return const &      
-    -- 
+    -- Contribution of Samtech www.samcef.com END 
+     
     RealSplitsFace  (me:out;  
                 nF2 :Integer from Standard;  
                 aLs :out ListOfPaveBlock from BOPTools); 
@@ -394,9 +419,7 @@ is
     PrepareSetForFace(me:out;   
                nF1 :Integer from Standard;  
                nF2 :Integer from Standard;  
-    --modified by NIZNHY-PKV Fri Apr  1 11:19:15 2005f         
                aLPB: ListOfPaveBlock from BOPTools;  
-    --modified by NIZNHY-PKV Fri Apr  1 10:54:16 2005t    
                aPSF:out PaveSet from BOPTools); 
                 
     PutPaveOnCurve(me:out;   
@@ -427,34 +450,77 @@ is
                    aTol: Real  from  Standard) 
        returns Integer from Standard;  
                
---    IsExistingPaveBlock (me:out; 
---                 aPB : PaveBlock      from BOPTools; 
---                         aFF : SSInterference from BOPTools) 
---     returns Boolean from Standard;  
-       
---modified by NIZNHY-PKV Fri Apr  1 09:35:34 2005f      
+
     IsExistingPaveBlock (me:out; 
                    aPB : PaveBlock       from BOPTools; 
                    aLPB: ListOfPaveBlock from BOPTools; 
                    aTol: Real  from  Standard) 
        returns Boolean from Standard;  
---modified by NIZNHY-PKV Fri Apr  1 09:35:39 2005t      
          
     MakePCurves (me:out); 
      
+    -- Modified to add new methods Thu Sep 14 14:35:18 2006 
+    -- Contribution of Samtech www.samcef.com BEGIN
+    PerformVF1(me:out) 
+       is protected;  
+        
+    MakeAloneVertices(me:out) 
+       is protected;   
+        
+    AloneVertices(me)  
+       returns IndexedDataMapOfIndexedMapOfInteger from NMTTools; 
+    ---C++: return const & 
+    -- Contribution of Samtech www.samcef.com END 
+     
+    IsExistingPaveBlock (me:out; 
+                   aPB : PaveBlock   from BOPTools; 
+                   aLPB: ListOfShape from TopTools; 
+                   aTol: Real  from  Standard) 
+       returns Boolean from Standard;  
+
+    --
+    CheckCoincidence (me:out; 
+                   aPB : PaveBlock   from BOPTools; 
+                   aLPB: ListOfPaveBlock from BOPTools) 
+       returns Boolean from Standard;  
+    -- 
+     
+    CheckIntermediatePoint(me:out;  
+                   aPB : PaveBlock      from BOPTools;  
+                   aE  : Edge from TopoDS;  
+                   aTol: Real  from  Standard) 
+       returns Integer from Standard;   
+
+    -- Modified to add new method Thu Sep 14 14:35:18 2006 
+    -- Contribution of Samtech www.samcef.com BEGIN
+    SharedEdges(me:out;  
+                nF1  :Integer from Standard;  
+                nF2  :Integer from Standard;  
+                aLNE :out ListOfInteger from TColStd; 
+                aLSE :out ListOfShape   from TopTools); 
+    -- Contribution of Samtech www.samcef.com END 
+
 fields 
     myIntrPool         :  PInterferencePool from BOPTools      is protected; 
     myDS               :  PShapesDataStructure from NMTDS      is protected;   
     myIsDone           :  Boolean from Standard                 is protected; 
     myNbSources        :  Integer from Standard                 is protected;  
-    myNbEdges          :  Integer from Standard                is protected;      
-    myDSIt             :  IteratorOfCoupleOfShape from NMTTools is protected;
-    -- 
+    myNbEdges          :  Integer from Standard                is protected;  
+
+    -- Modified to add new field Thu Sep 14 14:35:18 2006 
+    -- Contribution of Samtech www.samcef.com BEGIN     
+    myDSIt             :  Iterator from NMTDS is protected; 
+    -- Contribution of Samtech www.samcef.com END 
+     
     myPavePool         :  PavePool from BOPTools                is protected;     
     myPavePoolNew      :  PavePool from BOPTools                is protected;  
     myCommonBlockPool  :  CommonBlockPool from NMTTools         is protected;  
     mySplitShapesPool  :  SplitShapesPool from BOPTools                is protected;    
     -- 
     myContext          :  Context from IntTools                 is protected; 
-    mySectionAttribute :  SSIntersectionAttribute from BOPTools is protected;
+    mySectionAttribute :  SSIntersectionAttribute from BOPTools is protected; 
+    myAloneVertices    :  IndexedDataMapOfIndexedMapOfInteger from NMTTools is protected;   
+    --
+    myVSD              :  DataMapOfIntegerInteger from TColStd is protected;
+    --
 end PaveFiller;
index c3a4f96954404f746dd8d139f7adb9ad3e0bb963..9c76d8910d5521a1ec049e919fec55635afa35f3 100644 (file)
@@ -27,8 +27,8 @@
 #include <BOPTColStd_Failure.hxx>
 #include <NMTDS_ShapesDataStructure.hxx>
 #include <NMTTools_DEProcessor.hxx>
-//QQ #include "utilities.h"
 
+//
 //=======================================================================
 // function: NMTTools_PaveFiller::NMTTools_PaveFiller
 // purpose: 
   void NMTTools_PaveFiller::Init()
 {
   myDSIt.SetDS(myDS);
+  // Modified Thu Sep 14 14:35:18 2006 
+  // Contribution of Samtech www.samcef.com BEGIN
+  myDSIt.Prepare();
+  // Contribution of Samtech www.samcef.com END 
 }
+
 //=======================================================================
 // function: Perform
 // purpose: 
 //=======================================================================
   void NMTTools_PaveFiller::Perform()
 {
+  myIsDone=Standard_False;
+  //
   try {
     // 0.
-    Init();//myDSIt.SetDS(myDS);
-    //
+    // Modified Thu Sep 14 14:35:18 2006 
+    // Contribution of Samtech www.samcef.com BEGIN
+    Init();
+    // Contribution of Samtech www.samcef.com END
     //1.VV
+    //
     PerformVV();
     PerformNewVertices();
     //
     // 2.VE
     myPavePool.Resize (myNbEdges);
-    PrepareEdges();
     
+    PrepareEdges();
+
     PerformVE();
     //
     // 3.VF
     myCommonBlockPool.Resize (myNbEdges);
     mySplitShapesPool.Resize (myNbEdges);
     myPavePoolNew    .Resize (myNbEdges);
-    
+
     PreparePaveBlocks(TopAbs_VERTEX, TopAbs_EDGE);
     PreparePaveBlocks(TopAbs_EDGE, TopAbs_EDGE);
     //
     //
     // 5.EF
     PreparePaveBlocks(TopAbs_EDGE, TopAbs_FACE);
+
     PerformEF();
+    //
     RefinePavePool();
     //
     myPavePoolNew.Destroy();
+    
     MakeSplitEdges();
+
     UpdateCommonBlocks();
     //
     // 6. FF
     PerformFF ();
+    //
     MakeBlocks();
+    //
     MakePCurves();
     //
     // 7.Postprocessing 
     NMTTools_DEProcessor aDEP(*this);
     aDEP.Do();
     //
-    myIsDone = Standard_True;
+    // Modified to treat Alone Vertices Thu Sep 14 14:35:18 2006 
+    // Contribution of Samtech www.samcef.com BEGIN
+    MakeAloneVertices();
+    // Contribution of Samtech www.samcef.com END
+    //
+    myIsDone=Standard_True;
   }
-  catch (BOPTColStd_Failure& /*x*/) {
-    //QQ MESSAGE(x.Message() << flush);
-    myIsDone = Standard_False;
+  catch (BOPTColStd_Failure& ) {
   }
 }
index 0f33f990821e6496cd2a5317b879c20be5939201..ab479896eadc3f6bb9333ee7df0a48b2822e1273 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -32,8 +32,8 @@
 #ifndef _Standard_Integer_HeaderFile
 #include <Standard_Integer.hxx>
 #endif
-#ifndef _NMTTools_IteratorOfCoupleOfShape_HeaderFile
-#include <NMTTools_IteratorOfCoupleOfShape.hxx>
+#ifndef _NMTDS_Iterator_HeaderFile
+#include <NMTDS_Iterator.hxx>
 #endif
 #ifndef _BOPTools_PavePool_HeaderFile
 #include <BOPTools_PavePool.hxx>
 #ifndef _BOPTools_SSIntersectionAttribute_HeaderFile
 #include <BOPTools_SSIntersectionAttribute.hxx>
 #endif
+#ifndef _NMTTools_IndexedDataMapOfIndexedMapOfInteger_HeaderFile
+#include <NMTTools_IndexedDataMapOfIndexedMapOfInteger.hxx>
+#endif
+#ifndef _TColStd_DataMapOfIntegerInteger_HeaderFile
+#include <TColStd_DataMapOfIntegerInteger.hxx>
+#endif
 #ifndef _TopAbs_ShapeEnum_HeaderFile
 #include <TopAbs_ShapeEnum.hxx>
 #endif
@@ -77,6 +83,9 @@ class BOPTools_PaveSet;
 class BOPTools_Curve;
 class BOPTools_SSInterference;
 class gp_Pnt;
+class NMTTools_IndexedDataMapOfIndexedMapOfInteger;
+class TopTools_ListOfShape;
+class TopoDS_Edge;
 
 
 #ifndef _Standard_HeaderFile
@@ -86,6 +95,7 @@ class gp_Pnt;
 #include <Standard_Macro.hxx>
 #endif
 
+
 class NMTTools_PaveFiller  {
 
 public:
@@ -104,56 +114,177 @@ public:
       }
  // Methods PUBLIC
  // 
+
+
 Standard_EXPORT NMTTools_PaveFiller();
+
+
 Standard_EXPORT NMTTools_PaveFiller(const BOPTools_InterferencePool& aIP);
+
+
 Standard_EXPORT virtual  void Destroy() ;
 Standard_EXPORT virtual ~NMTTools_PaveFiller(){Destroy();}
+
+
 Standard_EXPORT   void SetInterferencePool(const BOPTools_InterferencePool& aIP) ;
+
+
 Standard_EXPORT   BOPTools_PInterferencePool InterfPool() ;
+
+
+Standard_EXPORT   void Init() ;
+
+
 Standard_EXPORT virtual  void Perform() ;
+
+
+Standard_EXPORT virtual  void PerformVV() ;
+
+
+Standard_EXPORT virtual  void PerformNewVertices() ;
+
+
 Standard_EXPORT   Standard_Boolean IsDone() const;
+
+
 Standard_EXPORT   NMTDS_PShapesDataStructure DS() ;
+
+
 Standard_EXPORT  const IntTools_Context& Context() const;
+
+
 Standard_EXPORT   IntTools_Context& ChangeContext() ;
+
+
 Standard_EXPORT  const BOPTools_PavePool& PavePool() const;
+
+
 Standard_EXPORT   BOPTools_PavePool& ChangePavePool() ;
+
+
 Standard_EXPORT  const NMTTools_CommonBlockPool& CommonBlockPool() const;
+
+
 Standard_EXPORT   NMTTools_CommonBlockPool& ChangeCommonBlockPool() ;
+
+
 Standard_EXPORT  const BOPTools_SplitShapesPool& SplitShapesPool() const;
+
+
 Standard_EXPORT   BOPTools_SplitShapesPool& ChangeSplitShapesPool() ;
+
+
 Standard_EXPORT   Standard_Integer FindSDVertex(const Standard_Integer nV) const;
+
+
 Standard_EXPORT   Standard_Integer SplitsInFace(const Standard_Integer aBid,const Standard_Integer nF1,const Standard_Integer nF2,TColStd_ListOfInteger& aLs) ;
+
+
 Standard_EXPORT   Standard_Integer SplitsInFace(const Standard_Integer nE1,const Standard_Integer nF2,TColStd_ListOfInteger& aLs) ;
+
+
 Standard_EXPORT   Standard_Integer SplitsOnEdge(const Standard_Integer nE1,const Standard_Integer nE2,TColStd_ListOfInteger& aLs) ;
+
+
 Standard_EXPORT   Standard_Integer SplitsOnFace(const Standard_Integer nE1,const Standard_Integer nF2,TColStd_ListOfInteger& aLs) ;
+
+
 Standard_EXPORT   Standard_Integer SplitsOnFace(const Standard_Integer aBid,const Standard_Integer nF1,const Standard_Integer nF2,TColStd_ListOfInteger& aLs) ;
+
+
 Standard_EXPORT   Standard_Integer SplitsInFace(const Standard_Integer aBid,const Standard_Integer nF1,const Standard_Integer nF2,BOPTools_ListOfPaveBlock& aLs) ;
+
+
 Standard_EXPORT   Standard_Integer SplitsInFace(const Standard_Integer nE1,const Standard_Integer nF2,BOPTools_ListOfPaveBlock& aLs) ;
+
+
 Standard_EXPORT   Standard_Integer SplitsOnEdge(const Standard_Integer nE1,const Standard_Integer nE2,BOPTools_ListOfPaveBlock& aLs) ;
+
+
 Standard_EXPORT   Standard_Integer SplitsOnFace(const Standard_Integer nE1,const Standard_Integer nF2,BOPTools_ListOfPaveBlock& aLs) ;
+
+
 Standard_EXPORT   Standard_Integer SplitsOnFace(const Standard_Integer aBid,const Standard_Integer nF1,const Standard_Integer nF2,BOPTools_ListOfPaveBlock& aLs) ;
+
+
 Standard_EXPORT   Standard_Integer SplitsFace(const Standard_Integer nF2,BOPTools_ListOfPaveBlock& aLs) ;
+
+
 Standard_EXPORT   Standard_Integer SplitsFace(const Standard_Integer nF2,TColStd_ListOfInteger& aLs) ;
+
+
 Standard_EXPORT   Standard_Integer CommonBlocksFace(const Standard_Integer nF,NMTTools_ListOfCommonBlock& aLCB) ;
+
+
 Standard_EXPORT   void PrepareFace(const Standard_Integer nF,TopoDS_Face& aF) ;
+
+
 Standard_EXPORT  const BOPTools_PaveBlock& RealPaveBlock(const BOPTools_PaveBlock& aPB) ;
+
+
+Standard_EXPORT  const BOPTools_PaveBlock& RealPaveBlock(const BOPTools_PaveBlock& aPB,TColStd_ListOfInteger& aLB) ;
+
+
 Standard_EXPORT   void RealSplitsFace(const Standard_Integer nF2,BOPTools_ListOfPaveBlock& aLs) ;
+
+
 Standard_EXPORT   Standard_Boolean HasRealSplitsInOnFace(const Standard_Integer nF1,const Standard_Integer nF2) ;
+
+
 Standard_EXPORT   void RealSplitsInFace(const Standard_Integer aBid,const Standard_Integer nF1,const Standard_Integer nF2,BOPTools_ListOfPaveBlock& aLs) ;
+
+
 Standard_EXPORT   void RealSplitsInFace(const Standard_Integer nE1,const Standard_Integer nF2,BOPTools_ListOfPaveBlock& aLs) ;
+
+
 Standard_EXPORT   void RealSplitsOnEdge(const Standard_Integer nE1,const Standard_Integer nE2,BOPTools_ListOfPaveBlock& aLs) ;
+
+
 Standard_EXPORT   void RealSplitsOnFace(const Standard_Integer nE1,const Standard_Integer nF2,BOPTools_ListOfPaveBlock& aLs) ;
+
+
 Standard_EXPORT   void RealSplitsOnFace(const Standard_Integer aBid,const Standard_Integer nF1,const Standard_Integer nF2,BOPTools_ListOfPaveBlock& aLs) ;
+
+
 Standard_EXPORT   void PrepareSetForFace(const Standard_Integer nF1,const Standard_Integer nF2,const BOPTools_ListOfPaveBlock& aLPB,BOPTools_PaveSet& aPSF) ;
+
+
 Standard_EXPORT   void PutPaveOnCurve(const BOPTools_PaveSet& aPSF,const Standard_Real aTol,BOPTools_Curve& aBC) ;
+
+
 Standard_EXPORT   void PutBoundPaveOnCurve(BOPTools_Curve& aBC,BOPTools_SSInterference& aFF) ;
+
+
 Standard_EXPORT   void PutBoundPaveOnCurve(const gp_Pnt& aP,const Standard_Real aT,BOPTools_Curve& aBC,BOPTools_SSInterference& aFF) ;
+
+
 Standard_EXPORT   Standard_Boolean FindPave(const gp_Pnt& aP,const Standard_Real aTpV,const BOPTools_PaveSet& aPS,BOPTools_Pave& aPV) ;
+
+
 Standard_EXPORT   Standard_Integer CheckIntermediatePoint(const BOPTools_PaveBlock& aPB,const BOPTools_PaveBlock& aPBR,const Standard_Real aTol) ;
+
+
 Standard_EXPORT   Standard_Boolean IsExistingPaveBlock(const BOPTools_PaveBlock& aPB,const BOPTools_ListOfPaveBlock& aLPB,const Standard_Real aTol) ;
+
+
 Standard_EXPORT   void MakePCurves() ;
 
 
+Standard_EXPORT  const NMTTools_IndexedDataMapOfIndexedMapOfInteger& AloneVertices() const;
+
+
+Standard_EXPORT   Standard_Boolean IsExistingPaveBlock(const BOPTools_PaveBlock& aPB,const TopTools_ListOfShape& aLPB,const Standard_Real aTol) ;
+
+
+Standard_EXPORT   Standard_Boolean CheckCoincidence(const BOPTools_PaveBlock& aPB,const BOPTools_ListOfPaveBlock& aLPB) ;
+
+
+Standard_EXPORT   Standard_Integer CheckIntermediatePoint(const BOPTools_PaveBlock& aPB,const TopoDS_Edge& aE,const Standard_Real aTol) ;
+
+
+Standard_EXPORT   void SharedEdges(const Standard_Integer nF1,const Standard_Integer nF2,TColStd_ListOfInteger& aLNE,TopTools_ListOfShape& aLSE) ;
+
+
 
 
 
@@ -161,41 +292,104 @@ protected:
 
  // Methods PROTECTED
  // 
-Standard_EXPORT   void Init() ;
-Standard_EXPORT virtual  void PerformVV() ;
+
+
 Standard_EXPORT virtual  void PerformVE() ;
+
+
 Standard_EXPORT virtual  void PerformVF() ;
+
+
 Standard_EXPORT virtual  void PerformEE() ;
+
+
 Standard_EXPORT virtual  void PerformEF() ;
+
+
 Standard_EXPORT virtual  void PerformFF() ;
+
+
 Standard_EXPORT   void MakeSplitEdges() ;
+
+
 Standard_EXPORT virtual  void PreparePaveBlocks(const TopAbs_ShapeEnum aType1,const TopAbs_ShapeEnum aType2) ;
+
+
 Standard_EXPORT   void CorrectShrunkRanges(const Standard_Integer aSide,const BOPTools_Pave& aPave,IntTools_ShrunkRange& aSR) ;
+
+
 Standard_EXPORT virtual  void PreparePaveBlocks(const Standard_Integer anE) ;
-Standard_EXPORT virtual  void PerformNewVertices() ;
+
+
 Standard_EXPORT virtual  void PrepareEdges() ;
+
+
 Standard_EXPORT   void SortTypes(Standard_Integer& anInd1,Standard_Integer& anInd2) const;
+
+
 Standard_EXPORT   Standard_Integer ExpectedPoolLength() const;
+
+
 Standard_EXPORT   Standard_Boolean IsSuccesstorsComputed(const Standard_Integer iF1,const Standard_Integer iF2) const;
+
+
 Standard_EXPORT   Standard_Boolean IsBlocksCoinside(const BOPTools_PaveBlock& aPB1,const BOPTools_PaveBlock& aPB2) const;
+
+
 Standard_EXPORT   void RefinePavePool() ;
+
+
 Standard_EXPORT   Standard_Integer CheckFacePaves(const TopoDS_Vertex& aV,const Standard_Integer nF) ;
+
+
 Standard_EXPORT   void ReplaceCommonBlocks(const NMTTools_ListOfCommonBlock& aLCB) ;
+
+
 Standard_EXPORT   void RemoveCommonBlocks(const NMTTools_ListOfCommonBlock& aLCB) ;
+
+
 Standard_EXPORT   void SplitCommonBlocks(const NMTTools_ListOfCommonBlock& aLCB) ;
+
+
 Standard_EXPORT   void SplitCommonBlock(const NMTTools_CommonBlock& aCB,NMTTools_ListOfCommonBlock& aLCB) ;
+
+
 Standard_EXPORT   void EECommonBlocks(const BOPTools_IDMapOfPaveBlockIMapOfPaveBlock& aM) ;
+
+
 Standard_EXPORT   void EFCommonBlocks(const BOPTools_IDMapOfPaveBlockIMapOfInteger& aMapCB) ;
+
+
 Standard_EXPORT   void EENewVertices(const BooleanOperations_IndexedDataMapOfShapeInteger& aM) ;
+
+
 Standard_EXPORT   void EENewVertices(const TopoDS_Vertex& aV,const BooleanOperations_IndexedDataMapOfShapeInteger& aM) ;
+
+
 Standard_EXPORT   void EFNewVertices(const BooleanOperations_IndexedDataMapOfShapeInteger& aM) ;
+
+
 Standard_EXPORT   void EFNewVertices(const TopoDS_Vertex& aV,const BooleanOperations_IndexedDataMapOfShapeInteger& aM) ;
+
+
 Standard_EXPORT   void UpdateCommonBlocks() ;
+
+
 Standard_EXPORT   void UpdatePaveBlocks() ;
+
+
 Standard_EXPORT   Standard_Integer SplitIndex(const BOPTools_PaveBlock& aPB) const;
+
+
 Standard_EXPORT   void MakeBlocks() ;
 
 
+Standard_EXPORT   void PerformVF1() ;
+
+
+Standard_EXPORT   void MakeAloneVertices() ;
+
+
  // Fields PROTECTED
  //
 BOPTools_PInterferencePool myIntrPool;
@@ -203,13 +397,15 @@ NMTDS_PShapesDataStructure myDS;
 Standard_Boolean myIsDone;
 Standard_Integer myNbSources;
 Standard_Integer myNbEdges;
-NMTTools_IteratorOfCoupleOfShape myDSIt;
+NMTDS_Iterator myDSIt;
 BOPTools_PavePool myPavePool;
 BOPTools_PavePool myPavePoolNew;
 NMTTools_CommonBlockPool myCommonBlockPool;
 BOPTools_SplitShapesPool mySplitShapesPool;
 IntTools_Context myContext;
 BOPTools_SSIntersectionAttribute mySectionAttribute;
+NMTTools_IndexedDataMapOfIndexedMapOfInteger myAloneVertices;
+TColStd_DataMapOfIntegerInteger myVSD;
 
 
 private: 
index d4671682ac9acb9cd808138e596f162e4a3a152a..a07e7b69a242cbab65463353b28e6975480b0cd9 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
index 3c9457ac62f1915a96e31cbfe79f4d5f70c854c9..0e63c963e9a887f232637aadd31255d811433980 100644 (file)
@@ -1,22 +1,22 @@
 // Copyright (C) 2005  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
-//
+
 #ifndef _BOPTools_InterferencePool_HeaderFile
 #include <BOPTools_InterferencePool.hxx>
 #endif
 #ifndef _gp_Pnt_HeaderFile
 #include <gp_Pnt.hxx>
 #endif
+#ifndef _NMTTools_IndexedDataMapOfIndexedMapOfInteger_HeaderFile
+#include <NMTTools_IndexedDataMapOfIndexedMapOfInteger.hxx>
+#endif
+#ifndef _TopTools_ListOfShape_HeaderFile
+#include <TopTools_ListOfShape.hxx>
+#endif
+#ifndef _TopoDS_Edge_HeaderFile
+#include <TopoDS_Edge.hxx>
+#endif
 #ifndef _NMTTools_PaveFiller_HeaderFile
 #include <NMTTools_PaveFiller.hxx>
 #endif
index 0f1aba49a8f298833329d832180118c7b4bf401e..e64607d3e8d06880a03ab2e469d38f0fc55da724 100644 (file)
@@ -1,28 +1,27 @@
 // Copyright (C) 2005  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_PaveFiller_0.cxx
-// Created:    Mon Dec  8 11:45:51 2003
+// File:       NMTTools_PaveFiller_1.cxx
+// Created:    Mon Dec  8 11:47:55 2003
 // Author:     Peter KURNEV
 //             <pkv@irinox>
 
-
 #include <NMTTools_PaveFiller.ixx>
 
 #include <TopAbs_ShapeEnum.hxx>
 {
   Standard_Integer aNbIIs;
   Standard_Real aCfPredict=.5;
-
-  const BOPTools_ListOfCoupleOfInteger& aLC=myDSIt.ListOfCouple();
-  aNbIIs=aLC.Extent();
+  // Modified  Thu Sep 14 14:35:18 2006 
+  // Contribution of Samtech www.samcef.com BEGIN
+  //const BOPTools_ListOfCoupleOfInteger& aLC=myDSIt.ListOfCouple();
+  //aNbIIs=aLC.Extent();
+  aNbIIs=myDSIt.ExpectedLength();
+  // Contribution of Samtech www.samcef.com END
   //
   if (aNbIIs==1) {
     return aNbIIs;
index 448804477dda9ef07045760c501ce028e924dc18..086e395f62558fe2439f360edf19111e6cadd809 100644 (file)
 // Created:    Mon Dec  8 11:47:55 2003
 // Author:     Peter KURNEV
 //             <pkv@irinox>
-
-
 #include <NMTTools_PaveFiller.ixx>
 
-#include <TColStd_IndexedMapOfInteger.hxx>
-
+#include <TColStd_DataMapOfIntegerListOfInteger.hxx>
+#include <TColStd_ListOfInteger.hxx>
+#include <TColStd_ListIteratorOfListOfInteger.hxx>
+#include <TColStd_DataMapIteratorOfDataMapOfIntegerListOfInteger.hxx>
+  
 #include <TopoDS.hxx>
 #include <TopoDS_Shape.hxx>
 #include <TopoDS_Vertex.hxx>
 #include <BOPTools_CArray1OfVVInterference.hxx>
 #include <BOPTools_VVInterference.hxx>
 #include <BooleanOperations_AncestorsSeqAndSuccessorsSeq.hxx>
-#include <BOPTColStd_IndexedDataMapOfIntegerIndexedMapOfInteger.hxx>
 
 #include <NMTDS_ShapesDataStructure.hxx>
 #include <NMTTools_Tools.hxx>
-#include <TopTools_IndexedMapOfShape.hxx>
-
 
-  
 //=======================================================================
 // function: PerformVV
 // purpose: 
 {
   myIsDone=Standard_False;
   //
-  Standard_Integer n1, n2,anIndexIn, aFlag, aWhat, aWith, aNbVVs, aBlockLength;
-  Standard_Boolean bJustAddInterference;
+  Standard_Integer anIndexIn, aWhat, aWith, aNbVVs, aBlockLength, aNbVSD; 
+  Standard_Integer nVnew;
+  TColStd_DataMapIteratorOfDataMapOfIntegerListOfInteger aIt1;
+  TColStd_ListIteratorOfListOfInteger aIt;
+  TopTools_ListOfShape aLV;
+  TopoDS_Vertex aVnew;
+  TopoDS_Shape aS;
+  //
+  myVSD.Clear();
   //
   BOPTools_CArray1OfVVInterference& aVVs=myIntrPool->VVInterferences();
   //
     aVVs.SetBlockLength(aNbVVs);
   }
   //
-  // V/V  BooleanOperations_VertexVertex
-  myDSIt.Initialize(TopAbs_VERTEX, TopAbs_VERTEX);
+  const TColStd_DataMapOfIntegerListOfInteger& aMVSD=myDSIt.SDVertices();
+  aNbVSD=aMVSD.Extent();
+  if (!aNbVSD) {
+    return;
+  }
   //
-  for (; myDSIt.More(); myDSIt.Next()) {
-    myDSIt.Current(n1, n2, bJustAddInterference);
+  aIt1.Initialize(aMVSD);
+  for (; aIt1.More(); aIt1.Next()) {
+    aLV.Clear();
+    //
+    aWhat=aIt1.Key();
+    const TColStd_ListOfInteger& aLIV=aIt1.Value();
     //
-    if (!myIntrPool->IsComputed(n1, n2)) {
-      anIndexIn=0;
-      aWhat=n1;
-      aWith=n2;
-      SortTypes(aWhat, aWith);
-      if (!bJustAddInterference) {
-       const TopoDS_Shape aS1=myDS->GetShape(aWhat);
-       const TopoDS_Shape aS2=myDS->GetShape(aWith);
-       //
-       const TopoDS_Vertex& aV1=TopoDS::Vertex(aS1);
-       const TopoDS_Vertex& aV2=TopoDS::Vertex(aS2);
-       aFlag=IntTools_Tools::ComputeVV (aV1, aV2);
-       //
-       if (!aFlag) {
-         BOPTools_VVInterference anInterf (aWhat, aWith);
-         anIndexIn=aVVs.Append(anInterf);
-       }
-      }
+    // new vertex
+    aIt.Initialize(aLIV);
+    for (; aIt.More(); aIt.Next()) {
+      aWith=aIt.Value();
+      aS=myDS->Shape(aWith);
+      aLV.Append(aS);
+    }
+    aS=myDS->Shape(aWhat);
+    aLV.Append(aS);
+    //
+    NMTTools_Tools::MakeNewVertex(aLV, aVnew);
+    //
+    BooleanOperations_AncestorsSeqAndSuccessorsSeq anASSeq;
+    //
+    myDS->InsertShapeAndAncestorsSuccessors(aVnew, anASSeq);
+    nVnew=myDS->NumberOfInsertedShapes();
+    myDS->SetState (nVnew, BooleanOperations_ON);
+    //
+    // interferences
+    aIt.Initialize(aLIV);
+    for (; aIt.More(); aIt.Next()) {
+      aWith=aIt.Value();
+      BOPTools_VVInterference aVV(aWhat, aWith);
+      aVV.SetNewShape(nVnew);
+      anIndexIn=aVVs.Append(aVV);
       myIntrPool->AddInterference(aWhat, aWith, BooleanOperations_VertexVertex, anIndexIn);
+      //
+      // to find SD-Vertices
+      myVSD.Bind(aWith, nVnew);
     }
-  }
+     myVSD.Bind(aWhat, nVnew);
+  }//for (; aIt1.More(); aIt1.Next()) {
   myIsDone=Standard_True;
 }
 //=======================================================================
 //=======================================================================
   void NMTTools_PaveFiller::PerformNewVertices() 
 {
-  myIsDone=Standard_False;
-  //
-  Standard_Integer i, aNb, anIndex1, anIndex2, aNewShape;
-  TopoDS_Vertex aNewVertex;
-  BooleanOperations_AncestorsSeqAndSuccessorsSeq anASSeq;
-  //
-  Standard_Integer aNbChains, j, aNbV, aIdV, aNbL;
-  TColStd_IndexedMapOfInteger aMapWhole;
-  BOPTColStd_IndexedDataMapOfIntegerIndexedMapOfInteger aMapChains;//aMCV
-  TopTools_ListOfShape aLV;
-  TopTools_IndexedMapOfShape aM;
-  //
-  // 1. VV Interferences
-  BOPTools_CArray1OfVVInterference& VVs=myIntrPool->VVInterferences();
-  //
-  NMTTools_Tools::FindChains(VVs, aMapChains);
-  //
-  aNbChains=aMapChains.Extent();
-  for (i=1; i<=aNbChains; ++i) {
-    const TColStd_IndexedMapOfInteger& aChain=aMapChains(i);
-    //
-    aM.Clear();
-    aLV.Clear();
-    aNbV=aChain.Extent();
-    for (j=1; j<=aNbV; ++j) {
-      aIdV=aChain(j);
-      const TopoDS_Shape aV=myDS->Shape(aIdV);
-      if (!aM.Contains(aV)) {
-       aM.Add(aV);
-       aLV.Append(aV);
-      }
-    }
-    //
-    aNbL=aLV.Extent();
-    if (aNbL==1){
-      aNewShape=aChain(1);
-    }
-    else if (aNbL>1) {
-      //
-      // Make new Vertex
-      NMTTools_Tools::MakeNewVertex(aLV, aNewVertex);
-      // Insert New Vertex in DS;
-      // aNewShape is # of DS-line, where aNewVertex is kept
-      myDS->InsertShapeAndAncestorsSuccessors(aNewVertex, anASSeq);
-      aNewShape=myDS->NumberOfInsertedShapes();
-      //
-      // State of New Vertex is ON
-      myDS->SetState (aNewShape, BooleanOperations_ON);
-    }
-    //
-    // Insert New Vertex in Interference
-    aNb=VVs.Extent();
-    for (j=1; j<=aNb; ++j) {
-      BOPTools_VVInterference& VV=VVs(j);
-      anIndex1=VV.Index1();
-      anIndex2=VV.Index2();
-      if (aChain.Contains(anIndex1) || aChain.Contains(anIndex2)) {
-       VV.SetNewShape(aNewShape);
-      }
-    }
-  }
-  myIsDone=Standard_True;
 }
-
 //=======================================================================
 // function: FindSDVertex
 // purpose: 
 //=======================================================================
   Standard_Integer NMTTools_PaveFiller::FindSDVertex(const Standard_Integer nV)const
 {
-  Standard_Integer i, aNb, anIndex1, anIndex2, aNewShape=0;
-
-  BOPTools_CArray1OfVVInterference& VVs=myIntrPool->VVInterferences();
-  aNb=VVs.Extent();
-  
-  for (i=1; i<=aNb; i++) {
-    const BOPTools_VVInterference& VV=VVs(i);
-    anIndex1=VV.Index1();
-    anIndex2=VV.Index2();
-    if (nV==anIndex1 || nV==anIndex2) {
-      aNewShape=VV.NewShape();
-      return aNewShape;
-    }
+  Standard_Integer nVSD;
+  //
+  nVSD=0;
+  if (myVSD.IsBound(nV)) {
+    nVSD=myVSD.Find(nV);
   }
-  return aNewShape;
+  return nVSD;
 }
index a66bbb6102849d2c9a98d4f67d3368d9f0617e74..8febb88c27ef7462923e935df9f2e2ccb307d637 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -36,6 +36,7 @@
 #include <TopoDS.hxx>
 #include <TopoDS_Edge.hxx>
 #include <TopoDS_Vertex.hxx>
+#include <TopoDS_Iterator.hxx>
 
 #include <BRep_Builder.hxx>
 #include <BRep_Tool.hxx>
 
 #include <NMTDS_ShapesDataStructure.hxx>
 //
+// Modified  Thu Sep 14 14:35:18 2006 
+// Contribution of Samtech www.samcef.com BEGIN
 #include <BOPTools_IndexedMapOfCoupleOfInteger.hxx>
 #include <BOPTools_CoupleOfInteger.hxx>
+#include <BooleanOperations_OnceExplorer.hxx>
+//
 
+static
+  Standard_Boolean Contains(const TopoDS_Edge& aE,
+                           const TopoDS_Vertex& aV);
+// Contribution of Samtech www.samcef.com END
 //=======================================================================
 // function: PrepareEdges
 // purpose: 
        }
        // Edge
        aE2=TopoDS::Edge(myDS->Shape(aWith));
-       //
        if (BRep_Tool::Degenerated(aE2)){
          continue;
        }
        if (iSDV) {
          nV1=iSDV;
          aV1=TopoDS::Vertex(myDS->Shape(nV1));
+         // Modified to find same domain vertex Thu Sep 14 14:35:18 2006 
+         // Contribution of Samtech www.samcef.com BEGIN
+         Standard_Integer nVE, iSDVE, iRet;
+         //
+         BooleanOperations_OnceExplorer aExp(*myDS);
+         iRet=0;
+         aExp.Init(aWith, TopAbs_VERTEX);
+         for (; aExp.More(); aExp.Next()) {
+           nVE=aExp.Current();
+           iSDVE=FindSDVertex(nVE);
+           if (iSDVE==iSDV) {
+             iRet=1;
+             break;
+           }
+         }
+         if (iRet) {
+           continue;
+         }
+       }
+       else {
+         if (Contains(aE2, aV1)) {
+           continue;
+         }
+         // Contribution of Samtech www.samcef.com END
        }
        //
        aFlag=myContext.ComputeVE (aV1, aE2, aT);
        //
        if (!aFlag) {
-         //
          // Add Interference to the Pool
          BOPTools_VEInterference anInterf (aWhat, aWith, aT);
          anIndexIn=aVEs.Append(anInterf);
   }
   myIsDone=Standard_True;
 }
-
-/*
-// A
-//
-      //                                                   cto900/M2
-      // Some of Edges can be [Semi] Infinite.  Such  Edges have no 
-      // vertices on correspondant INF ends.   So we  must  provide 
-      // these vertices formally (to obtain  Shrunk  Ranges for e.g). 
-      // In reality this vertex(-es) does not belong to the INF Edge.
-      // It just has reference in the DS.
-      //                            PKV Tue Apr 23 10:21:45 2002                 
-      {
-       Standard_Real aT1, aT2, aTolE;
-       Standard_Boolean bInf1, bInf2;
-       gp_Pnt aPx;
-       TopoDS_Vertex aVx; 
-       BRep_Builder aBB;
-       BooleanOperations_AncestorsSeqAndSuccessorsSeq anASSeq; 
-       //
-       aTolE=BRep_Tool::Tolerance(aE);
-       Handle(Geom_Curve) aC3D=BRep_Tool::Curve (aE, aT1, aT2);
-       bInf1=Precision::IsNegativeInfinite(aT1);
-       bInf2=Precision::IsPositiveInfinite(aT2);
-
-       if (bInf1) {
-         aC3D->D0(aT1, aPx);
-         aBB.MakeVertex(aVx, aPx, aTolE);
-         myDS->InsertShapeAndAncestorsSuccessors(aVx, anASSeq);
-         nV=myDS->NumberOfInsertedShapes();
-         BOPTools_Pave aPave(nV, aT1); 
-         aPaveSet.Append (aPave);
-       }
-
-       if (bInf2) {
-         aC3D->D0(aT2, aPx);
-         aBB.MakeVertex(aVx, aPx, aTolE);
-         myDS->InsertShapeAndAncestorsSuccessors(aVx, anASSeq);
-         nV=myDS->NumberOfInsertedShapes();
-         BOPTools_Pave aPave(nV, aT2);
-         aPaveSet.Append (aPave); 
-       }
-      }
-*/
+// Modified  Thu Sep 14 14:35:18 2006 
+// Contribution of Samtech www.samcef.com BEGIN
+//=======================================================================
+//function : Contains
+//purpose  : 
+//=======================================================================
+Standard_Boolean Contains(const TopoDS_Edge& aE,
+                         const TopoDS_Vertex& aV)
+{
+  Standard_Boolean bRet;
+  TopoDS_Iterator aIt;
+  //
+  bRet=Standard_False;
+  aIt.Initialize(aE);
+  for (; aIt.More(); aIt.Next()) {
+    const TopoDS_Shape& aVE=aIt.Value();
+    if (aVE.IsSame(aV)) {
+      bRet=!bRet;
+      break;
+    }
+  }
+  return bRet;
+}
+// Contribution of Samtech www.samcef.com END
index 85bcb659992d33929b434cfbb1cb0577234731b7..7869f87d03432b566e38c77e2b68173b91c04658 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
 #include <BOPTools_CArray1OfVSInterference.hxx>
 
 #include <NMTDS_ShapesDataStructure.hxx>
+#include <TopExp_Explorer.hxx>
 
+// Modified  Thu Sep 14 14:35:18 2006 
+// Contribution of Samtech www.samcef.com BEGIN
+static
+  Standard_Boolean Contains(const TopoDS_Face& aF,
+                           const TopoDS_Vertex& aV);
+// Contribution of Samtech www.samcef.com END
 //=======================================================================
 // function: PerformVF
 // purpose: 
        //
        aF2=TopoDS::Face(myDS->Shape(aWith));
        //
+       // Modified  Thu Sep 14 14:35:18 2006 
+       // Contribution of Samtech www.samcef.com BEGIN
+       if (Contains(aF2, aV1)) {
+         continue;
+       }
+       // Contribution of Samtech www.samcef.com END
+       //
        aFlag=myContext.ComputeVS (aV1, aF2, aU, aV);
        //
        if (!aFlag) {
   }
   myIsDone=Standard_True;
 }
+// Modified  Thu Sep 14 14:35:18 2006 
+// Contribution of Samtech www.samcef.com BEGIN
+//=======================================================================
+//function : Contains
+//purpose  : 
+//=======================================================================
+Standard_Boolean Contains(const TopoDS_Face& aF,
+                         const TopoDS_Vertex& aV)
+{
+  Standard_Boolean bRet;
+  TopExp_Explorer aExp;
+  //
+  bRet=Standard_False;
+  aExp.Init(aF, TopAbs_VERTEX);
+  for (; aExp.More(); aExp.Next()) {
+    const TopoDS_Shape& aVF=aExp.Current();
+    if (aVF.IsSame(aV)) {
+      bRet=!bRet;
+      break;
+    }
+  }
+  return bRet;
+}
+// Contribution of Samtech www.samcef.com END
index fb8123077439a7805bd4bdd0e58661efb9121bb1..af8d70fdabe118f330b815a0fed66082999d6c74 100644 (file)
 
 #include <NMTTools_PaveFiller.ixx>
 //
+// Modified  Thu Sep 14 14:35:18 2006 
+// Contribution of Samtech www.samcef.com BEGIN
+#include <TColStd_ListOfInteger.hxx>
+#include <TColStd_ListIteratorOfListOfInteger.hxx>
+#include <BRepBndLib.hxx>
+#include <BOPTools_CArray1OfVSInterference.hxx>
+#include <BOPTools_VSInterference.hxx>
+// Contribution of Samtech www.samcef.com END
+
 #include <stdio.h>
 #include <Precision.hxx>
 
+#include <NCollection_UBTreeFiller.hxx>
+
 #include <TColStd_MapOfInteger.hxx>
 #include <TColStd_IndexedMapOfInteger.hxx>
+#include <TColStd_ListIteratorOfListOfInteger.hxx>
+#include <TColStd_MapOfInteger.hxx>
+
+#include <gp_XYZ.hxx>
+#include <gp_Pnt.hxx>
 
 #include <TopoDS.hxx>
 #include <TopoDS_Edge.hxx>
 #include <TopoDS_Compound.hxx>
 
 #include <TopTools_IndexedMapOfShape.hxx>
+#include <TopTools_ListIteratorOfListOfShape.hxx>
+#include <TopTools_DataMapIteratorOfDataMapOfShapeListOfShape.hxx>
+#include <TopTools_DataMapOfShapeListOfShape.hxx>
+#include <TopTools_ListOfShape.hxx>
+#include <TopTools_DataMapOfShapeShape.hxx>
 
 #include <BRep_Tool.hxx>
 #include <BRep_Builder.hxx>
 
 #include <Bnd_Box.hxx>
+#include <BRepBndLib.hxx>
 
 #include <IntTools_ShrunkRange.hxx>
 #include <IntTools_Range.hxx>
 #include <BooleanOperations_KindOfInterference.hxx>
 
 #include <NMTDS_ShapesDataStructure.hxx>
+#include <NMTDS_IndexedDataMapOfIntegerShape.hxx>
+#include <NMTDS_IndexedDataMapOfShapeBox.hxx>
+#include <NMTDS_BoxBndTree.hxx>
 
 #include <NMTTools_IndexedDataMapOfIndexedMapOfInteger.hxx>
 #include <NMTTools_ListOfCommonBlock.hxx>
 #include <NMTTools_CommonBlock.hxx>
 #include <NMTTools_ListIteratorOfListOfCommonBlock.hxx>
 
-//
+
+static
+  void TreatNewVertices(const BooleanOperations_IndexedDataMapOfShapeInteger& aMapVI,
+                       TopTools_DataMapOfShapeListOfShape& myImages,
+                       TopTools_DataMapOfShapeShape& myOrigins);
+
+static
+  void MakeNewVertex(const TopTools_ListOfShape& aLV, 
+                    TopoDS_Vertex& aNewVertex);
+
+
+
 static 
   void VertexParameters(const IntTools_CommonPrt& aCPart,
                        Standard_Real& aT1, 
@@ -90,6 +126,9 @@ static
   Standard_Boolean IsOnPave(const Standard_Real& aT1,
                            const IntTools_Range& aRange,
                            const Standard_Real& aTolerance);
+static
+  void EECommonBlocks(const BOPTools_IDMapOfPaveBlockIMapOfPaveBlock& aMapCB);
+
 static
   void ProcessBlock(const BOPTools_PaveBlock& aPB,
                    const BOPTools_IDMapOfPaveBlockIMapOfPaveBlock& aMapCB,
@@ -98,7 +137,6 @@ static
 static
   void FindChains(const BOPTools_IDMapOfPaveBlockIMapOfPaveBlock& aMapCB,
                  NMTTools_ListOfCommonBlock& aLCB);
-
 //=======================================================================
 // function: PerformEE
 // purpose: 
@@ -110,6 +148,7 @@ static
   Standard_Boolean bJustAdd;
   Standard_Integer n1, n2, anIndexIn, nE1, nE2, aNbVEs, aBlockLength;
   Standard_Integer aTmp, aWhat, aWith, i, aNbCPrts, aDiscretize=30;
+  Standard_Integer aNbLPB1, aNbLPB2;
   Standard_Real aTolE1, aTolE2, aDeflection=0.01;
   BOPTools_ListIteratorOfListOfPaveBlock anIt1, anIt2;
   TopoDS_Edge aEWhat, aEWith; 
@@ -145,8 +184,9 @@ static
       continue;
     }
     //
-    const TopoDS_Edge aE1=TopoDS::Edge(myDS->Shape(nE1));
-    const TopoDS_Edge aE2=TopoDS::Edge(myDS->Shape(nE2));
+    const TopoDS_Edge aE1=TopoDS::Edge(myDS->Shape(nE1));//mpv
+    const TopoDS_Edge aE2=TopoDS::Edge(myDS->Shape(nE2));//mpv
+    
     //
     if (BRep_Tool::Degenerated(aE1) || BRep_Tool::Degenerated(aE2)){
       continue;
@@ -156,6 +196,17 @@ static
     aTolE2=BRep_Tool::Tolerance(aE2);
     //
     BOPTools_ListOfPaveBlock& aLPB1=mySplitShapesPool(myDS->RefEdge(nE1));
+    BOPTools_ListOfPaveBlock& aLPB2=mySplitShapesPool(myDS->RefEdge(nE2));
+    //
+    // Modified  Thu Sep 14 14:35:18 2006 
+    // Contribution of Samtech www.samcef.com BEGIN
+    aNbLPB1=aLPB1.Extent();
+    aNbLPB2=aLPB2.Extent();
+    
+    //if (aE1.IsSame(aE2) && aNbLPB1==1 && aNbLPB2==1) { 
+    //  continue;
+    //}
+    // Contribution of Samtech www.samcef.com END
     //
     for (anIt1.Initialize(aLPB1); anIt1.More(); anIt1.Next()) {
       BOPTools_PaveBlock& aPB1=anIt1.Value();
@@ -164,8 +215,6 @@ static
       const IntTools_Range& aSR1=aShrunkRange1.ShrunkRange();
       const Bnd_Box&        aBB1=aShrunkRange1.BndBox();
       //
-      BOPTools_ListOfPaveBlock& aLPB2=mySplitShapesPool(myDS->RefEdge(nE2));
-      //
       for (anIt2.Initialize(aLPB2); anIt2.More(); anIt2.Next()) {
        BOPTools_PaveBlock& aPB2=anIt2.Value();
        const IntTools_ShrunkRange& aShrunkRange2=aPB2.ShrunkRange();
@@ -304,7 +353,10 @@ static
   //
   EENewVertices (aMapVI);
   EECommonBlocks(aMapCB);
-  //
+  // Modified to invoke new nethod Thu Sep 14 14:35:18 2006 
+  // Contribution of Samtech www.samcef.com BEGIN
+  PerformVF1();
+  // Contribution of Samtech www.samcef.com BEGIN
   myIsDone=Standard_True;
 }
 //=======================================================================
@@ -324,165 +376,252 @@ static
 //=======================================================================
   void NMTTools_PaveFiller::EENewVertices (const BooleanOperations_IndexedDataMapOfShapeInteger& aMapVI) 
 {
-  Standard_Integer aNb, i, j, aNewShape, aNbEdges, aNbIEE, aNbVV, aNbSimple;
-  Standard_Integer aWhat, aWith, i1, i2, nE1, nE2, nE, nV, aFlag;
+  Standard_Integer aNb, aNbVSD, nVnew, nIEE, nE[2], j, iFlag;
   Standard_Real aT;
-  TopoDS_Compound aCompound;
-  BRep_Builder aBB;
-  NMTTools_IndexedDataMapOfIndexedMapOfInteger aMNVE, aMNVIEE;
-  BooleanOperations_AncestorsSeqAndSuccessorsSeq anASSeq;      
+  TopoDS_Edge aE; 
+  TopTools_DataMapOfShapeListOfShape myImages;
+  TopTools_DataMapOfShapeShape myOrigins;
+  TopTools_DataMapIteratorOfDataMapOfShapeListOfShape aItIm;
+  TopTools_ListIteratorOfListOfShape aIt;
+  BooleanOperations_AncestorsSeqAndSuccessorsSeq anASSeq;
+  TColStd_MapOfInteger aMFence;
   BOPTools_Pave aPave;
-  TopoDS_Vertex aNewVertex;
-  TopTools_IndexedMapOfShape aMNVComplex, aMNVSimple;
   //
   BOPTools_CArray1OfEEInterference& aEEs=myIntrPool->EEInterferences();
   //
   aNb=aMapVI.Extent();
-  //
   if (!aNb) { // no new vertices, no new problems 
     return;
   }
   //
   // 0. 
   if (aNb==1) {
-    aNewVertex=TopoDS::Vertex(aMapVI.FindKey(1));
-    EENewVertices(aNewVertex, aMapVI);
+    TopoDS_Vertex aV1=TopoDS::Vertex(aMapVI.FindKey(1));
+    EENewVertices(aV1, aMapVI);
     return;
   }
   //
-  // 1. Make compound from new vertices
-  aBB.MakeCompound(aCompound);
-  for (i=1; i<=aNb; ++i) {
-    const TopoDS_Shape& aV=aMapVI.FindKey(i);
-    aBB.Add(aCompound, aV);
-  }
-  //
-  // 2. VV intersection between these vertices 
-  //       using the auxiliary Filler
-  NMTDS_ShapesDataStructure tDS;
+  // 1.
+  TreatNewVertices(aMapVI, myImages, myOrigins);
   //
-  tDS.SetCompositeShape(aCompound);
-  tDS.Init();
-  //
-  BOPTools_InterferencePool tInterfPool(tDS);
-  NMTTools_PaveFiller tPaveFiller(tInterfPool);
+  aItIm.Initialize(myImages);
+  for (; aItIm.More(); aItIm.Next()) {
+    const TopoDS_Vertex& aVnew=TopoDS::Vertex(aItIm.Key());
+    const TopTools_ListOfShape& aLVSD=aItIm.Value();
+    //
+    aNbVSD=aLVSD.Extent();
+    if (aNbVSD==1) {// simple case aVnew=aVold
+      EENewVertices(aVnew, aMapVI);
+      continue;
+    }
+    //
+    // aNbVSD>1
+    myDS->InsertShapeAndAncestorsSuccessors(aVnew, anASSeq);
+    nVnew=myDS->NumberOfInsertedShapes();
+    myDS->SetState(nVnew, BooleanOperations_ON);
+    //
+    aMFence.Clear();
+    aIt.Initialize(aLVSD);
+    for (; aIt.More(); aIt.Next()) {
+      const TopoDS_Vertex& aVold=TopoDS::Vertex(aIt.Value());
+      nIEE=aMapVI.FindFromKey(aVold);
+      BOPTools_EEInterference& aEE=aEEs(nIEE);
+      aEE.Indices(nE[0], nE[1]);
+      aEE.SetNewShape(nVnew);
+      //
+      for (j=0; j<2; ++j) {
+       if (aMFence.Add(nE[j])) {
+         aE=TopoDS::Edge(myDS->Shape(nE[j]));
+         iFlag=myContext.ComputeVE (aVnew, aE, aT);
+         if (!iFlag) {
+           aPave.SetInterference(-1);
+           aPave.SetType (BooleanOperations_EdgeEdge);
+           aPave.SetIndex(nVnew);
+           aPave.SetParam(aT);
+           //
+           BOPTools_PaveSet& aPaveSet=myPavePoolNew(myDS->RefEdge(nE[j]));
+           aPaveSet.Append(aPave);
+         }
+       }// if (aMFence.Add(nE[j])) {
+      }// for (j=0; j<2; ++j) {
+    }//for (; aIt.More(); aIt.Next()) {
+  }// for (; aItIm.More(); aItIm.Next())
+}
+//=======================================================================
+//function : TreatNewVertices
+//purpose  : 
+//=======================================================================
+void TreatNewVertices(const BooleanOperations_IndexedDataMapOfShapeInteger& aMapVI,
+                  TopTools_DataMapOfShapeListOfShape& myImages,
+                  TopTools_DataMapOfShapeShape& myOrigins)
+{
+  Standard_Integer j, i, aNbV, aIndex, aNbVSD;
+  Standard_Real aTol;
+  TColStd_ListIteratorOfListOfInteger aIt;
+  TopoDS_Shape aSTmp, aVF;
+  TopoDS_Vertex aVnew;
+  TopTools_IndexedMapOfShape aMV, aMVProcessed;
+  TopTools_ListIteratorOfListOfShape aItS;
+  TopTools_DataMapIteratorOfDataMapOfShapeListOfShape aItIm;
+  TopTools_DataMapOfShapeListOfShape aMVV;
+  NMTDS_IndexedDataMapOfIntegerShape aMIS;
+  NMTDS_IndexedDataMapOfShapeBox aMSB;
   //
-  tPaveFiller.Init();
   //
-  tPaveFiller.PerformVV();
-  tPaveFiller.PerformNewVertices();
+  NMTDS_BoxBndTreeSelector aSelector;
+  NMTDS_BoxBndTree aBBTree;
+  NCollection_UBTreeFiller <Standard_Integer, Bnd_Box> aTreeFiller(aBBTree);
   //
-  const BOPTools_CArray1OfVVInterference& aVVInterfs=tInterfPool.VVInterfs();
   //
-  // 3. Separate Comlex and Simple new vertices
-  aNbVV=aVVInterfs.Extent();
-  for (i=1; i<=aNbVV; ++i) {
-    const BOPTools_VVInterference& aVV=aVVInterfs(i);
-    aVV.Indices(aWhat, aWith);
-    const TopoDS_Shape& aV1=tDS.Shape(aWhat);
-    const TopoDS_Shape& aV2=tDS.Shape(aWith);
-    aMNVComplex.Add(aV1);
-    aMNVComplex.Add(aV2);
-  }
+  myImages.Clear();
+  myOrigins.Clear();
   //
-  for (i=1; i<=aNb; ++i) {
+  aNbV=aMapVI.Extent();
+  for (i=1; i<=aNbV; ++i) {
     const TopoDS_Shape& aV=aMapVI.FindKey(i);
-    if (!aMNVComplex.Contains(aV)) {
-      aMNVSimple.Add(aV);
-    }
+    aMV.Add(aV);
   }
   //
-  // 4. Treat Simple new Vertices
-  aNbSimple=aMNVSimple.Extent();
-  for (i=1; i<=aNbSimple; ++i) {
-    const TopoDS_Vertex& aV=TopoDS::Vertex(aMNVSimple(i));
-    EENewVertices(aV, aMapVI);
+  for (i=1; i<=aNbV; ++i) {
+    const TopoDS_Shape& aV=aMV(i);
+    Bnd_Box aBox;
+    //
+    aTol=BRep_Tool::Tolerance(TopoDS::Vertex(aV));
+    aBox.SetGap(aTol); 
+    BRepBndLib::Add(aV, aBox);
+    //
+    aTreeFiller.Add(i, aBox);
+    //
+    aMIS.Add(i, aV);
+    aMSB.Add(aV, aBox); 
   }
   //
-  // 3. Fill Maps : NewVertex-edges (aMNVE) 
-  //                NewVertex-interferences (aMNVIEE)
-  for (i=1; i<=aNbVV; ++i) {
-    const BOPTools_VVInterference& aVV=aVVInterfs(i);
-    aNewShape=aVV.NewShape();
-    if (!aNewShape) {
+  aTreeFiller.Fill();
+  //
+  for (i=1; i<=aNbV; ++i) {
+    const TopoDS_Shape& aV=aMV(i);
+    //
+    if (aMVProcessed.Contains(aV)) {
       continue;
     }
     //
-    if (!aMNVE.Contains(aNewShape)) {
-      TColStd_IndexedMapOfInteger aMx;
-      aMNVE.Add(aNewShape, aMx);
-    }
-    if (!aMNVIEE.Contains(aNewShape)) {
-      TColStd_IndexedMapOfInteger aMx;
-      aMNVIEE.Add(aNewShape, aMx);
+    const Bnd_Box& aBoxV=aMSB.FindFromKey(aV);
+    aSelector.Clear();
+    aSelector.SetBox(aBoxV);
+    //
+    aNbVSD=aBBTree.Select(aSelector);
+    if (!aNbVSD) {
+      continue;  // it must not be 
     }
     //
-    TColStd_IndexedMapOfInteger& aME=aMNVE.ChangeFromKey(aNewShape);
-    TColStd_IndexedMapOfInteger& aMIEE=aMNVIEE.ChangeFromKey(aNewShape);
+    // Images
     //
-    aVV.Indices(aWhat, aWith);
-    //aWhat
-    const TopoDS_Shape& aV1=tDS.Shape(aWhat);
-    i1=aMapVI.FindFromKey(aV1);
-    const BOPTools_EEInterference& aEE1=aEEs(i1);
-    aEE1.Indices(nE1, nE2);
-    aME.Add(nE1);
-    aME.Add(nE2);
-    aMIEE.Add(i1);
-    //aWith
-    const TopoDS_Shape& aV2=tDS.Shape(aWith);
-    i2=aMapVI.FindFromKey(aV2);
-    const BOPTools_EEInterference& aEE2=aEEs(i2);
-    aEE2.Indices(nE1, nE2);
-    aME.Add(nE1);
-    aME.Add(nE2);
-    aMIEE.Add(i2);
+    TopTools_ListOfShape aLVSD;
+    //
+    const TColStd_ListOfInteger& aLI=aSelector.Indices();
+    aIt.Initialize(aLI);
+    for (j=0; aIt.More(); aIt.Next(), ++j) {
+      aIndex=aIt.Value();
+      const TopoDS_Shape& aVx=aMIS.FindFromKey(aIndex);
+      if(!j) {
+       aVF=aVx;
+      }
+      aLVSD.Append(aVx);
+      aMVProcessed.Add(aVx);
+    }
     //
-    //printf(" VV: (%d, %d) -> %d\n", aWhat, aWith, aNewShape);
+    myImages.Bind(aVF, aLVSD);
   }
   //
-  // 4. Process new vertices
-  aNb=aMNVE.Extent();
-  for (i=1; i<=aNb; ++i) { // xx
-    //
-    //  new Vertex
-    nV=aMNVE.FindKey(i);
-    aNewVertex=TopoDS::Vertex(tDS.Shape(nV));
-    //
-    // Insert New Vertex in DS;
-    myDS->InsertShapeAndAncestorsSuccessors(aNewVertex, anASSeq);
-    aNewShape=myDS->NumberOfInsertedShapes();
-    myDS->SetState (aNewShape, BooleanOperations_ON);
-    //
-    // Update index of NewShape in EE interferences
-    const TColStd_IndexedMapOfInteger& aMIEE=aMNVIEE.FindFromKey(nV);//(i);
-    aNbIEE=aMIEE.Extent();
-    for (j=1; j<=aNbIEE; ++j) {
-      i1=aMIEE(j);
-      BOPTools_EEInterference& aEE1=aEEs(i1);
-      aEE1.SetNewShape(aNewShape);
+  // Make new vertices
+  aMV.Clear();
+  aItIm.Initialize(myImages);
+  for (; aItIm.More(); aItIm.Next()) {
+    const TopoDS_Shape& aV=aItIm.Key();
+    const TopTools_ListOfShape& aLVSD=aItIm.Value();
+    aNbVSD=aLVSD.Extent();
+    if (aNbVSD>1) {
+      aMV.Add(aV);
+      MakeNewVertex(aLVSD, aVnew);
+      aMVV.Bind(aVnew, aLVSD);
     }
-    // 
-    // Update Paves on edges
-    const TColStd_IndexedMapOfInteger& aME=aMNVE(i);
-    aNbEdges=aME.Extent();
-    for (j=1; j<=aNbEdges; ++j) {
-      nE=aME(j);
-      const TopoDS_Edge aE=TopoDS::Edge(myDS->Shape(nE));
-      //
-      aFlag=myContext.ComputeVE (aNewVertex, aE, aT);
-      //
-      if (!aFlag) {
-       aPave.SetInterference(-1);
-       aPave.SetType (BooleanOperations_EdgeEdge);
-       aPave.SetIndex(aNewShape);
-       aPave.SetParam(aT);
-       //
-       BOPTools_PaveSet& aPaveSet=myPavePoolNew(myDS->RefEdge(nE));
-       aPaveSet.Append(aPave);
+  }
+  //
+  // UnBind old vertices
+  aNbV=aMV.Extent();
+  for (i=1; i<=aNbV; ++i) {
+    const TopoDS_Shape& aV=aMV(i);
+    myImages.UnBind(aV);
+  }
+  //
+  // Bind new vertices
+  aItIm.Initialize(aMVV);
+  for (; aItIm.More(); aItIm.Next()) {
+    const TopoDS_Shape& aV=aItIm.Key();
+    const TopTools_ListOfShape& aLVSD=aItIm.Value();
+    myImages.Bind(aV, aLVSD);
+  }
+  //
+  // Origins
+  aItIm.Initialize(myImages);
+  for (; aItIm.More(); aItIm.Next()) {
+    const TopoDS_Shape& aV=aItIm.Key();
+    const TopTools_ListOfShape& aLVSD=aItIm.Value();
+    //
+    aItS.Initialize(aLVSD);
+    for (; aItS.More(); aItS.Next()) {
+      const TopoDS_Shape& aVSD=aItS.Value();
+      if (!myOrigins.IsBound(aVSD)) {
+       myOrigins.Bind(aVSD, aV);
       }
     }
-  }// for (i=1; i<=aNb; ++i) {// xx
+  }
+}
+//=======================================================================
+//function : MakeNewVertex
+//purpose  : 
+//=======================================================================
+void MakeNewVertex(const TopTools_ListOfShape& aLV, 
+                  TopoDS_Vertex& aNewVertex)
+{
+  Standard_Integer aNbV;
+  Standard_Real aTolV, aD, aDmax;
+  gp_XYZ aGC;
+  gp_Pnt aP3D, aPGC;
+  TopoDS_Vertex aVx;
+  BRep_Builder aBB;
+  TopTools_ListIteratorOfListOfShape aIt;
+  //
+  aNbV=aLV.Extent();
+  if (!aNbV) {
+    return;
+  }
+  //
+  // center of gravity
+  aGC.SetCoord(0.,0.,0.);
+  aIt.Initialize(aLV);
+  for (; aIt.More(); aIt.Next()) {
+    aVx=TopoDS::Vertex(aIt.Value());
+    aP3D=BRep_Tool::Pnt(aVx);
+    aGC+=aP3D.XYZ();
+  }
+  aGC/=(Standard_Real)aNbV;
+  aPGC.SetXYZ(aGC);
+  //
+  // tolerance value
+  aDmax=-1.;
+  aIt.Initialize(aLV);
+  for (; aIt.More(); aIt.Next()) {
+    aVx=TopoDS::Vertex(aIt.Value());
+    aP3D=BRep_Tool::Pnt(aVx);
+    aTolV=BRep_Tool::Tolerance(aVx);
+    aD=aPGC.Distance(aP3D)+aTolV;
+    if (aD>aDmax) {
+      aDmax=aD;
+    }
+  }
+  //
+  aBB.MakeVertex (aNewVertex, aPGC, aDmax);
 }
 //=======================================================================
 // function:EENewVertices
@@ -775,10 +914,10 @@ static
   Standard_Real d1121, d1122, d1222, d1221, aTolSum, aCoeff=1.05;
   gp_Pnt aP11, aP12, aP21, aP22;
 
-  const TopoDS_Vertex aV11=TopoDS::Vertex(myDS->Shape(aPB1.Pave1().Index()));
-  const TopoDS_Vertex aV12=TopoDS::Vertex(myDS->Shape(aPB1.Pave2().Index()));
-  const TopoDS_Vertex aV21=TopoDS::Vertex(myDS->Shape(aPB2.Pave1().Index()));
-  const TopoDS_Vertex aV22=TopoDS::Vertex(myDS->Shape(aPB2.Pave2().Index()));
+  const TopoDS_Vertex aV11=TopoDS::Vertex(myDS->Shape(aPB1.Pave1().Index()));//mpv
+  const TopoDS_Vertex aV12=TopoDS::Vertex(myDS->Shape(aPB1.Pave2().Index()));//mpv
+  const TopoDS_Vertex aV21=TopoDS::Vertex(myDS->Shape(aPB2.Pave1().Index()));//mpv
+  const TopoDS_Vertex aV22=TopoDS::Vertex(myDS->Shape(aPB2.Pave2().Index()));//mpv
 
   aTolV11=BRep_Tool::Tolerance(aV11);
   aTolV12=BRep_Tool::Tolerance(aV12);
@@ -854,6 +993,65 @@ static
       }
     }
   }
+  // Modified to provide the order of edges 
+  // in common block where the edge with max 
+  // tolerance value will be the first
+  //  Thu Sep 14 14:35:18 2006 
+  // Contribution of Samtech www.samcef.com BEGIN
+  Standard_Integer i, iMax, aNb, aNbCB, nSp;
+  Standard_Real aTolSp, aTolMax;
+  BOPTools_ListOfPaveBlock *pLPBE;
+  //
+  aNb=myDS->NumberOfShapesOfTheObject();
+  for (nE=1; nE<=aNb; ++nE) {
+    const TopoDS_Shape& aE=myDS->Shape(nE);
+    if (aE.ShapeType()!=TopAbs_EDGE) {
+      continue;
+    }
+    //
+    NMTTools_ListOfCommonBlock& aLCBE=myCommonBlockPool(myDS->RefEdge(nE));
+    aNbCB=aLCBE.Extent();
+    if (!aNbCB) {
+      continue;
+    }
+    //
+    anIt.Initialize(aLCBE);
+    for (; anIt.More(); anIt.Next()) {
+      NMTTools_CommonBlock& aCBE=anIt.Value();
+      const BOPTools_ListOfPaveBlock& aLPBE=aCBE.PaveBlocks();
+      //
+      aTolMax=-1.;
+      anItLPE.Initialize(aLPBE);
+      for (i=0; anItLPE.More(); anItLPE.Next(), ++i) {
+       const BOPTools_PaveBlock& aPB=anItLPE.Value();
+       nSp=aPB.OriginalEdge();
+       const TopoDS_Edge& aSp=TopoDS::Edge(myDS->Shape(nSp));
+       aTolSp=BRep_Tool::Tolerance(aSp);
+       if (aTolSp>aTolMax) {
+         iMax=i;
+         aTolSp=aTolMax;
+       }
+      }
+      //
+      BOPTools_ListOfPaveBlock aLPBx;
+      //
+      anItLPE.Initialize(aLPBE);
+      for (i=0; anItLPE.More(); anItLPE.Next(), ++i) {
+       const BOPTools_PaveBlock& aPB=anItLPE.Value();
+       if (i==iMax) {
+         aLPBx.Prepend(aPB);
+       }
+       else {
+         aLPBx.Append(aPB);
+       }
+      }
+      //
+      pLPBE=(BOPTools_ListOfPaveBlock *)&aLPBE;
+      pLPBE->Clear();
+      pLPBE->Append(aLPBx);
+    }//for (; anIt.More(); anIt.Next()) {
+  }//for (nE=1; nE<=aNb; ++nE) {
+  // Contribution of Samtech www.samcef.com END
 }
 //=======================================================================
 // function: RemoveCommonBlocks
@@ -1093,3 +1291,76 @@ void ProcessBlock(const BOPTools_PaveBlock& aPB,
     ProcessBlock(aPBx, aMapCB, aProcessedBlocks, aChain);
   }
 }
+// Modified  to provide VS interference between
+// vertex as result of EE and a Face of argument
+// Thu Sep 14 14:35:18 2006 
+// Contribution of Samtech www.samcef.com BEGIN
+//=======================================================================
+// function: PerformVF1  
+// purpose: 
+//=======================================================================
+  void NMTTools_PaveFiller::PerformVF1()
+{
+  Standard_Integer i, aNbEE, n1, n2, nNewShape, aNbS, nF;
+  Standard_Integer anIndexIn, aFlag;
+  Standard_Real aU, aV;
+  TColStd_ListOfInteger aLFI;
+  TColStd_ListIteratorOfListOfInteger aItLFI;
+  //
+  BOPTools_CArray1OfVSInterference& aVSs=myIntrPool->VSInterferences();
+  BOPTools_CArray1OfEEInterference& aEEs=myIntrPool->EEInterferences();
+  //
+  aNbS=myDS->NumberOfShapesOfTheObject();
+  for (i=1; i<=aNbS; ++i) {
+    const TopoDS_Shape& aF=myDS->Shape(i);
+    if (aF.ShapeType()==TopAbs_FACE) {
+      aLFI.Append(i);
+    }
+  }
+  if (!aLFI.Extent()) {
+    return;
+  }
+  //
+  aNbEE=aEEs.Extent();
+  for (i=1; i<=aNbEE; ++i) {
+    BOPTools_EEInterference& aEE=aEEs(i);
+    aEE.Indices(n1, n2);
+    nNewShape=aEE.NewShape();
+    if (!nNewShape) {
+      continue;
+    }
+    //
+    const TopoDS_Shape& aSnew=myDS->Shape(nNewShape);
+    if (aSnew.ShapeType()!=TopAbs_VERTEX) {
+      continue;
+    } 
+    //
+    const TopoDS_Vertex& aVnew=TopoDS::Vertex(aSnew);
+    //
+    Bnd_Box aBV;
+    //
+    BRepBndLib::Add(aVnew, aBV);
+    //
+    aItLFI.Initialize(aLFI);
+    for (; aItLFI.More(); aItLFI.Next()) {
+      nF=aItLFI.Value();
+      //
+      const TopoDS_Face& aF=TopoDS::Face(myDS->Shape(nF));
+      const Bnd_Box& aBF=myDS->GetBoundingBox(nF);
+      if (aBF.IsOut(aBV)) {
+       continue;
+      }
+      //
+      anIndexIn=0;
+      aFlag=myContext.ComputeVS (aVnew, aF, aU, aV);
+      if (!aFlag) {
+       BOPTools_VSInterference anInterf (nNewShape, nF, aU, aV);
+       //
+       anIndexIn=aVSs.Append(anInterf);
+       BOPTools_VSInterference& aVS=aVSs(anIndexIn);
+       aVS.SetNewShape(nNewShape);//->
+      }
+    }
+  }
+} 
+// Contribution of Samtech www.samcef.com END
index a29f760ab44a3b676003817c2eefed4daa5bdd4e..0c6dbab260a9233240bde2cb2dfdcff5980a92a0 100644 (file)
@@ -78,6 +78,8 @@
 #include <NMTTools_IndexedDataMapOfIndexedMapOfInteger.hxx>
 #include <NMTTools_CommonBlockAPI.hxx>
 #include <NMTTools_ListOfCommonBlock.hxx>
+#include <TopTools_IndexedMapOfShape.hxx>
+#include <TopExp.hxx>
 
 static
   void VertexParameter(const IntTools_CommonPrt& aCPart,
@@ -86,7 +88,7 @@ static
   Standard_Boolean IsOnPave(const Standard_Real& aTR,
                            const IntTools_Range& aCPRange,
                            const Standard_Real& aTolerance);
-
+//
 //=======================================================================
 // function: PerformEF
 // purpose: 
@@ -102,7 +104,6 @@ static
   BooleanOperations_IndexedDataMapOfShapeInteger aMapVI;
   BOPTools_IDMapOfPaveBlockIMapOfInteger aMapCB;
   BOPTools_IMapOfPaveBlock aIMPBx;
-  
   //
   BOPTools_CArray1OfESInterference& aEFs=myIntrPool->ESInterferences();
   //
@@ -138,14 +139,32 @@ static
       continue;
     }
     // Edge
-    const TopoDS_Edge aE=TopoDS::Edge(myDS->GetShape(nE));
+    const TopoDS_Edge aE=TopoDS::Edge(myDS->GetShape(nE));//mpv
     if (BRep_Tool::Degenerated(aE)){
       continue;
     }
-    aTolE=BRep_Tool::Tolerance(aE);
     // Face
-    const TopoDS_Face aF=TopoDS::Face(myDS->GetShape(nF));
+    const TopoDS_Face aF=TopoDS::Face(myDS->GetShape(nF));//mpv
+    //
+    // Modified 
+    // to avoid intersection between face and edge from that face
+    // Thu Sep 14 14:35:18 2006 
+    // Contribution of Samtech www.samcef.com BEGIN
+    TopTools_IndexedMapOfShape aME;
+    //
+    TopExp::MapShapes(aF, TopAbs_EDGE, aME);
+    if (aME.Contains(aE)) {
+      continue;
+    }
+    // Contribution of Samtech www.samcef.com END
+    //
     aTolF=BRep_Tool::Tolerance(aF);
+    
+    // Modified  Thu Sep 14 14:35:18 2006 
+    // Contribution of Samtech www.samcef.com BEGIN
+    aTolE=BRep_Tool::Tolerance(aE);
+    // Contribution of Samtech www.samcef.com END
+    
     const Bnd_Box& aBBF=myDS->GetBoundingBox(nF); 
     //
     // Process each PaveBlock on edge nE
@@ -492,7 +511,7 @@ static
     aNbEdges=aME.Extent();
     for (j=1; j<=aNbEdges; ++j) {
       nE=aME(j);
-      const TopoDS_Edge aE=TopoDS::Edge(myDS->Shape(nE));
+      const TopoDS_Edge aE=TopoDS::Edge(myDS->Shape(nE));//mpv
       //
       aFlag=myContext.ComputeVE (aNewVertex, aE, aT);
       //
@@ -575,7 +594,7 @@ static
   aNbV=aMVF.Extent();
   for (i=1; i<=aNbV; ++i) {
     nVF=aMVF(i);
-    const TopoDS_Vertex aVF=TopoDS::Vertex(myDS->Shape(nVF));
+    const TopoDS_Vertex aVF=TopoDS::Vertex(myDS->Shape(nVF));//mpv
     iFlag=IntTools_Tools::ComputeVV(aNewVertex, aVF);
     if (!iFlag) {
       return nVF;
index 3ad988b627ddd42eb0614e5ee85aa4da8b50e0c2..61ea32e0bd16c3bfc9180b30fcf4928486e53326 100644 (file)
@@ -1,3 +1,6 @@
+//
+// IMPROVED by NIZNHY-PKV Thu Oct 12 16:03:33 2006
+//
 // Copyright (C) 2005  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
 // 
@@ -30,7 +33,6 @@
 #include <TColStd_MapOfInteger.hxx>
 
 #include <Geom2d_Curve.hxx>
-#include <Geom2d_TrimmedCurve.hxx>
 #include <Geom_TrimmedCurve.hxx>
 
 #include <GeomAdaptor_Curve.hxx>
@@ -45,7 +47,6 @@
 #include <BRep_Builder.hxx>
 #include <BRep_Tool.hxx>
 #include <BRepBndLib.hxx>
-#include <BRepLib.hxx>
 
 #include <TopTools_IndexedMapOfShape.hxx>
 
 #include <NMTDS_ShapesDataStructure.hxx>
 #include <NMTTools_IndexedDataMapOfShapePaveBlock.hxx>
 #include <NMTTools_CommonBlockAPI.hxx>
+#include <Geom2d_Curve.hxx>
 #include <NMTTools_Tools.hxx>
+#include <BRepLib.hxx>
+#include <Geom2d_TrimmedCurve.hxx>
+//
+#include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
+#include <TopTools_ListOfShape.hxx>
+#include <TopTools_ListIteratorOfListOfShape.hxx>
+#include <TopoDS_Vertex.hxx>
+#include <TopoDS.hxx>
+#include <TopoDS_Edge.hxx>
+#include <TColStd_ListOfInteger.hxx>
+////
+#include <NMTTools_DataMapOfIntegerListOfPaveBlock.hxx>
+#include <NMTTools_ListIteratorOfListOfCommonBlock.hxx>
+#include <TColStd_ListIteratorOfListOfInteger.hxx>
+#include <NMTTools_DataMapIteratorOfDataMapOfIntegerListOfPaveBlock.hxx>
+#include <BOPTools_ListIteratorOfListOfPaveBlock.hxx>
+#include <TColStd_MapOfInteger.hxx>
+#include <TColStd_MapIteratorOfMapOfInteger.hxx>
+#include <TColStd_DataMapOfIntegerListOfInteger.hxx>
+#include <TColStd_ListOfInteger.hxx>
+#include <TColStd_DataMapIteratorOfDataMapOfIntegerListOfInteger.hxx>
+#include <TColStd_ListIteratorOfListOfInteger.hxx>
+#include <NMTTools_MapOfPaveBlock.hxx>
 
 static 
   Standard_Boolean IsPairFound(const Standard_Integer nF1,
@@ -102,6 +127,13 @@ static
   Standard_Boolean IsFound(const TColStd_IndexedMapOfInteger& aMapWhat,
                           const TColStd_IndexedMapOfInteger& aMapWith);
 
+// Modified  Thu Sep 14 14:35:18 2006 
+// Contribution of Samtech www.samcef.com BEGIN
+static
+  void SharedEdges1(const TopoDS_Face& aF1,
+                   const TopoDS_Face& aF2,
+                   TopTools_ListOfShape& aLS);
+// Contribution of Samtech www.samcef.com END
 
 //=======================================================================
 // function: PerformFF
@@ -165,8 +197,8 @@ static
       continue;
     }
     //
-    const TopoDS_Face aF1=TopoDS::Face(myDS->Shape(nF1));
-    const TopoDS_Face aF2=TopoDS::Face(myDS->Shape(nF2));
+    const TopoDS_Face aF1=TopoDS::Face(myDS->Shape(nF1));//mpv
+    const TopoDS_Face aF2=TopoDS::Face(myDS->Shape(nF2));//mpv
     //
     // FF
     bToApproxC3d     = mySectionAttribute.Approximation();
@@ -235,7 +267,11 @@ static
 {
   myIsDone=Standard_False;
   //
-  Standard_Boolean bIsExistingPaveBlock, bIsValidIn2D;
+  // Modified  Thu Sep 14 14:35:18 2006 
+  // Contribution of Samtech www.samcef.com BEGIN
+  Standard_Boolean bIsExistingPaveBlock, bIsValidIn2D;//, bIsCoincided;
+  // Contribution of Samtech www.samcef.com END
+  //
   Standard_Integer i, aNbFFs, nF1, nF2, aBid=0;
   Standard_Integer nV1, nV2, j, aNbCurves;
   Standard_Real aTolR3D, aTol2D, aT1, aT2, aTolPPC=Precision::PConfusion();
@@ -245,61 +281,139 @@ static
   //
   BOPTools_CArray1OfSSInterference& aFFs=myIntrPool->SSInterferences();
   //
+  aNbFFs=aFFs.Extent();
+  //
+  NMTTools_DataMapOfIntegerListOfPaveBlock aMFInOn;
+  NMTTools_DataMapIteratorOfDataMapOfIntegerListOfPaveBlock aItMF;
+  //
+  {
+    Standard_Integer aNbS, aNbF, nF, aNbOn, nSp;
+    TopAbs_ShapeEnum aType;
+    BOPTools_ListIteratorOfListOfPaveBlock anItPB;
+    NMTTools_ListIteratorOfListOfCommonBlock aItCB;
+    TColStd_ListIteratorOfListOfInteger aItF;
+    //
+    aNbS=myDS->NumberOfShapesOfTheObject();
+    for (i=1; i<=aNbS; ++i) {
+      const TopoDS_Shape& aS=myDS->Shape(i);
+      aType=aS.ShapeType();
+      //
+      if (aType==TopAbs_EDGE) {
+       const NMTTools_ListOfCommonBlock& aLCB=myCommonBlockPool(myDS->RefEdge(i));
+       aItCB.Initialize(aLCB);
+       for (; aItCB.More(); aItCB.Next()) {
+         const NMTTools_CommonBlock& aCB=aItCB.Value();
+         const BOPTools_PaveBlock &aPB1=aCB.PaveBlock1();
+         //
+         const TColStd_ListOfInteger& aLF=aCB.Faces();
+         aNbF=aLF.Extent();
+         if (aNbF) { 
+           aItF.Initialize(aLF);
+           for (; aItF.More(); aItF.Next()) {
+             nF=aItF.Value();
+             if (aMFInOn.IsBound(nF)) {
+               BOPTools_ListOfPaveBlock& aLPB=aMFInOn.ChangeFind(nF);
+               aLPB.Append(aPB1);
+             }
+             else {
+               BOPTools_ListOfPaveBlock aLPB;
+               aLPB.Append(aPB1);
+               aMFInOn.Bind(nF, aLPB);
+             }
+           }
+         }// if (aNbF) { 
+       } // for (; aItCB.More(); aItCB.Next()) {
+      }//if (aS.ShapeType()==TopAbs_EDGE) {
+      //
+      else if (aType==TopAbs_FACE) {
+       BOPTools_ListOfPaveBlock aLPBOn;
+       //
+       nF=i;
+       RealSplitsFace(nF, aLPBOn);
+       //
+       aNbOn=aLPBOn.Extent();
+       if (aNbOn) {
+         if (aMFInOn.IsBound(nF)) {
+           BOPTools_ListOfPaveBlock& aLPB=aMFInOn.ChangeFind(nF);
+           aLPB.Append(aLPBOn);
+         }
+         else {
+           aMFInOn.Bind(nF, aLPBOn);
+         }
+       }
+      }
+    } // for (i=1; i<=aNbS; ++i) { 
+    // 
+    // Refine ListOfPaveBlocks
+    aItMF.Initialize(aMFInOn);
+    for(; aItMF.More(); aItMF.Next()) {
+      TColStd_MapOfInteger aMTmp;
+      BOPTools_ListOfPaveBlock aLPBX;
+      //
+      nF=aItMF.Key();
+      BOPTools_ListOfPaveBlock& aLPB=aMFInOn.ChangeFind(nF);
+      anItPB.Initialize(aLPB);
+      for (; anItPB.More(); anItPB.Next()) {
+       const BOPTools_PaveBlock& aPB=anItPB.Value();
+       nSp=aPB.Edge();
+       if (aMTmp.Add(nSp)) {
+         aLPBX.Append(aPB);
+       }
+      }
+      aLPB.Clear();
+      aLPB.Append(aLPBX);
+    }
+  }
+  //
   // 1. Produce Section Edges from intersection curves
   //    between each pair of faces
   //
   aNbFFs=aFFs.Extent();
+  //
   for (i=1; i<=aNbFFs; ++i) {
+    
     BOPTools_SSInterference& aFFi=aFFs(i);
     // 
     // Faces
     aFFi.Indices(nF1, nF2);
-    const TopoDS_Face aF1=TopoDS::Face(myDS->Shape(nF1));
-    const TopoDS_Face aF2=TopoDS::Face(myDS->Shape(nF2));
+    const TopoDS_Face aF1=TopoDS::Face(myDS->Shape(nF1));//mpv
+    const TopoDS_Face aF2=TopoDS::Face(myDS->Shape(nF2));//mpv
     //
-    BOPTools_ListOfPaveBlock aLPB, aLPBC;
+    BOPTools_ListOfPaveBlock aLPB;
     //
     {
-      Standard_Integer nFj1, nFj2, nE;
-      TColStd_IndexedMapOfInteger aMFence;
-      BOPTools_ListOfPaveBlock aLPBCx;
+      BOPTools_ListIteratorOfListOfPaveBlock anItPB;
+      NMTTools_MapOfPaveBlock aMPB;
       //
-      for (j=1; j<=aNbFFs; ++j) {
-       BOPTools_SSInterference& aFFj=aFFs(j);
-       aFFj.Indices(nFj1, nFj2);
-       //
-       if ((nF1==nFj1 && nFj2!=nF2) ||
-           (nF1==nFj2 && nFj1!=nF2) ||
-           (nF2==nFj1 && nFj2!=nF1) ||
-           (nF2==nFj2 && nFj1!=nF1)) {
-         RealSplitsInFace (aBid, nFj1, nFj2, aLPBCx);
-         RealSplitsInFace (aBid, nFj2, nFj1, aLPBCx);
-         RealSplitsOnFace (aBid, nFj1, nFj2, aLPBCx);
+      if (aMFInOn.IsBound(nF1)) {
+       const BOPTools_ListOfPaveBlock& aLPBF1=aMFInOn.Find(nF1);
+       anItPB.Initialize(aLPBF1);
+       for (; anItPB.More(); anItPB.Next()) {
+         const BOPTools_PaveBlock& aPB=anItPB.Value();
+         if (aMPB.Add(aPB)) {
+           aLPB.Append(aPB);
+         }
        }
       }
-      //
-      anIt.Initialize(aLPBCx);
-      for (; anIt.More(); anIt.Next()) {
-       const BOPTools_PaveBlock& aPBCx=anIt.Value();
-       //
-       nE=aPBCx.Edge();
-       if (!aMFence.Contains(nE)) {
-         aMFence.Add(nE);
-         aLPBC.Append(aPBCx);
+      if (aMFInOn.IsBound(nF2)) {
+       const BOPTools_ListOfPaveBlock& aLPBF2=aMFInOn.Find(nF2);
+       anItPB.Initialize(aLPBF2);
+       for (; anItPB.More(); anItPB.Next()) {
+         const BOPTools_PaveBlock& aPB=anItPB.Value();
+         if (aMPB.Contains(aPB)) {
+           aFFi.AppendBlock(aPB);
+         }
+         else {
+           aLPB.Append(aPB);
+         }
        }
       }
     }
     //
-    //
-    RealSplitsInFace (aBid, nF1, nF2, aLPB);
-    RealSplitsInFace (aBid, nF2, nF1, aLPB);
-    RealSplitsOnFace (aBid, nF1, nF2, aLPB);
-    //
-    anIt.Initialize(aLPB);
-    for (; anIt.More(); anIt.Next()) {
-      const BOPTools_PaveBlock& aPB=anIt.Value();
-      aFFi.AppendBlock(aPB);
-    }
+    TopTools_ListOfShape aLSE;
+    TColStd_ListOfInteger aLNE;
+    SharedEdges(nF1, nF2, aLNE, aLSE);
+    aFFi.SetSharedEdges(aLNE);
     //
     BOPTools_SequenceOfCurves& aSCvs=aFFi.Curves();
     aNbCurves=aSCvs.Length();
@@ -307,13 +421,13 @@ static
       continue;
     }
     //
+    // Contribution of Samtech www.samcef.com END
     aTolR3D=aFFi.TolR3D();
     aTol2D=(aTolR3D < 1.e-3) ? 1.e-3 : aTolR3D;
     //
     BOPTools_PaveSet aPSF;
     //
-    PrepareSetForFace (nF1, nF2, aLPBC, aPSF);
-    //PrepareSetForFace (nF1, nF2, aPSF);
+    PrepareSetForFace (nF1, nF2, aLPB, aPSF);
     //
     // Put Paves On Curves
     for (j=1; j<=aNbCurves; ++j) {
@@ -354,17 +468,23 @@ static
        }
        //
        // 1
-       const BOPTools_ListOfPaveBlock& aLPBFF=aFFi.PaveBlocks();
-       bIsExistingPaveBlock=IsExistingPaveBlock(aPBNew, aLPBFF, aTolR3D);
-       //bIsExistingPaveBlock=IsExistingPaveBlock(aPBNew, aFFi);
+       bIsExistingPaveBlock=IsExistingPaveBlock(aPBNew, aLPB, aTolR3D);
        if (bIsExistingPaveBlock) {
          continue;
        }
-       // 2
-       bIsExistingPaveBlock=IsExistingPaveBlock(aPBNew, aLPBC, aTolR3D);
+       //
+       // Modified  
+       // to provide checking whether aPBNew already exists in list
+       // of section edges aLSE
+       // Thu Sep 14 14:35:18 2006 
+       // Contribution of Samtech www.samcef.com BEGIN
+       // 3
+       bIsExistingPaveBlock=IsExistingPaveBlock(aPBNew, aLSE, aTolR3D);
        if (bIsExistingPaveBlock) {
          continue;
        }
+       // Contribution of Samtech www.samcef.com END
+       //
        // Checking of validity in 2D
        //
        bIsValidIn2D=myContext.IsValidBlockForFaces(aT1, aT2, aIC, aF1, aF2, aTol2D);
@@ -377,8 +497,8 @@ static
        // Make Section Edge  
        TopoDS_Edge aES;
        //
-       const TopoDS_Vertex aV1=TopoDS::Vertex(myDS->Shape(nV1));
-       const TopoDS_Vertex aV2=TopoDS::Vertex(myDS->Shape(nV2));
+       const TopoDS_Vertex aV1=TopoDS::Vertex(myDS->Shape(nV1));//mpv
+       const TopoDS_Vertex aV2=TopoDS::Vertex(myDS->Shape(nV2));//mpv
        //
        BOPTools_Tools::MakeSectEdge (aIC, aV1, aT1, aV2, aT2, aES);
        //
@@ -396,6 +516,7 @@ static
        aMEPB.Add(aES, aPBNew);
        aMapEI.Add(aES, i);
       }
+      
     } // end of for (j=1; j<=aNbCurves; ++j)
   }// for (i=1; i<=aNbFFs; ++i)
   //=============================================================
@@ -489,13 +610,13 @@ static
     for (j=1; j<=aNbSE; ++j) {
       const BOPTools_PaveBlock& aPBSE=aMEPB(j);
       nV1=aPBSE.Pave1().Index();
-      const TopoDS_Shape aV1=myDS->Shape(nV1);
+      const TopoDS_Shape aV1=myDS->Shape(nV1);//mpv
       if (aV1.IsSame(aV)) {
        aMNewOld.Add(i, nV1);
        break;
       }
       nV2=aPBSE.Pave2().Index();
-      const TopoDS_Shape aV2=myDS->Shape(nV2);
+      const TopoDS_Shape aV2=myDS->Shape(nV2);//mpv
       if (aV2.IsSame(aV)) {
        aMNewOld.Add(i, nV2);
        break;
@@ -546,9 +667,9 @@ static
       BooleanOperations_AncestorsSeqAndSuccessorsSeq anASSeq;
       //
       nV1=aPBSE.Pave1().Index();
-      const TopoDS_Shape aV1=myDS->Shape(nV1);
+      const TopoDS_Shape aV1=myDS->Shape(nV1);//mpv
       nV2=aPBSE.Pave2().Index();
-      const TopoDS_Shape aV2=myDS->Shape(nV2);
+      const TopoDS_Shape aV2=myDS->Shape(nV2);//mpv
       //
       anASSeq.SetNewSuccessor(nV1);
       anASSeq.SetNewOrientation(aV1.Orientation());
@@ -567,11 +688,6 @@ static
     nF1=aPBSE.Face1();
     nF2=aPBSE.Face2();
     //
-    //modified by NIZNHY-PKV Thu Jan 26 10:17:04 2006f
-    //const TopoDS_Face& aF1=TopoDS::Face(myDS->Shape(nF1));
-    //const TopoDS_Face& aF2=TopoDS::Face(myDS->Shape(nF2));
-    //modified by NIZNHY-PKV Thu Jan 26 10:17:08 2006t
-    //
     const NMTTools_ListOfCommonBlock& aLCB=aCBP(tDS.RefEdge(i));
     NMTTools_CommonBlockAPI aCBAPI(aLCB);
     //
@@ -579,10 +695,8 @@ static
     for (; aIt.More(); aIt.Next()) {
       BOPTools_PaveBlock aPB=aIt.Value();
       //
-      ////modified by NIZNHY-PKV Thu Jan 26 10:16:36 2006f
       const TopoDS_Face aF1=TopoDS::Face(myDS->Shape(nF1));
       const TopoDS_Face aF2=TopoDS::Face(myDS->Shape(nF2));
-      ////modified by NIZNHY-PKV Thu Jan 26 10:16:39 2006t
       //
       if (aCBAPI.IsCommonBlock(aPB)) {
        // it can be Common Block
@@ -598,8 +712,8 @@ static
        const TopoDS_Edge& aEx=TopoDS::Edge(tDS.Shape(mE));
        aTolEx=BRep_Tool::Tolerance(aEx);
         //
-       // <- Block A was here
-       //
+        // The code till the if block end is restored from V2_2_2 revision
+        //
        aF1FWD=aF1;
        aF1FWD.Orientation(TopAbs_FORWARD);
        NMTTools_Tools::MakePCurve(aEx, aF1FWD, aC2D1, aTolEx);
@@ -617,13 +731,13 @@ static
       aT1=aPave1.Param();
       mV1=aPave1.Index();            // index in tDS
       nV1=aMNewOld.FindFromKey(mV1); // index in myDS
-      const TopoDS_Shape aV1=myDS->Shape(nV1);
+      const TopoDS_Shape aV1=myDS->Shape(nV1);//mpv
       //
       const BOPTools_Pave& aPave2=aPB.Pave2();
       aT2=aPave2.Param();
       mV2=aPave2.Index();
       nV2=aMNewOld.FindFromKey(mV2);
-      const TopoDS_Shape aV2=myDS->Shape(nV2);
+      const TopoDS_Shape aV2=myDS->Shape(nV2);//mpv
       //
       if (!aMNewOld.Contains(mE)) {
        // add new SE to the myDS
@@ -684,8 +798,8 @@ static
     BOPTools_SSInterference& aFF=aFFs(i);
     aFF.Indices(nF1, nF2);
     //
-    const TopoDS_Face aF1=TopoDS::Face(myDS->Shape(nF1));
-    const TopoDS_Face aF2=TopoDS::Face(myDS->Shape(nF2));
+    const TopoDS_Face aF1=TopoDS::Face(myDS->Shape(nF1));//mpv
+    const TopoDS_Face aF2=TopoDS::Face(myDS->Shape(nF2));//mpv
     //
     aF1FWD=aF1;
     aF1FWD.Orientation(TopAbs_FORWARD);
@@ -699,7 +813,7 @@ static
     for (; anIt.More(); anIt.Next()) {
       const BOPTools_PaveBlock& aPB=anIt.Value();
       nE=aPB.Edge();
-      const TopoDS_Edge aE=TopoDS::Edge(myDS->Shape(nE));
+      const TopoDS_Edge aE=TopoDS::Edge(myDS->Shape(nE));//mpv
       
       BOPTools_Tools2D::BuildPCurveForEdgeOnFace(aE, aF1FWD);
       BOPTools_Tools2D::BuildPCurveForEdgeOnFace(aE, aF2FWD);
@@ -738,6 +852,35 @@ static
   return bFlag;
 }
 //=======================================================================
+// function: IsExistingPaveBlock
+// purpose: 
+//=======================================================================
+  Standard_Boolean NMTTools_PaveFiller::IsExistingPaveBlock(const BOPTools_PaveBlock& aPBNew,
+                                                           const TopTools_ListOfShape& aLSE,
+                                                           const Standard_Real aTolR3D)
+{
+  Standard_Boolean bFlag;
+  Standard_Integer aNbSE, iC;
+  TopTools_ListIteratorOfListOfShape anIt;
+  //
+  bFlag=Standard_False;
+  //
+  aNbSE=aLSE.Extent();
+  if (!aNbSE) {
+    return bFlag;
+  }
+  //
+  anIt.Initialize(aLSE);
+  for (; anIt.More(); anIt.Next()) {
+    const TopoDS_Edge& aE=TopoDS::Edge(anIt.Value());
+    iC=CheckIntermediatePoint(aPBNew, aE, aTolR3D);
+    if (!iC) {
+      return !bFlag;
+    }
+  }
+  return bFlag;
+}
+//=======================================================================
 // function: CheckIntermediatePoint
 // purpose: 
 //=======================================================================
@@ -746,8 +889,24 @@ static
                                                               const Standard_Real aTolC)
                                                         
 {
-  Standard_Real aT11, aT12, aTM, aTmp;
   Standard_Integer iVM, nE2;
+  //
+  nE2=aPBR.Edge();
+  const TopoDS_Edge aE2=TopoDS::Edge(myDS->Shape(nE2));//mpv
+  iVM=CheckIntermediatePoint(aPB, aE2, aTolC);
+  //
+  return iVM;
+}
+//=======================================================================
+// function: CheckIntermediatePoint
+// purpose: 
+//=======================================================================
+  Standard_Integer NMTTools_PaveFiller::CheckIntermediatePoint(const BOPTools_PaveBlock& aPB,
+                                                              const TopoDS_Edge& aE2,
+                                                              const Standard_Real aTolC)
+{
+  Standard_Real aT11, aT12, aTM, aTmp;
+  Standard_Integer iVM;
   gp_Pnt aPM;
   BRep_Builder aBB;
   TopoDS_Vertex aVM;
@@ -766,10 +925,6 @@ static
   //
   aBB.MakeVertex (aVM, aPM, aTolC);
   //
-  //Edge
-  nE2=aPBR.Edge();
-  const TopoDS_Edge aE2=TopoDS::Edge(myDS->GetShape(nE2));
-  // VE
   iVM=myContext.ComputeVE(aVM, aE2, aTmp); 
   //
   return iVM;
@@ -799,8 +954,8 @@ static
   aFFi.Indices(nF1, nF2);
   aTolR3D=aFFi.TolR3D();
   //
-  const TopoDS_Face aF1=TopoDS::Face(myDS->GetShape(nF1));
-  const TopoDS_Face aF2=TopoDS::Face(myDS->GetShape(nF2));
+  const TopoDS_Face aF1=TopoDS::Face(myDS->GetShape(nF1));//mpv
+  const TopoDS_Face aF2=TopoDS::Face(myDS->GetShape(nF2));//mpv
   //
   bVF=myContext.IsValidPointForFaces (aP1, aF1, aF2, aTolR3D);
   if (bVF) {
@@ -850,13 +1005,14 @@ static
     TColStd_ListOfInteger& aTVs=aBC.TechnoVertices();
     aTVs.Append(nV);
   }
+  
   if (bFound1 && !bFound2) {
     nV=aPave1.Index();
     aPave.SetIndex(nV);
     aPave.SetParam(aT);
     aFFiPS.Append(aPave);
     //
-    const TopoDS_Vertex aV=TopoDS::Vertex(myDS->Shape(nV));
+    const TopoDS_Vertex aV=TopoDS::Vertex(myDS->Shape(nV));//mpv
     BOPTools_Tools::UpdateVertex (aIC, aT, aV);
   }
   
@@ -866,7 +1022,7 @@ static
     aPave.SetParam(aT);
     aCPS.Append(aPave);
     //
-    const TopoDS_Vertex aV=TopoDS::Vertex(myDS->Shape(nV));
+    const TopoDS_Vertex aV=TopoDS::Vertex(myDS->Shape(nV));//mpv
     BOPTools_Tools::UpdateVertex (aIC, aT, aV);
   }
 }
@@ -887,7 +1043,7 @@ static
   for (; anIt.More(); anIt.Next()) {
     const BOPTools_Pave& aPC=anIt.Value();
     nV=aPC.Index();
-    const TopoDS_Vertex aV=TopoDS::Vertex(myDS->Shape(nV));
+    const TopoDS_Vertex aV=TopoDS::Vertex(myDS->Shape(nV));//mpv
     bIsVertex=IntTools_Tools::IsVertex (aP, aTolPV, aV);
     if (bIsVertex) {
       aPave=aPC;
@@ -900,37 +1056,16 @@ static
 // function: PrepareSetForFace
 // purpose: 
 //=======================================================================
-  void NMTTools_PaveFiller::PrepareSetForFace(const Standard_Integer nF1,
-                                             const Standard_Integer nF2,
+  void NMTTools_PaveFiller::PrepareSetForFace(const Standard_Integer ,//nF1,
+                                             const Standard_Integer ,//nF2,
                                              const BOPTools_ListOfPaveBlock& aLPBC,
                                              BOPTools_PaveSet& aPSF)
 {
   Standard_Integer nV1, nV2; 
   TColStd_MapOfInteger aMap;
-  BOPTools_ListOfPaveBlock aLPB1, aLPB2, aLPBS;
   BOPTools_ListIteratorOfListOfPaveBlock anIt;
   //
-  RealSplitsFace(nF1, aLPB1);
-  anIt.Initialize(aLPB1);
-  for (; anIt.More(); anIt.Next()) {
-    const BOPTools_PaveBlock& aPB=anIt.Value();
-    aLPBS.Append(aPB);
-  }
-  //
-  RealSplitsFace(nF2, aLPB2);
-  anIt.Initialize(aLPB2);
-  for (; anIt.More(); anIt.Next()) {
-    const BOPTools_PaveBlock& aPB=anIt.Value();
-    aLPBS.Append(aPB);
-  }
-  //
   anIt.Initialize(aLPBC);
-  for (; anIt.More(); anIt.Next()) {
-    const BOPTools_PaveBlock& aPB=anIt.Value();
-    aLPBS.Append(aPB);
-  }
-  //
-  anIt.Initialize(aLPBS);
   for (; anIt.More(); anIt.Next()) {
     const BOPTools_PaveBlock& aPB=anIt.Value();
     const BOPTools_Pave& aPave1=aPB.Pave1();
@@ -973,7 +1108,7 @@ static
     const BOPTools_Pave& aPave=anIt.Value();
     //
     nV=aPave.Index();
-    const TopoDS_Vertex aV=TopoDS::Vertex(myDS->Shape(nV));
+    const TopoDS_Vertex aV=TopoDS::Vertex(myDS->Shape(nV));//mpv
     //
     Bnd_Box aBBV;
     BRepBndLib::Add(aV, aBBV);
@@ -1109,60 +1244,145 @@ Standard_Boolean IsFound(const TColStd_IndexedMapOfInteger& aMapWhat,
   }
   return bFlag;
 }
+// Modified  Thu Sep 14 14:35:18 2006 
+// Contribution of Samtech www.samcef.com BEGIN
+//=======================================================================
+//function : SharedEdges1
+//purpose  : 
+//=======================================================================
+void SharedEdges1(const TopoDS_Face& aF1,
+                 const TopoDS_Face& aF2,
+                 TopTools_ListOfShape& aLS)
+{
+  Standard_Integer i, aNbE, aNbF;;
+  TopTools_IndexedDataMapOfShapeListOfShape aMEF;
+  //
+  TopExp::MapShapesAndAncestors(aF1, TopAbs_EDGE, TopAbs_FACE, aMEF);
+  TopExp::MapShapesAndAncestors(aF2, TopAbs_EDGE, TopAbs_FACE, aMEF);
+  //
+  aNbE=aMEF.Extent();
+  for (i=1; i<=aNbE; ++i) {
+    const TopTools_ListOfShape& aLF=aMEF.FindFromIndex(i);
+    aNbF=aLF.Extent();
+    if (aNbF>1) {
+      if (aNbF==2) {
+       const TopoDS_Shape& aF1x=aLF.First();
+       const TopoDS_Shape& aF2x=aLF.Last();
+       if (aF1x.IsSame(aF2x)) {
+         continue;
+       }
+      }
+      const TopoDS_Shape& aE=aMEF.FindKey(i);
+      aLS.Append (aE);
+    }
+  }
+}
+//modified by NIZNHY-PKV Tue Oct 24 12:00:50 2006 
+// it seems that the method is not used  
+//=======================================================================
+// function: CheckCoincidence
+// purpose: 
+//=======================================================================
+  Standard_Boolean NMTTools_PaveFiller::CheckCoincidence(const BOPTools_PaveBlock& aPBNew,
+                                                        const BOPTools_ListOfPaveBlock& aLPBFF)
+                                                        
+{
+  Standard_Boolean bRet;
+  Standard_Real aTE;
+  Standard_Integer nV11, nV12, nV21, nV22, iVV, iVE, nE2;
+  Standard_Integer iV, iCount, iCountExt;
+  // V11
+  const BOPTools_Pave& aPave11=aPBNew.Pave1();
+  nV11=aPave11.Index();
+  const TopoDS_Vertex& aV11=TopoDS::Vertex(myDS->Shape(nV11));
+  
+  // V12
+  const BOPTools_Pave& aPave12=aPBNew.Pave2();
+  nV12=aPave12.Index();
+  const TopoDS_Vertex& aV12=TopoDS::Vertex(myDS->Shape(nV12));
+  //
+  iCountExt=1;
+  iCount=0;
+  BOPTools_ListIteratorOfListOfPaveBlock anIt(aLPBFF);
+  
+  //
+  for (; anIt.More(); anIt.Next()) {
+    iCount=0;
+    //
+    const BOPTools_PaveBlock& aPBR=anIt.Value();
+    // V21
+    const BOPTools_Pave& aPave21=aPBR.Pave1();
+    nV21=aPave21.Index();
+    const TopoDS_Vertex& aV21=TopoDS::Vertex(myDS->Shape(nV21));
+    // V22
+    const BOPTools_Pave& aPave22=aPBR.Pave2();
+    nV22=aPave22.Index();
+    const TopoDS_Vertex& aV22=TopoDS::Vertex(myDS->Shape(nV22));
+    // E2
+    nE2=aPBR.Edge();
+    const TopoDS_Edge& aE2=TopoDS::Edge(myDS->Shape(nE2));
+    //
+    // VV
+    iV=0;
+    iVV=IntTools_Tools::ComputeVV (aV11, aV21);
+    if (!iVV) {
+      iCount++;
+      iV++;
+      if (iCount>iCountExt) {
+       break;
+      }
+    }
+    //
+    iVV=IntTools_Tools::ComputeVV (aV11, aV22);
+    if (!iVV) {
+      iCount++;
+      iV++;
+      if (iCount>iCountExt) {
+       break;
+      }
+    }
+    // VE
+    if (!iV) {
+      iVE=myContext.ComputeVE (aV11, aE2, aTE);
+      if (!iVE) {
+       iCount++;
+       if (iCount>iCountExt) {
+         break;
+       }
+      }
+    }
+    // VV
+    iV=0;
+    iVV=IntTools_Tools::ComputeVV (aV12, aV21);
+    if (!iVV) {
+      iCount++;
+      iV++;
+      if (iCount>iCountExt) {
+       break;
+      }
+    }
+    //
+    iVV=IntTools_Tools::ComputeVV (aV12, aV22);
+    if (!iVV) {
+      iCount++;
+      iV++;
+      if (iCount>iCountExt) {
+       break;
+      }
+    }
+    // VE
+    if (!iV) {
+      iVE=myContext.ComputeVE (aV12, aE2, aTE);
+      if (!iVE) {
+       iCount++;
+       if (iCount>iCountExt) {
+         break;
+       }
+      }
+    }
+  } // next aPBR
+  bRet=(Standard_Boolean)(iCount>iCountExt);
+  return bRet;
+}
 //
-//   Block A
-//
-      //
-        // Commented out by EAP in the frame of PAL9151
-        //
-//     Standard_Boolean bHasPCOnF, bFound;
-//     Standard_Integer nF, k, nEOrx, nF1x, nF2x;
-//     Standard_Real aTolEx, aT1x, aT2x;
-//     BOPTools_ListIteratorOfListOfPaveBlock aItPBx;
-       //
-//     for (k=0; k<2; ++k) {   
-//       nF=(!k) ? nF1 : nF2;
-//       const TopoDS_Face& aF=TopoDS::Face(myDS->Shape(nF));
-//       //
-//       bHasPCOnF=BOPTools_Tools2D::HasCurveOnSurface(aEx, aF); 
-//       if (bHasPCOnF) {
-//         continue;
-//       }
-//       //
-//       bFound=Standard_False;
-//       aItPBx.Initialize(aLPBx);
-//       for (; aItPBx.More(); aItPBx.Next()) {
-//         BOPTools_PaveBlock& aPBx=aIt.Value();
-//         nEOrx=aPBx.OriginalEdge();
-//         const TopoDS_Shape& aEOrx=tDS.Shape(nEOrx);
-//         BOPTools_PaveBlock& aPBSEx=aMEPB.ChangeFromKey(aEOrx);
-//         aT1x=aPBSEx.Pave1().Param();
-//         aT2x=aPBSEx.Pave2().Param();
-//         const IntTools_Curve& aICx=aPBSEx.Curve();
-//         //
-//         nF1x=aPBSEx.Face1();
-//         nF2x=aPBSEx.Face2();
-//         //
-//         if (nF1x==nF) {
-//           Handle(Geom2d_Curve) aC2D1x=aICx.FirstCurve2d();
-//           Handle(Geom2d_TrimmedCurve)aC2D1xT =new Geom2d_TrimmedCurve(aC2D1x, aT1x, aT2x);
-//           aBB.UpdateEdge(aEx, aC2D1xT, aF, aTolEx);
-//           bFound=!bFound;
-//           break;
-//         }
-//         //
-//         if (nF2x==nF) {
-//           Handle(Geom2d_Curve) aC2D2x=aICx.SecondCurve2d();
-//           Handle(Geom2d_TrimmedCurve)aC2D2xT =new Geom2d_TrimmedCurve(aC2D2x, aT1x, aT2x);
-//           aBB.UpdateEdge(aEx, aC2D2xT, aF, aTolEx);
-//           bFound=!bFound;
-//           break;
-//         }
-//       }
-//       if (bFound){
-//         BRepLib::SameParameter(aEx, aTolEx, Standard_True);
-//       }
-//     }
-        //
-        // The code till the if block end is restored from V2_2_2 revision
-
+// Contribution of Samtech www.samcef.com END
index 3c9d4f7ac30a8f999ea3f06c4881ce2a4b33b072..85be6851f5912a77799f69151e9a018cc1684310 100644 (file)
 #include <TopExp.hxx>
 #include <TColStd_IndexedMapOfInteger.hxx>
 
+//
+#include <IntTools_SequenceOfPntOn2Faces.hxx>
+#include <IntTools_PntOnFace.hxx>
+#include <IntTools_PntOn2Faces.hxx>
+#include <BOPTools_Tools.hxx>
+#include <TopTools_DataMapOfShapeListOfInteger.hxx>
+#include <TColStd_ListOfInteger.hxx>
+#include <TopoDS_Compound.hxx>
+#include <BRep_Builder.hxx>
+#include <BOPTools_CArray1OfVVInterference.hxx>
+#include <BOPTools_VVInterference.hxx>
+#include <TopTools_DataMapOfShapeShape.hxx>
+#include <TopTools_DataMapOfShapeListOfInteger.hxx>
+#include <TopTools_DataMapIteratorOfDataMapOfShapeListOfInteger.hxx>
+#include <TColStd_MapOfInteger.hxx>
+#include <TColStd_ListIteratorOfListOfInteger.hxx>
+#include <TopTools_DataMapOfIntegerShape.hxx>
+#include <Bnd_HArray1OfBox.hxx>
+#include <Bnd_BoundSortBox.hxx>
+#include <Bnd_Box.hxx>
+#include <BRepBndLib.hxx>
+#include <TopTools_DataMapIteratorOfDataMapOfIntegerShape.hxx>
+#include <TopTools_DataMapOfShapeInteger.hxx>
+#include <TopTools_DataMapIteratorOfDataMapOfShapeInteger.hxx>
+#include <TopTools_DataMapOfShapeInteger.hxx>
+#include <BooleanOperations_AncestorsSeqAndSuccessorsSeq.hxx>
+
+// Modified  Thu Sep 14 14:35:18 2006 
+// Contribution of Samtech www.samcef.com BEGIN
+static 
+  void FuseVertices(const TopoDS_Shape& aCompound,
+                   TopTools_DataMapOfShapeShape& aDMVV);
+// Contribution of Samtech www.samcef.com END
+
 //=======================================================================
 // function: MakeSplitEdges
 // purpose: 
   for(i=1; i<=aNbF; ++i) {
     nF=aMF(i);
     iRankF=myDS->Rank(nF);
-    const TopoDS_Shape aF=myDS->Shape(nF);
+    const TopoDS_Shape aF=myDS->Shape(nF);//mpv
     aExp.Init(aF, TopAbs_EDGE);
     for(; aExp.More();  aExp.Next()) {
       aE=TopoDS::Edge(aExp.Current());
     }
   }
 } 
+// Modified 
+// to treat Alone Vertices between faces
+// Thu Sep 14 14:35:18 2006 
+// Contribution of Samtech www.samcef.com BEGIN
+//=======================================================================
+// function: MakeAloneVertices
+// purpose: 
+//=======================================================================
+  void NMTTools_PaveFiller::MakeAloneVertices()
+{
+  Standard_Integer i, aNbFFs, nF1, nF2, j, aNbPnts, nFx, aNbV;
+  Standard_Real aTolF1, aTolF2, aTolSum, aTolV;
+  TColStd_ListIteratorOfListOfInteger aIt;
+  TColStd_ListOfInteger aLI;
+  TopoDS_Vertex aV;
+  TopoDS_Compound aCompound;
+  BRep_Builder aBB;
+  TopTools_DataMapOfShapeListOfInteger aDMVFF, aDMVFF1;
+  TopTools_DataMapIteratorOfDataMapOfShapeListOfInteger aItDMVFF;
+  TopTools_DataMapOfShapeShape aDMVV;
+  TopTools_DataMapOfIntegerShape aDMIV;
+  TopTools_DataMapOfShapeInteger aDMVI;
+  TopTools_DataMapIteratorOfDataMapOfShapeInteger aItDMVI;
+  TopTools_DataMapIteratorOfDataMapOfIntegerShape aItDMIV;
+  //
+  aBB.MakeCompound(aCompound);
+  //
+  myAloneVertices.Clear();
+  //
+  BOPTools_CArray1OfSSInterference& aFFs=myIntrPool->SSInterferences();
+  //
+  // 1. Collect alone vertices from FFs
+  aNbV=0;
+  aNbFFs=aFFs.Extent();
+  for (i=1; i<=aNbFFs; ++i) {
+    BOPTools_SSInterference& aFFi=aFFs(i);
+    aFFi.Indices(nF1, nF2);
+    //
+    const TopoDS_Face aF1=TopoDS::Face(myDS->Shape(nF1));//mpv
+    const TopoDS_Face aF2=TopoDS::Face(myDS->Shape(nF2));//mpv
+    //
+    aTolF1=BRep_Tool::Tolerance(aF1);
+    aTolF2=BRep_Tool::Tolerance(aF2);
+    aTolSum=aTolF1+aTolF2;
+    //
+    aLI.Clear();
+    aLI.Append(nF1);
+    aLI.Append(nF2);
+    //
+    const IntTools_SequenceOfPntOn2Faces& aSeqAlonePnts=aFFi.AlonePnts();
+    aNbPnts=aSeqAlonePnts.Length();
+    for (j=1; j<=aNbPnts; ++j) {
+      const gp_Pnt& aP=aSeqAlonePnts(j).P1().Pnt();
+      BOPTools_Tools::MakeNewVertex(aP, aTolSum, aV);
+      aDMVFF.Bind(aV, aLI);
+      aBB.Add(aCompound, aV);
+      ++aNbV;
+    }
+  }
+  if (!aNbV) {
+    return;
+  }
+  //
+  // 2. Try to fuse alone vertices themselves;
+  FuseVertices(aCompound, aDMVV);
+  //
+  // if some are fused, replace them by new ones 
+  aItDMVFF.Initialize(aDMVFF);
+  for (;  aItDMVFF.More(); aItDMVFF.Next()) {
+    const TopoDS_Shape& aVx=aItDMVFF.Key();
+    const TColStd_ListOfInteger& aLIx=aItDMVFF.Value();
+    //
+    if (!aDMVV.IsBound(aVx)) {
+      aDMVFF1.Bind(aVx, aLIx);
+    }
+    else {
+      const TopoDS_Shape& aVy=aDMVV.Find(aVx);
+      
+      if (aDMVFF1.IsBound(aVy)) {
+       TColStd_ListOfInteger& aLIy=aDMVFF1.ChangeFind(aVy);
+       aIt.Initialize(aLIx);
+       for(; aIt.More(); aIt.Next()) {
+         nFx=aIt.Value();
+         aLIy.Append(nFx);
+       }
+      }
+      else { 
+       aDMVFF1.Bind(aVy, aLIx);
+      }
+    }
+  }
+  aDMVFF.Clear();
+  //
+  // refine lists of faces in aDMVFF1; 
+  aItDMVFF.Initialize(aDMVFF1);
+  for (;  aItDMVFF.More(); aItDMVFF.Next()) {
+    TColStd_MapOfInteger aMIy;
+    TColStd_ListOfInteger aLIy;
+    //
+    const TopoDS_Shape& aVx=aItDMVFF.Key();
+    TColStd_ListOfInteger& aLIx=aDMVFF1.ChangeFind(aVx);
+    aIt.Initialize(aLIx);
+    for(; aIt.More(); aIt.Next()) {
+      nFx=aIt.Value();
+      if (aMIy.Add(nFx)) {
+       aLIy.Append(nFx);
+      }
+    }
+    aLIx.Clear();
+    aLIx.Append(aLIy);
+  }
+  //==================================
+  //
+  // 3. Collect vertices from DS
+  Standard_Integer aNbS, nV, nVSD, aNbVDS, i1, i2, aNbVSD;
+  //
+  aNbS=myDS->NumberOfShapesOfTheObject();
+  // old shapes
+  for (i=1; i<=aNbS; ++i) {
+    const TopoDS_Shape& aS=myDS->Shape(i);
+    if (aS.ShapeType() != TopAbs_VERTEX){
+      continue;
+    }
+    //
+    nVSD=FindSDVertex(i); 
+    nV=(nVSD) ? nVSD : i;
+    const TopoDS_Shape& aVx=myDS->Shape(nV);
+    if (!aDMVI.IsBound(aVx)) {
+      aDMVI.Bind(aVx, nV);
+    }
+  }
+  // new shapes
+  i1=myDS->NumberOfSourceShapes()+1;
+  i2=myDS->NumberOfInsertedShapes();
+  for (i=i1; i<=i2; ++i) {
+    const TopoDS_Shape aS=myDS->Shape(i);//mpv
+    if (aS.ShapeType() != TopAbs_VERTEX){
+      continue;
+    }
+    if (!aDMVI.IsBound(aS)) {
+      aDMVI.Bind(aS, i);
+    }
+  }
+  // 
+  // 4. Initialize BoundSortBox on aDMVI
+  //
+  Handle(Bnd_HArray1OfBox) aHAB;
+  Bnd_BoundSortBox aBSB;
+  //
+  aNbVDS=aDMVI.Extent();
+  aHAB=new Bnd_HArray1OfBox(1, aNbVDS);
+  //
+  aItDMVI.Initialize(aDMVI);
+  for (i=1; aItDMVI.More(); aItDMVI.Next(), ++i) {
+    Bnd_Box aBox;
+    //
+    nV=aItDMVI.Value();
+    aV=TopoDS::Vertex(aItDMVI.Key());
+    aTolV=BRep_Tool::Tolerance(aV);
+    aBox.SetGap(aTolV);
+    BRepBndLib::Add(aV, aBox);
+    aHAB->SetValue(i, aBox);
+    //
+    aDMIV.Bind(i, aV);
+  }
+  aBSB.Initialize(aHAB);
+  //
+  // 5. Compare 
+  aItDMVFF.Initialize(aDMVFF1);
+  for (;  aItDMVFF.More(); aItDMVFF.Next()) {
+    Bnd_Box aBoxV;
+    //
+    const TColStd_ListOfInteger& aLIFF=aItDMVFF.Value();
+    aV=TopoDS::Vertex(aItDMVFF.Key());
+    //
+    aTolV=BRep_Tool::Tolerance(aV);
+    aBoxV.SetGap(aTolV);
+    BRepBndLib::Add(aV, aBoxV);
+    //
+    const TColStd_ListOfInteger& aLIVSD=aBSB.Compare(aBoxV);
+    aNbVSD=aLIVSD.Extent();
+    if (aNbVSD==0) {
+      // add new vertex in DS and update map myAloneVertices
+      BooleanOperations_AncestorsSeqAndSuccessorsSeq anASSeq;
+      //
+      myDS->InsertShapeAndAncestorsSuccessors(aV, anASSeq);
+      nV=myDS->NumberOfInsertedShapes();
+      //
+      aIt.Initialize(aLIFF);
+      for (; aIt.More(); aIt.Next()) {
+       nFx=aIt.Value();
+       if (myAloneVertices.Contains(nFx)) {
+         TColStd_IndexedMapOfInteger& aMVx=myAloneVertices.ChangeFromKey(nFx);
+         aMVx.Add(nV);
+       }
+       else {
+         TColStd_IndexedMapOfInteger aMVx;
+         aMVx.Add(nV);
+         myAloneVertices.Add(nFx, aMVx);
+       }
+      }
+    }
+  }
+}
+//=======================================================================
+// function: AloneVertices
+// purpose: 
+//=======================================================================
+  const NMTTools_IndexedDataMapOfIndexedMapOfInteger& NMTTools_PaveFiller::AloneVertices()const
+{
+  return myAloneVertices;
+}
+//=======================================================================
+// function: FuseVertices
+// purpose: 
+//=======================================================================
+void FuseVertices(const TopoDS_Shape& aCompound,
+                 TopTools_DataMapOfShapeShape& aDMVV)
+{
+  Standard_Integer i, aNbVV, n1, n2, nX;
+  NMTDS_ShapesDataStructure tDS;
+  //
+  tDS.SetCompositeShape(aCompound);
+  tDS.Init();
+  //
+  BOPTools_InterferencePool tInterfPool(tDS);
+  NMTTools_PaveFiller tPaveFiller(tInterfPool);
+  //
+  tPaveFiller.Init();
+  //
+  tPaveFiller.PerformVV();
+  tPaveFiller.PerformNewVertices();
+  //
+  const BOPTools_CArray1OfVVInterference& aVVt=tInterfPool.VVInterfs();
+  //
+  aNbVV=aVVt.Extent();
+  for (i=1; i<=aNbVV; ++i) {
+    const BOPTools_VVInterference& aVV=aVVt(i);
+    aVV.Indices(n1, n2);
+    nX=aVV.NewShape();
+    if (nX) {
+      const TopoDS_Shape& aV1=tDS.Shape(n1);
+      const TopoDS_Shape& aV2=tDS.Shape(n2);
+      const TopoDS_Shape& aVx=tDS.Shape(nX);
+      aDMVV.Bind(aV1, aVx);
+      aDMVV.Bind(aV2, aVx);
+    }
+  }
+}
+// Contribution of Samtech www.samcef.com END
index 0226377d11429cb3af131566276e810f2df713fc..b8686673ec6d63a6a112d2fcec18317521a7705d 100644 (file)
@@ -25,6 +25,7 @@
 
 #include <NMTTools_PaveFiller.ixx>
 
+#include <TColStd_MapOfInteger.hxx>
 #include <TColStd_ListOfInteger.hxx>
 #include <TColStd_ListIteratorOfListOfInteger.hxx>
 
 #include <NMTTools_CommonBlock.hxx>
 #include <NMTTools_CommonBlockAPI.hxx>
 
+
+// Modified  to add new method Thu Sep 14 14:35:18 2006 
+// Contribution of Samtech www.samcef.com BEGIN
+//=======================================================================
+// function:  SharedEdges
+// purpose:
+//=======================================================================
+  void NMTTools_PaveFiller::SharedEdges(const Standard_Integer nF1,
+                                       const Standard_Integer nF2,
+                                       TColStd_ListOfInteger& aLNE,
+                                       TopTools_ListOfShape& aLSE)
+{
+  Standard_Integer nE1, nE2;
+  TColStd_MapOfInteger aM1;
+  //
+  BooleanOperations_ShapesDataStructure *pDS=myDS;
+  BooleanOperations_OnceExplorer aExp(*pDS);
+  //
+  aExp.Init(nF1, TopAbs_EDGE);
+  for (; aExp.More(); aExp.Next()) {
+    nE1=aExp.Current();
+    aM1.Add(nE1);
+  }
+  
+  aExp.Init(nF2, TopAbs_EDGE);
+  for (; aExp.More(); aExp.Next()) {
+    nE2=aExp.Current();
+    if (aM1.Contains(nE2)) {
+      aLNE.Append(nE2);
+      const TopoDS_Shape& aE2=myDS->Shape(nE2);
+      aLSE.Append(aE2);
+    }
+  }
+}
+// Contribution of Samtech www.samcef.com END
+//
+//=======================================================================
+// function: RealPaveBlock
+// purpose:
+//=======================================================================
+  const BOPTools_PaveBlock& NMTTools_PaveFiller::RealPaveBlock(const BOPTools_PaveBlock& aPB,
+                                                              TColStd_ListOfInteger& aLB)
+{
+  Standard_Integer nE, nSpx;
+  BOPTools_ListIteratorOfListOfPaveBlock aItPBx;
+  //
+  aLB.Clear();
+  nE=aPB.OriginalEdge();
+  const NMTTools_ListOfCommonBlock& aLCBE=myCommonBlockPool(myDS->RefEdge(nE));
+  NMTTools_CommonBlockAPI aCBAPI(aLCBE);
+  if (aCBAPI.IsCommonBlock(aPB)) {
+    NMTTools_CommonBlock& aCB=aCBAPI.CommonBlock(aPB);
+    //
+    const BOPTools_ListOfPaveBlock& aLPBx=aCB.PaveBlocks();
+    aItPBx.Initialize(aLPBx);
+    for (; aItPBx.More(); aItPBx.Next()) {
+      const BOPTools_PaveBlock& aPBx=aItPBx.Value();
+      nSpx=aPBx.Edge();
+      aLB.Append(nSpx);
+    }
+    //
+    const BOPTools_PaveBlock& aPBx=aCB.PaveBlock1();
+    return aPBx;
+  }
+  return aPB;
+}
+//
 //=======================================================================
 // function: RealPaveBlock
 // purpose:
diff --git a/src/NMTTools/NMTTools_StdMapNodeOfMapOfPaveBlock.hxx b/src/NMTTools/NMTTools_StdMapNodeOfMapOfPaveBlock.hxx
new file mode 100644 (file)
index 0000000..12bf8f2
--- /dev/null
@@ -0,0 +1,121 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#ifndef _NMTTools_StdMapNodeOfMapOfPaveBlock_HeaderFile
+#define _NMTTools_StdMapNodeOfMapOfPaveBlock_HeaderFile
+
+#ifndef _Standard_HeaderFile
+#include <Standard.hxx>
+#endif
+#ifndef _Handle_NMTTools_StdMapNodeOfMapOfPaveBlock_HeaderFile
+#include <Handle_NMTTools_StdMapNodeOfMapOfPaveBlock.hxx>
+#endif
+
+#ifndef _BOPTools_PaveBlock_HeaderFile
+#include <BOPTools_PaveBlock.hxx>
+#endif
+#ifndef _TCollection_MapNode_HeaderFile
+#include <TCollection_MapNode.hxx>
+#endif
+#ifndef _TCollection_MapNodePtr_HeaderFile
+#include <TCollection_MapNodePtr.hxx>
+#endif
+class BOPTools_PaveBlock;
+class BOPTools_PaveBlockMapHasher;
+class NMTTools_MapOfPaveBlock;
+class NMTTools_MapIteratorOfMapOfPaveBlock;
+
+
+
+class NMTTools_StdMapNodeOfMapOfPaveBlock : public TCollection_MapNode {
+
+public:
+ // Methods PUBLIC
+ // 
+
+NMTTools_StdMapNodeOfMapOfPaveBlock(const BOPTools_PaveBlock& K,const TCollection_MapNodePtr& n);
+
+  BOPTools_PaveBlock& Key() const;
+//Standard_EXPORT ~NMTTools_StdMapNodeOfMapOfPaveBlock();
+
+
+
+
+ // Type management
+ //
+ Standard_EXPORT const Handle(Standard_Type)& DynamicType() const;
+ //Standard_EXPORT Standard_Boolean           IsKind(const Handle(Standard_Type)&) const;
+
+protected:
+
+ // Methods PROTECTED
+ // 
+
+
+ // Fields PROTECTED
+ //
+
+
+private: 
+
+ // Methods PRIVATE
+ // 
+
+
+ // Fields PRIVATE
+ //
+BOPTools_PaveBlock myKey;
+
+
+};
+
+#define TheKey BOPTools_PaveBlock
+#define TheKey_hxx <BOPTools_PaveBlock.hxx>
+#define Hasher BOPTools_PaveBlockMapHasher
+#define Hasher_hxx <BOPTools_PaveBlockMapHasher.hxx>
+#define TCollection_StdMapNode NMTTools_StdMapNodeOfMapOfPaveBlock
+#define TCollection_StdMapNode_hxx <NMTTools_StdMapNodeOfMapOfPaveBlock.hxx>
+#define TCollection_MapIterator NMTTools_MapIteratorOfMapOfPaveBlock
+#define TCollection_MapIterator_hxx <NMTTools_MapIteratorOfMapOfPaveBlock.hxx>
+#define Handle_TCollection_StdMapNode Handle_NMTTools_StdMapNodeOfMapOfPaveBlock
+#define TCollection_StdMapNode_Type_() NMTTools_StdMapNodeOfMapOfPaveBlock_Type_()
+#define TCollection_Map NMTTools_MapOfPaveBlock
+#define TCollection_Map_hxx <NMTTools_MapOfPaveBlock.hxx>
+
+#include <TCollection_StdMapNode.lxx>
+
+#undef TheKey
+#undef TheKey_hxx
+#undef Hasher
+#undef Hasher_hxx
+#undef TCollection_StdMapNode
+#undef TCollection_StdMapNode_hxx
+#undef TCollection_MapIterator
+#undef TCollection_MapIterator_hxx
+#undef Handle_TCollection_StdMapNode
+#undef TCollection_StdMapNode_Type_
+#undef TCollection_Map
+#undef TCollection_Map_hxx
+
+
+// other Inline functions and methods (like "C++: function call" methods)
+//
+
+
+#endif
diff --git a/src/NMTTools/NMTTools_StdMapNodeOfMapOfPaveBlock_0.cxx b/src/NMTTools/NMTTools_StdMapNodeOfMapOfPaveBlock_0.cxx
new file mode 100644 (file)
index 0000000..0b6dba8
--- /dev/null
@@ -0,0 +1,98 @@
+// Copyright (C) 2005  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
+// 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
+// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+#include <NMTTools_StdMapNodeOfMapOfPaveBlock.hxx>
+
+#ifndef _Standard_TypeMismatch_HeaderFile
+#include <Standard_TypeMismatch.hxx>
+#endif
+
+#ifndef _BOPTools_PaveBlock_HeaderFile
+#include <BOPTools_PaveBlock.hxx>
+#endif
+#ifndef _BOPTools_PaveBlockMapHasher_HeaderFile
+#include <BOPTools_PaveBlockMapHasher.hxx>
+#endif
+#ifndef _NMTTools_MapOfPaveBlock_HeaderFile
+#include <NMTTools_MapOfPaveBlock.hxx>
+#endif
+#ifndef _NMTTools_MapIteratorOfMapOfPaveBlock_HeaderFile
+#include <NMTTools_MapIteratorOfMapOfPaveBlock.hxx>
+#endif
+//NMTTools_StdMapNodeOfMapOfPaveBlock::~NMTTools_StdMapNodeOfMapOfPaveBlock() {}
+
+
+Standard_EXPORT Handle_Standard_Type& NMTTools_StdMapNodeOfMapOfPaveBlock_Type_()
+{
+
+    static Handle_Standard_Type aType1 = STANDARD_TYPE(TCollection_MapNode);
+  static Handle_Standard_Type aType2 = STANDARD_TYPE(MMgt_TShared);
+  static Handle_Standard_Type aType3 = STANDARD_TYPE(Standard_Transient);
+
+  static Handle_Standard_Transient _Ancestors[]= {aType1,aType2,aType3,NULL};
+  static Handle_Standard_Type _aType = new Standard_Type("NMTTools_StdMapNodeOfMapOfPaveBlock",
+                                                        sizeof(NMTTools_StdMapNodeOfMapOfPaveBlock),
+                                                        1,
+                                                        (Standard_Address)_Ancestors,
+                                                        (Standard_Address)NULL);
+
+  return _aType;
+}
+
+
+// DownCast method
+//   allow safe downcasting
+//
+const Handle(NMTTools_StdMapNodeOfMapOfPaveBlock) Handle(NMTTools_StdMapNodeOfMapOfPaveBlock)::DownCast(const Handle(Standard_Transient)& AnObject) 
+{
+  Handle(NMTTools_StdMapNodeOfMapOfPaveBlock) _anOtherObject;
+
+  if (!AnObject.IsNull()) {
+     if (AnObject->IsKind(STANDARD_TYPE(NMTTools_StdMapNodeOfMapOfPaveBlock))) {
+       _anOtherObject = Handle(NMTTools_StdMapNodeOfMapOfPaveBlock)((Handle(NMTTools_StdMapNodeOfMapOfPaveBlock)&)AnObject);
+     }
+  }
+
+  return _anOtherObject ;
+}
+const Handle(Standard_Type)& NMTTools_StdMapNodeOfMapOfPaveBlock::DynamicType() const 
+{ 
+  return STANDARD_TYPE(NMTTools_StdMapNodeOfMapOfPaveBlock) ; 
+}
+//Standard_Boolean NMTTools_StdMapNodeOfMapOfPaveBlock::IsKind(const Handle(Standard_Type)& AType) const 
+//{ 
+//  return (STANDARD_TYPE(NMTTools_StdMapNodeOfMapOfPaveBlock) == AType || TCollection_MapNode::IsKind(AType)); 
+//}
+//Handle_NMTTools_StdMapNodeOfMapOfPaveBlock::~Handle_NMTTools_StdMapNodeOfMapOfPaveBlock() {}
+#define TheKey BOPTools_PaveBlock
+#define TheKey_hxx <BOPTools_PaveBlock.hxx>
+#define Hasher BOPTools_PaveBlockMapHasher
+#define Hasher_hxx <BOPTools_PaveBlockMapHasher.hxx>
+#define TCollection_StdMapNode NMTTools_StdMapNodeOfMapOfPaveBlock
+#define TCollection_StdMapNode_hxx <NMTTools_StdMapNodeOfMapOfPaveBlock.hxx>
+#define TCollection_MapIterator NMTTools_MapIteratorOfMapOfPaveBlock
+#define TCollection_MapIterator_hxx <NMTTools_MapIteratorOfMapOfPaveBlock.hxx>
+#define Handle_TCollection_StdMapNode Handle_NMTTools_StdMapNodeOfMapOfPaveBlock
+#define TCollection_StdMapNode_Type_() NMTTools_StdMapNodeOfMapOfPaveBlock_Type_()
+#define TCollection_Map NMTTools_MapOfPaveBlock
+#define TCollection_Map_hxx <NMTTools_MapOfPaveBlock.hxx>
+#include <TCollection_StdMapNode.gxx>
+
index da32326ffc0853eabfe89651b4af38a06098e70f..efe6a35fb26fcb7c209ee2173381bcd67183ad11 100644 (file)
@@ -1,27 +1,27 @@
-// Copyright (C) 2005  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 
-// 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 
-// 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 
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
-//
+-- Copyright (C) 2005  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 
+-- 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 
+-- 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 
+-- 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_Tools.cdl
 -- Created:    Mon Dec  8 10:32:34 2003
 -- Author:     Peter KURNEV
 --             <pkv@irinox>
----Copyright:   Matra Datavision 2003
 
 
 class Tools from NMTTools 
index 9963ce4d0a8dccd9004beb132978629f960465ec..8c6357b2b1abf1ed32c6d45c26fa379e7d9af36f 100644 (file)
@@ -67,6 +67,9 @@
 #include <BRepLib.hxx>
 #include <BOPTools_Tools3D.hxx>
 #include <TopExp_Explorer.hxx>
+//
+#include <TopTools_MapOfShape.hxx>
+#include <TopTools_MapIteratorOfMapOfShape.hxx>
 
 static 
   void ProcessBlock(const Standard_Integer iV,
@@ -373,21 +376,49 @@ void ProcessBlock(const Standard_Integer iV,
                                                      IntTools_Context& aCtx)
 {
   Standard_Boolean bFlag;
-  Standard_Integer i, aNbE1, aNbE2;
-  
-  TopTools_IndexedMapOfShape aME1, aME2;
-  TopoDS_Edge aEF1, aEF2;
+  // Modified  Thu Sep 14 14:35:18 2006 
+  // Contribution of Samtech www.samcef.com BEGIN
+  Standard_Integer aNbE1, aNbE2;
+  Standard_Real aTolF1, aTolF2, aTol;
+  gp_Pnt2d aP2D;
+  gp_Pnt aP;
   TopoDS_Face aF1, aF2;
+  TopExp_Explorer aExp;
+  TopTools_MapOfShape aME1, aME2;
+  TopTools_MapIteratorOfMapOfShape aIt;
+  //
+  bFlag=Standard_False;
+  // Contribution of Samtech www.samcef.com END
   //
   aF1=aF1x;
   aF1.Orientation(TopAbs_FORWARD);
   aF2=aF2y;
   aF2.Orientation(TopAbs_FORWARD);
   //
-  TopExp::MapShapes(aF1, TopAbs_EDGE, aME1);
-  TopExp::MapShapes(aF2, TopAbs_EDGE, aME2);
+  // Modified  Thu Sep 14 14:35:18 2006 
+  // Contribution of Samtech www.samcef.com BEGIN
   //
-  bFlag=Standard_False;
+  // 1
+  aExp.Init(aF1, TopAbs_EDGE);
+  for (; aExp.More(); aExp.Next()) {
+    const TopoDS_Edge& aE=TopoDS::Edge(aExp.Current());
+    if (!BRep_Tool::Degenerated(aE)) {
+      aME1.Add(aE);
+    }
+  }
+  //
+  aExp.Init(aF2, TopAbs_EDGE);
+  for (; aExp.More(); aExp.Next()) {
+    const TopoDS_Edge& aE=TopoDS::Edge(aExp.Current());
+    if (!BRep_Tool::Degenerated(aE)) {
+      if (!aME1.Contains(aE)) {
+       return bFlag;
+      }
+      aME2.Add(aE);
+    }
+  }
+  //
+  // Contribution of Samtech www.samcef.com END
   //
   aNbE1=aME1.Extent();
   aNbE2=aME2.Extent();
@@ -400,72 +431,18 @@ void ProcessBlock(const Standard_Integer iV,
     return bFlag;
   }
   //
-  for (i=1; i<=aNbE1; ++i) {
-    const TopoDS_Edge& aE1=TopoDS::Edge(aME1(i));
-    if (BRep_Tool::Degenerated(aE1)) {
-      // not try to compare deg edges because it 
-      // can not have same TShape on different faces at all
-      continue; 
-    }
-    if (!aME2.Contains(aE1)) {
-      return bFlag;
-    }
-  }
-  //
-  Standard_Real aTolF1, aTolF2, aTol;
-  gp_Pnt2d aP2D;
-  gp_Pnt aP;
-  TopExp_Explorer anExp;
-  //
-  aTolF1=BRep_Tool::Tolerance(aF1);
-  aTolF2=BRep_Tool::Tolerance(aF2);
-  aTol=aTolF1+aTolF2;
-  //
-  anExp.Init(aF1, TopAbs_EDGE);
-  for (; anExp.More(); anExp.Next()) {
-    const TopoDS_Edge& aE1=TopoDS::Edge(anExp.Current());
-    if (!BRep_Tool::Degenerated(aE1)) {
-      BOPTools_Tools3D::PointNearEdge(aE1, aF1, aP2D, aP);
-      bFlag=aCtx.IsValidPointForFace(aP, aF2, aTol);
-      break;
-    }
-  }
-  return bFlag;
-  /*
-  //
-  Standard_Real aU1, aU2, aV1, aV2;
-  Standard_Real dU, dV, aU, aV;
-  Standard_Integer aNbP=5, aNbP1, j;
-  gp_Pnt2d aP2D;
-  gp_Pnt aP;
-  //
+  // 2
   aTolF1=BRep_Tool::Tolerance(aF1);
   aTolF2=BRep_Tool::Tolerance(aF2);
   aTol=aTolF1+aTolF2;
   //
-  BRepTools::UVBounds(aF1, aU1, aU2, aV1, aV2);
-  Handle(Geom_Surface) aS1=BRep_Tool::Surface(aF1);
-  //
-  aNbP1=aNbP+1;
-  dU=(aU2-aU1)/aNbP1;
-  dV=(aV2-aV1)/aNbP1;
-  //
-  for (i=1; i<=aNbP; ++i) {
-    aU=aU1+i*dU;
-    for (j=1; j<=aNbP; ++j) {
-      aV=aV1+j*dV;
-      aP2D.SetCoord(aU, aV);
-      //
-      if(aCtx.IsPointInFace(aF1, aP2D)) {
-       aP=aS1->Value(aU, aV);
-       bFlag=aCtx.IsValidPointForFace(aP, aF2, aTol);
-       if (!bFlag) {
-         return bFlag;
-       }
-      }
-    }
+  aIt.Initialize(aME1);
+  for (; aIt.More(); aIt.Next()) {
+    const TopoDS_Edge& aE=TopoDS::Edge(aIt.Key());
+    BOPTools_Tools3D::PointNearEdge(aE, aF1, aP2D, aP);
+    bFlag=aCtx.IsValidPointForFace(aP, aF2, aTol);
+    break;
   }
-  */
   //
   return bFlag;
 }
index e85e495f17295d237bedcb2ed90deb01a0d7a24b..232b7cc3122057fb8f0709833c656a1c70a05ba4 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
@@ -49,6 +49,7 @@ class Geom2d_Curve;
 #include <Standard_Macro.hxx>
 #endif
 
+
 class NMTTools_Tools  {
 
 public:
@@ -67,14 +68,32 @@ public:
       }
  // Methods PUBLIC
  // 
+
+
 Standard_EXPORT static  void MakeNewVertex(const TopTools_ListOfShape& aLV,TopoDS_Vertex& aNewVertex) ;
+
+
 Standard_EXPORT static  void FindChains(const BOPTools_CArray1OfVVInterference& aVVs,BOPTColStd_IndexedDataMapOfIntegerIndexedMapOfInteger& aMCX) ;
+
+
 Standard_EXPORT static  void FindChains(const BOPTools_CArray1OfSSInterference& aVVs,BOPTColStd_IndexedDataMapOfIntegerIndexedMapOfInteger& aMCX) ;
+
+
 Standard_EXPORT static  void FindChains(const BOPTColStd_IndexedDataMapOfIntegerIndexedMapOfInteger& aMCV,BOPTColStd_IndexedDataMapOfIntegerIndexedMapOfInteger& aMCX) ;
+
+
 Standard_EXPORT static  Standard_Boolean IsSplitInOnFace(const TopoDS_Edge& aE,const TopoDS_Face& aF,IntTools_Context& aCtx) ;
+
+
 Standard_EXPORT static  Standard_Boolean AreFacesSameDomain(const TopoDS_Face& aF1,const TopoDS_Face& aF2,IntTools_Context& aCtx) ;
+
+
 Standard_EXPORT static  void FindChains(const NMTTools_ListOfCoupleOfShape& aLCS,NMTTools_IndexedDataMapOfShapeIndexedMapOfShape& aM) ;
+
+
 Standard_EXPORT static  void FindChains(const NMTTools_IndexedDataMapOfShapeIndexedMapOfShape& aM1,NMTTools_IndexedDataMapOfShapeIndexedMapOfShape& aM2) ;
+
+
 Standard_EXPORT static  void MakePCurve(const TopoDS_Edge& aE,const TopoDS_Face& aF,const Handle(Geom2d_Curve)& aC2D,const Standard_Real aTolR2D) ;
 
 
index 0d09ae5ae00702f568a2f2deef1ae7925ec5677a..78e1147294716d3e0e46b0423c019ad1c9c62a3c 100644 (file)
@@ -1,18 +1,18 @@
 // Copyright (C) 2005  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
index f1360a8deb16aa844176ac0a51cff2b0ffe13d7e..8f3817efad4f1fff7342e1e98566990a09d386e7 100644 (file)
@@ -1,22 +1,22 @@
 // Copyright (C) 2005  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
-//
+
 #ifndef _TopTools_ListOfShape_HeaderFile
 #include <TopTools_ListOfShape.hxx>
 #endif