]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
Mantis issue 0021404: Problem with partition. A fix by Peter Kurnev.
authorjfa <jfa@opencascade.com>
Fri, 16 Dec 2011 13:32:32 +0000 (13:32 +0000)
committerjfa <jfa@opencascade.com>
Fri, 16 Dec 2011 13:32:32 +0000 (13:32 +0000)
55 files changed:
src/GEOMAlgo/GEOMAlgo_Builder_2.cxx
src/GEOMImpl/GEOMImpl_IMeasureOperations.cxx
src/NMTDS/Handle_NMTDS_ListNodeOfListOfPair.hxx [new file with mode: 0644]
src/NMTDS/Handle_NMTDS_ListNodeOfListOfPairBoolean.hxx [new file with mode: 0644]
src/NMTDS/Handle_NMTDS_StdMapNodeOfMapOfPairBoolean.hxx [new file with mode: 0644]
src/NMTDS/Makefile.am
src/NMTDS/NMTDS.cdl
src/NMTDS/NMTDS_InterfPool.cdl
src/NMTDS/NMTDS_InterfPool.cxx
src/NMTDS/NMTDS_InterfPool.hxx
src/NMTDS/NMTDS_InterfPool.jxx
src/NMTDS/NMTDS_Iterator.cdl
src/NMTDS/NMTDS_Iterator.cxx
src/NMTDS/NMTDS_Iterator.hxx
src/NMTDS/NMTDS_IteratorCheckerSI.cxx
src/NMTDS/NMTDS_ListIteratorOfListOfPair.hxx [new file with mode: 0644]
src/NMTDS/NMTDS_ListIteratorOfListOfPairBoolean.hxx [new file with mode: 0644]
src/NMTDS/NMTDS_ListIteratorOfListOfPairBoolean_0.cxx [new file with mode: 0644]
src/NMTDS/NMTDS_ListIteratorOfListOfPair_0.cxx [new file with mode: 0644]
src/NMTDS/NMTDS_ListNodeOfListOfPair.hxx [new file with mode: 0644]
src/NMTDS/NMTDS_ListNodeOfListOfPairBoolean.hxx [new file with mode: 0644]
src/NMTDS/NMTDS_ListNodeOfListOfPairBoolean_0.cxx [new file with mode: 0644]
src/NMTDS/NMTDS_ListNodeOfListOfPair_0.cxx [new file with mode: 0644]
src/NMTDS/NMTDS_ListOfPair.hxx [new file with mode: 0644]
src/NMTDS/NMTDS_ListOfPairBoolean.hxx [new file with mode: 0644]
src/NMTDS/NMTDS_ListOfPairBoolean_0.cxx [new file with mode: 0644]
src/NMTDS/NMTDS_ListOfPair_0.cxx [new file with mode: 0644]
src/NMTDS/NMTDS_MapIteratorOfMapOfPairBoolean.hxx [new file with mode: 0644]
src/NMTDS/NMTDS_MapIteratorOfMapOfPairBoolean_0.cxx [new file with mode: 0644]
src/NMTDS/NMTDS_MapOfPairBoolean.hxx [new file with mode: 0644]
src/NMTDS/NMTDS_MapOfPairBoolean_0.cxx [new file with mode: 0644]
src/NMTDS/NMTDS_Pair.cdl [new file with mode: 0644]
src/NMTDS/NMTDS_Pair.cxx [new file with mode: 0644]
src/NMTDS/NMTDS_Pair.hxx [new file with mode: 0644]
src/NMTDS/NMTDS_Pair.ixx [new file with mode: 0644]
src/NMTDS/NMTDS_Pair.jxx [new file with mode: 0644]
src/NMTDS/NMTDS_PairBoolean.cdl [new file with mode: 0644]
src/NMTDS/NMTDS_PairBoolean.cxx [new file with mode: 0644]
src/NMTDS/NMTDS_PairBoolean.hxx [new file with mode: 0644]
src/NMTDS/NMTDS_PairBoolean.ixx [new file with mode: 0644]
src/NMTDS/NMTDS_PairBoolean.jxx [new file with mode: 0644]
src/NMTDS/NMTDS_PairMapHasher.cdl [new file with mode: 0644]
src/NMTDS/NMTDS_PairMapHasher.cxx [new file with mode: 0644]
src/NMTDS/NMTDS_PairMapHasher.hxx [new file with mode: 0644]
src/NMTDS/NMTDS_PairMapHasher.ixx [new file with mode: 0644]
src/NMTDS/NMTDS_PairMapHasher.jxx [new file with mode: 0644]
src/NMTDS/NMTDS_ShapesDataStructure.cdl
src/NMTDS/NMTDS_ShapesDataStructure.cxx
src/NMTDS/NMTDS_ShapesDataStructure.hxx
src/NMTDS/NMTDS_StdMapNodeOfMapOfPairBoolean.hxx [new file with mode: 0644]
src/NMTDS/NMTDS_StdMapNodeOfMapOfPairBoolean_0.cxx [new file with mode: 0644]
src/NMTTools/NMTTools_PaveFiller.cdl
src/NMTTools/NMTTools_PaveFiller.cxx
src/NMTTools/NMTTools_PaveFiller.hxx
src/NMTTools/NMTTools_PaveFiller_7.cxx

index e0ded7c48c1d1951e5b0d955beb9d05a8f3236a9..9818ad60e6e17a43db8fc481608300c19a550c8e 100755 (executable)
@@ -19,7 +19,6 @@
 //
 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
-
 // File:        GEOMAlgo_Builder_2.cxx
 // Author:      Peter KURNEV
 
@@ -107,7 +106,7 @@ static
 //function : FillImagesFaces
 //purpose  :
 //=======================================================================
-  void GEOMAlgo_Builder::FillImagesFaces()
+void GEOMAlgo_Builder::FillImagesFaces()
 {
   myErrorStatus=0;
   //
@@ -122,7 +121,7 @@ static
 // function: FillIn2DParts
 // purpose:
 //=======================================================================
-  void GEOMAlgo_Builder::FillIn2DParts()
+void GEOMAlgo_Builder::FillIn2DParts()
 {
   const NMTDS_ShapesDataStructure& aDS=*myPaveFiller->DS();
   NMTTools_PaveFiller* pPF=myPaveFiller;
@@ -155,7 +154,6 @@ static
     aLSpIn.Clear();
     //
     // 1. In Parts
-    //modified by NIZNHY-PKV Fri Oct 14 13:58:00 2011f 
     BOPTools_ListOfPaveBlock aLPBIn;
     //
     pPF->RealSplitsInFace(nF, aLPBIn);
@@ -167,24 +165,6 @@ static
       const TopoDS_Shape& aSpIn=aDS.Shape(nSpIn);
       aLSpIn.Append(aSpIn);
     }
-    /*
-    for (j=1; j<=aNbCBP; ++j) {
-      NMTTools_ListOfCommonBlock& aLCB=aCBP(j);
-      aItCB.Initialize(aLCB);
-      for (; aItCB.More(); aItCB.Next()) {
-        NMTTools_CommonBlock& aCB=aItCB.Value();
-        if (aCB.IsPaveBlockOnFace(nF)) {
-          const BOPTools_PaveBlock& aPB1=aCB.PaveBlock1();
-          nSpIn=aPB1.Edge();
-          const TopoDS_Shape& aSpIn=aDS.Shape(nSpIn);
-          if (aMFence.Add(aSpIn)){
-            aLSpIn.Append(aSpIn);
-          }
-        }
-      }
-    }
-    */
-    //modified by NIZNHY-PKV Fri Oct 14 13:58:08 2011t
     //
     // 2. Section Parts
     for (j=1; j<=aNbFFs; ++j) {
@@ -222,7 +202,7 @@ static
 // function: BuildSplitFaces
 // purpose:
 //=======================================================================
-  void GEOMAlgo_Builder::BuildSplitFaces()
+void GEOMAlgo_Builder::BuildSplitFaces()
 {
   const NMTDS_ShapesDataStructure& aDS=*myPaveFiller->DS();
   NMTTools_PaveFiller* pPF=myPaveFiller;
@@ -426,7 +406,7 @@ static
 // function: FillSameDomainFaces
 // purpose:
 //=======================================================================
-  void GEOMAlgo_Builder::FillSameDomainFaces()
+void GEOMAlgo_Builder::FillSameDomainFaces()
 {
   Standard_Boolean bIsSDF, bHasImage1, bHasImage2, bForward;
   Standard_Integer i, j, aNbFF, nF1, nF2, aNbPBInOn, aNbC, aNbSE;
@@ -603,7 +583,6 @@ static
   //
   NMTTools_Tools::FindChains(aLCS, aMC); 
   //
-  //modified by NIZNHY-PKV Wed Oct 12 13:33:59 2011f
   Standard_Boolean bIsImage;
   Standard_Integer aIx, aIxMin, aNbMSDF, k, aNbMFj;
   TopoDS_Shape aFOld, aFSDmin;
@@ -624,15 +603,12 @@ static
     }
   }
   //
-  //modified by NIZNHY-PKV Wed Oct 12 13:34:01 2011t
-  //
   // 3. Fill the map of SDF mySameDomainFaces
   aNbC=aMC.Extent();
   for (i=1; i<=aNbC; ++i) {
    // const TopoDS_Shape& aF=aMC.FindKey(i);
     const TopTools_IndexedMapOfShape& aMSDF=aMC(i);
     //
-    //modified by NIZNHY-PKV Wed Oct 12 13:25:16 2011f
     aNbMSDF=aMSDF.Extent();
     for (j=1; j<=aNbMSDF; ++j) {
       const TopoDS_Shape& aFSD=aMSDF(j);
@@ -660,14 +636,6 @@ static
       const TopoDS_Shape& aFSD=aMSDF(j);
       mySameDomainShapes.Add(aFSD, aFSDmin);
     }
-    /*
-    aNbFF=aMSDF.Extent();
-    for (j=1; j<=aNbFF; ++j) {
-      const TopoDS_Shape& aFSD=aMSDF(j);
-      mySameDomainShapes.Add(aFSD, aF);
-    }
-    */
-    //modified by NIZNHY-PKV Wed Oct 12 13:25:18 2011t
   }
   //
 }
@@ -676,7 +644,7 @@ static
 // function: FillImagesFaces1
 // purpose:
 //=======================================================================
-  void GEOMAlgo_Builder::FillImagesFaces1()
+void GEOMAlgo_Builder::FillImagesFaces1()
 {
   Standard_Integer i, aNb, iSense, aNbLFx;
   TopoDS_Face aF, aFSp, aFSD;
@@ -734,14 +702,13 @@ static
 // function: FillInternalVertices
 // purpose:
 //=======================================================================
-  void GEOMAlgo_Builder::FillInternalVertices()
+void GEOMAlgo_Builder::FillInternalVertices()
 {
   const NMTDS_ShapesDataStructure& aDS=*myPaveFiller->DS();
   NMTTools_PaveFiller* pPF=myPaveFiller;
   NMTDS_InterfPool* pIP=pPF->IP();
   IntTools_Context& aCtx= pPF->ChangeContext();
   //
-  /*BOPTools_CArray1OfSSInterference& aFFs=*/pIP->SSInterferences();
   BOPTools_CArray1OfVSInterference& aVFs=pIP->VSInterferences();
   BOPTools_CArray1OfESInterference& aEFs=pIP->ESInterferences();
   const NMTTools_IndexedDataMapOfIndexedMapOfInteger& aMAV=pPF->AloneVertices();
index 4a24fd2c452f5c622f3010aa91ee01ff12687e8e..5007e4835c47a0388685d2f6fb4f7e84bb773b58 100644 (file)
 #include <NMTDS_Tools.hxx>
 #include <NMTDS_InterfPool.hxx>
 #include <NMTDS_PInterfPool.hxx>
-#include <NMTDS_PassKeyBoolean.hxx>
+//#include <NMTDS_PassKeyBoolean.hxx>
+#include <NMTDS_PairBoolean.hxx>
 #include <NMTDS_ShapesDataStructure.hxx>
-#include <NMTDS_ListIteratorOfListOfPassKeyBoolean.hxx>
+//#include <NMTDS_ListIteratorOfListOfPassKeyBoolean.hxx>
+#include <NMTDS_ListIteratorOfListOfPairBoolean.hxx>
 
 #include <Basics_OCCTVersion.hxx>
 
@@ -1376,14 +1378,17 @@ bool GEOMImpl_IMeasureOperations::CheckSelfIntersections
 
   // 3. Get the pairs of interfered shapes 
   NMTDS_PInterfPool pIP = aCSI.IP();
-  const NMTDS_ListOfPassKeyBoolean& aLPKB = pIP->Get();
+  //const NMTDS_ListOfPassKeyBoolean& aLPKB = pIP->Get();
+  const NMTDS_ListOfPairBoolean& aLPKB = pIP->Get();
 
   Standard_Integer n1, n2;
-  NMTDS_ListIteratorOfListOfPassKeyBoolean aIt;
+  //NMTDS_ListIteratorOfListOfPassKeyBoolean aIt;
+  NMTDS_ListIteratorOfListOfPairBoolean aIt;
 
   aIt.Initialize(aLPKB);
   for (; aIt.More(); aIt.Next()) {
-    const NMTDS_PassKeyBoolean& aPKB = aIt.Value();
+    //const NMTDS_PassKeyBoolean& aPKB = aIt.Value();
+    const NMTDS_PairBoolean& aPKB = aIt.Value();
     aPKB.Ids(n1, n2);
 
     if (n1 > aNbS || n2 > aNbS)
diff --git a/src/NMTDS/Handle_NMTDS_ListNodeOfListOfPair.hxx b/src/NMTDS/Handle_NMTDS_ListNodeOfListOfPair.hxx
new file mode 100644 (file)
index 0000000..39d49e5
--- /dev/null
@@ -0,0 +1,43 @@
+// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _Handle_NMTDS_ListNodeOfListOfPair_HeaderFile\r
+#define _Handle_NMTDS_ListNodeOfListOfPair_HeaderFile\r
+\r
+#ifndef _Standard_HeaderFile\r
+#include <Standard.hxx>\r
+#endif\r
+#ifndef _Standard_DefineHandle_HeaderFile\r
+#include <Standard_DefineHandle.hxx>\r
+#endif\r
+\r
+#ifndef _Handle_TCollection_MapNode_HeaderFile\r
+#include <Handle_TCollection_MapNode.hxx>\r
+#endif\r
+\r
+class Standard_Transient;\r
+class Handle(Standard_Type);\r
+class Handle(TCollection_MapNode);\r
+class NMTDS_ListNodeOfListOfPair;\r
+\r
+DEFINE_STANDARD_HANDLE(NMTDS_ListNodeOfListOfPair,TCollection_MapNode)\r
+\r
+#endif\r
diff --git a/src/NMTDS/Handle_NMTDS_ListNodeOfListOfPairBoolean.hxx b/src/NMTDS/Handle_NMTDS_ListNodeOfListOfPairBoolean.hxx
new file mode 100644 (file)
index 0000000..bf40253
--- /dev/null
@@ -0,0 +1,43 @@
+// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _Handle_NMTDS_ListNodeOfListOfPairBoolean_HeaderFile\r
+#define _Handle_NMTDS_ListNodeOfListOfPairBoolean_HeaderFile\r
+\r
+#ifndef _Standard_HeaderFile\r
+#include <Standard.hxx>\r
+#endif\r
+#ifndef _Standard_DefineHandle_HeaderFile\r
+#include <Standard_DefineHandle.hxx>\r
+#endif\r
+\r
+#ifndef _Handle_TCollection_MapNode_HeaderFile\r
+#include <Handle_TCollection_MapNode.hxx>\r
+#endif\r
+\r
+class Standard_Transient;\r
+class Handle(Standard_Type);\r
+class Handle(TCollection_MapNode);\r
+class NMTDS_ListNodeOfListOfPairBoolean;\r
+\r
+DEFINE_STANDARD_HANDLE(NMTDS_ListNodeOfListOfPairBoolean,TCollection_MapNode)\r
+\r
+#endif\r
diff --git a/src/NMTDS/Handle_NMTDS_StdMapNodeOfMapOfPairBoolean.hxx b/src/NMTDS/Handle_NMTDS_StdMapNodeOfMapOfPairBoolean.hxx
new file mode 100644 (file)
index 0000000..84112e2
--- /dev/null
@@ -0,0 +1,43 @@
+// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _Handle_NMTDS_StdMapNodeOfMapOfPairBoolean_HeaderFile\r
+#define _Handle_NMTDS_StdMapNodeOfMapOfPairBoolean_HeaderFile\r
+\r
+#ifndef _Standard_HeaderFile\r
+#include <Standard.hxx>\r
+#endif\r
+#ifndef _Standard_DefineHandle_HeaderFile\r
+#include <Standard_DefineHandle.hxx>\r
+#endif\r
+\r
+#ifndef _Handle_TCollection_MapNode_HeaderFile\r
+#include <Handle_TCollection_MapNode.hxx>\r
+#endif\r
+\r
+class Standard_Transient;\r
+class Handle(Standard_Type);\r
+class Handle(TCollection_MapNode);\r
+class NMTDS_StdMapNodeOfMapOfPairBoolean;\r
+\r
+DEFINE_STANDARD_HANDLE(NMTDS_StdMapNodeOfMapOfPairBoolean,TCollection_MapNode)\r
+\r
+#endif\r
index d18b37a1a736d5fed58a18ec856e51293cda7c8c..ecef7e0502a75ded3f3e5c3a75a7a6f43df40ce9 100644 (file)
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 #
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-#
 
 #  GEOM NMTAlgo : partition algorithm
 #  File   : Makefile.in
 #  Author : Julia DOROVSKIKH
 #  Modified by : Alexander BORODIN (OCN) - autotools usage
 #  Module : GEOM
-#  $Header$
-#
+
 include $(top_srcdir)/adm_local/unix/make_common_starter.am
 
 # header files 
@@ -33,6 +31,9 @@ salomeinclude_HEADERS = \
        Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape.hxx \
        Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox.hxx \
        Handle_NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors.hxx \
+       Handle_NMTDS_ListNodeOfListOfPair.hxx \
+       Handle_NMTDS_ListNodeOfListOfPairBoolean.hxx \
+       Handle_NMTDS_StdMapNodeOfMapOfPairBoolean.hxx \
        Handle_NMTDS_ListNodeOfListOfPassKeyBoolean.hxx \
        Handle_NMTDS_ListNodeOfListOfPassKey.hxx \
        Handle_NMTDS_StdMapNodeOfMapOfPassKeyBoolean.hxx \
@@ -64,6 +65,24 @@ salomeinclude_HEADERS = \
        NMTDS_IteratorCheckerSI.ixx \
        NMTDS_IteratorCheckerSI.jxx \
        NMTDS_ListIteratorOfListOfIndexedDataMapOfShapeAncestorsSuccessors.hxx \
+       NMTDS_ListIteratorOfListOfPair.hxx \
+       NMTDS_ListIteratorOfListOfPairBoolean.hxx \
+       NMTDS_ListNodeOfListOfPair.hxx \
+       NMTDS_ListNodeOfListOfPairBoolean.hxx \
+       NMTDS_ListOfPair.hxx \
+       NMTDS_ListOfPairBoolean.hxx \
+       NMTDS_MapIteratorOfMapOfPairBoolean.hxx \
+       NMTDS_MapOfPairBoolean.hxx \
+       NMTDS_Pair.hxx \
+       NMTDS_Pair.ixx \
+       NMTDS_Pair.jxx \
+       NMTDS_PairBoolean.hxx \
+       NMTDS_PairBoolean.ixx \
+       NMTDS_PairBoolean.jxx \
+       NMTDS_PairMapHasher.hxx \
+       NMTDS_PairMapHasher.ixx \
+       NMTDS_PairMapHasher.jxx \
+       NMTDS_StdMapNodeOfMapOfPairBoolean.hxx \
        NMTDS_ListIteratorOfListOfPassKeyBoolean.hxx \
        NMTDS_ListIteratorOfListOfPassKey.hxx \
        NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors.hxx \
@@ -130,6 +149,18 @@ dist_libNMTDS_la_SOURCES = \
        NMTDS_Iterator.cxx \
        NMTDS_IteratorCheckerSI.cxx \
        NMTDS_ListIteratorOfListOfIndexedDataMapOfShapeAncestorsSuccessors_0.cxx  \
+       NMTDS_ListIteratorOfListOfPairBoolean_0.cxx \
+       NMTDS_ListIteratorOfListOfPair_0.cxx \
+       NMTDS_ListNodeOfListOfPairBoolean_0.cxx \
+       NMTDS_ListNodeOfListOfPair_0.cxx \
+       NMTDS_ListOfPairBoolean_0.cxx \
+       NMTDS_ListOfPair_0.cxx \
+       NMTDS_MapIteratorOfMapOfPairBoolean_0.cxx \
+       NMTDS_MapOfPairBoolean_0.cxx \
+       NMTDS_Pair.cxx \
+       NMTDS_PairBoolean.cxx \
+       NMTDS_PairMapHasher.cxx \
+       NMTDS_StdMapNodeOfMapOfPairBoolean_0.cxx \
        NMTDS_ListIteratorOfListOfPassKey_0.cxx  \
        NMTDS_ListIteratorOfListOfPassKeyBoolean_0.cxx \
        NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors_0.cxx \
@@ -173,6 +204,9 @@ CDL_FILES =                         \
        NMTDS_InterfPool.cdl            \
        NMTDS_Iterator.cdl              \
        NMTDS_IteratorCheckerSI.cdl     \
+       NMTDS_Pair.cdl                  \
+       NMTDS_PairBoolean.cdl           \
+       NMTDS_PairMapHasher.cdl         \
        NMTDS_PassKey.cdl               \
        NMTDS_PassKeyBoolean.cdl        \
        NMTDS_PassKeyMapHasher.cdl      \
index b8f92d8d4c6660ef4edd766e214192ba57229395..8e678d40563656cc0eee0d40e5cd9c27793ef5f4 100644 (file)
@@ -64,9 +64,12 @@ is
     class IteratorCheckerSI; 
     class Tools; 
     class InterfPool; 
-    --modified by NIZNHY-PKV Thu Jan 21 09:46:48 2010f 
-    class BndSphere;
-    --modified by NIZNHY-PKV Thu Jan 21 09:46:53 2010t 
+    class BndSphere; 
+    --modified by NIZNHY-PKV Mon Dec 12 08:39:27 2011f 
+    class Pair; 
+    class PairBoolean;  
+    class PairMapHasher;
+    --modified by NIZNHY-PKV Mon Dec 12 08:39:30 2011t
     --     
     pointer PShapesDataStructure to ShapesDataStructure from NMTDS;
     pointer PIterator to Iterator from NMTDS;
@@ -78,11 +81,6 @@ is
     class ListOfIndexedDataMapOfShapeAncestorsSuccessors instantiates 
        List from TCollection(IndexedDataMapOfShapeAncestorsSuccessors from BooleanOperations); 
         
-    class IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger instantiates 
-       IndexedDataMap from TCollection(Integer        from Standard, 
-                                       IndexedDataMapOfShapeInteger from BooleanOperations, 
-                                       MapIntegerHasher from TColStd); 
-    
     class ListOfPassKey  instantiates 
        List from TCollection(PassKey from NMTDS);  
      
@@ -111,11 +109,28 @@ is
                                                         MapOfInteger from TColStd, 
                                                         MapIntegerHasher from TColStd); 
     
-    --modified by NIZNHY-PKV Thu Jan 21 09:47:13 2010f 
+   
     class IndexedDataMapOfShapeBndSphere  
        instantiates IndexedDataMap from TCollection(Shape from TopoDS,
                                                     BndSphere from NMTDS,
                                                     ShapeMapHasher from TopTools);
-    --modified by NIZNHY-PKV Thu Jan 21 09:47:26 2010 
-    
+     
+    --modified by NIZNHY-PKV Mon Dec 12 08:41:50 2011f
+    class ListOfPair  instantiates 
+       List from TCollection(Pair from NMTDS);   
+        
+    class ListOfPairBoolean  instantiates 
+       List from TCollection(PairBoolean from NMTDS);  
+     
+    class MapOfPairBoolean instantiates
+       Map from TCollection(PairBoolean from NMTDS, 
+                            PairMapHasher from NMTDS); 
+--    class IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger instantiates 
+--     IndexedDataMap from TCollection(Integer        from Standard, 
+--                                     IndexedDataMapOfShapeInteger from BooleanOperations, 
+--                                     MapIntegerHasher from TColStd);  
+    --modified by NIZNHY-PKV Mon Dec 12 08:41:54 2011t
+  
+
 end NMTDS;
index ec76fe8ac97903c5015757ee7280bb302cc60387..1883570530fc56e58f9321ab6f93e1b709120e46 100644 (file)
@@ -18,7 +18,7 @@
 --
 
 --  File:      NMTDS_InterfPool.cdl
---  Created:   Wed Feb 21 10:10:58 2007
+--  Created:
 --  Author:    Peter KURNEV
 --
 class InterfPool from NMTDS 
@@ -26,9 +26,9 @@ class InterfPool from NMTDS
        ---Purpose: 
 
 uses
-    MapOfPassKeyBoolean  from NMTDS, 
-    ListOfPassKeyBoolean from NMTDS, 
-    PassKeyBoolean       from NMTDS,
+    MapOfPairBoolean  from NMTDS, 
+    ListOfPairBoolean from NMTDS, 
+    PairBoolean       from NMTDS,
     InterfType           from NMTDS, 
     --     
     CArray1OfSSInterference from BOPTools,
@@ -47,7 +47,7 @@ is
 
  
     Add (me:out;   
-           aPKB : PassKeyBoolean from NMTDS;
+           aPKB : PairBoolean from NMTDS;
             aType: InterfType from NMTDS) 
        returns Boolean from Standard; 
        
@@ -65,7 +65,7 @@ is
        returns Boolean from Standard;
 
     Contains(me; 
-           aPKB : PassKeyBoolean from NMTDS)
+           aPKB : PairBoolean from NMTDS)
        returns Boolean from Standard; 
      
     Contains(me; 
@@ -74,23 +74,23 @@ is
        returns Boolean from Standard; 
      
     Get(me) 
-       returns ListOfPassKeyBoolean from NMTDS; 
+       returns ListOfPairBoolean from NMTDS; 
     ---C++: return const &       
 
     Get(me; 
            aType : InterfType from NMTDS) 
-       returns ListOfPassKeyBoolean from NMTDS; 
+       returns ListOfPairBoolean from NMTDS; 
     ---C++: return const &      
 
     Get(me; 
            aInd : Integer from Standard) 
-       returns ListOfPassKeyBoolean from NMTDS; 
+       returns ListOfPairBoolean from NMTDS; 
     ---C++: return const & 
       
     Get(me; 
            aInd : Integer from Standard; 
            aType: InterfType from NMTDS) 
-       returns ListOfPassKeyBoolean from NMTDS; 
+       returns ListOfPairBoolean from NMTDS; 
     ---C++: return const &  
     
     -- 
@@ -132,10 +132,12 @@ is
        ---Purpose: 
        --- Returns the reference to arrray Of  V/V interferences 
        ---
-
+    --modified by NIZNHY-PKV Mon Dec 12 09:07:13 2011f
+    Purge(me:out) ; 
+    --modified by NIZNHY-PKV Mon Dec 12 09:07:16 2011t 
 fields 
-    myTable : MapOfPassKeyBoolean from NMTDS [6] is protected; 
-    myList  : ListOfPassKeyBoolean from NMTDS is protected;
+    myTable : MapOfPairBoolean from NMTDS [6] is protected; 
+    myList  : ListOfPairBoolean from NMTDS is protected;
     myMaxInd: Integer from Standard is protected; 
     -- 
     mySSInterferences  :  CArray1OfSSInterference from BOPTools is protected;
index 8881ebb5920976d79e76e086965687f8c33e6534..a4b6132dfb355b2e75eb9b2bc17370f5c750e20f 100644 (file)
 // 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_.InterfPoolcxx
-// Created:     Wed Feb 21 10:35:35 2007
+// File:        NMTDS_InterfPool.cxx
 // Author:      Peter KURNEV
-//              <pkv@irinox>
-//
+
 #include <NMTDS_InterfPool.ixx>
-#include <NMTDS_PassKeyBoolean.hxx>
-#include <NMTDS_ListOfPassKeyBoolean.hxx>
-#include <NMTDS_MapIteratorOfMapOfPassKeyBoolean.hxx>
-#include <NMTDS_ListIteratorOfListOfPassKeyBoolean.hxx>
+
+#include <NMTDS_PairBoolean.hxx>
+#include <NMTDS_ListOfPairBoolean.hxx>
+#include <NMTDS_MapIteratorOfMapOfPairBoolean.hxx>
+#include <NMTDS_ListIteratorOfListOfPairBoolean.hxx>
+
+#include <Basics_OCCTVersion.hxx>
 
 static
   Standard_Integer TypeToInteger(const NMTDS_InterfType aType);
@@ -35,7 +35,7 @@ static
 //function : 
 //purpose  : 
 //=======================================================================
-  NMTDS_InterfPool::NMTDS_InterfPool()
+NMTDS_InterfPool::NMTDS_InterfPool()
 {
   myMaxInd=6;
 }
@@ -50,8 +50,8 @@ static
 //function : Add
 //purpose  : 
 //=======================================================================
-  Standard_Boolean NMTDS_InterfPool::Add (const NMTDS_PassKeyBoolean& aPKB,
-                                          const NMTDS_InterfType aType)
+Standard_Boolean NMTDS_InterfPool::Add (const NMTDS_PairBoolean& aPKB,
+                                       const NMTDS_InterfType aType)
 {
   Standard_Boolean bRet;
   Standard_Integer iType;
@@ -68,11 +68,11 @@ static
 //function : Add
 //purpose  : 
 //=======================================================================
-  Standard_Boolean NMTDS_InterfPool::Add (const Standard_Integer aInd1,
-                                          const Standard_Integer aInd2,
-                                          const NMTDS_InterfType aType)
+Standard_Boolean NMTDS_InterfPool::Add (const Standard_Integer aInd1,
+                                       const Standard_Integer aInd2,
+                                       const NMTDS_InterfType aType)
 {
-  NMTDS_PassKeyBoolean aPKB;
+  NMTDS_PairBoolean aPKB;
   //
   aPKB.SetIds(aInd1, aInd2);
   return Add(aPKB, aType);
@@ -81,12 +81,12 @@ static
 //function : Add
 //purpose  : 
 //=======================================================================
-  Standard_Boolean NMTDS_InterfPool::Add (const Standard_Integer aInd1,
-                                          const Standard_Integer aInd2,
-                                          const Standard_Boolean bFlag,
-                                          const NMTDS_InterfType aType)
+Standard_Boolean NMTDS_InterfPool::Add (const Standard_Integer aInd1,
+                                       const Standard_Integer aInd2,
+                                       const Standard_Boolean bFlag,
+                                       const NMTDS_InterfType aType)
 {
-  NMTDS_PassKeyBoolean aPKB;
+  NMTDS_PairBoolean aPKB;
   //
   aPKB.SetIds(aInd1, aInd2);
   aPKB.SetFlag(bFlag);
@@ -96,7 +96,7 @@ static
 //function : Contains 
 //purpose  : 
 //=======================================================================
-  Standard_Boolean NMTDS_InterfPool::Contains(const NMTDS_PassKeyBoolean& aPKB)const
+Standard_Boolean NMTDS_InterfPool::Contains(const NMTDS_PairBoolean& aPKB)const
 {
   Standard_Boolean bRet;
   Standard_Integer i;
@@ -116,7 +116,7 @@ static
   Standard_Boolean NMTDS_InterfPool::Contains(const Standard_Integer aInd1,
                                               const Standard_Integer aInd2)const
 {
-  NMTDS_PassKeyBoolean aPKB;
+  NMTDS_PairBoolean aPKB;
   //
   aPKB.SetIds(aInd1, aInd2);
   return Contains(aPKB);
@@ -125,20 +125,20 @@ static
 //function :  Get
 //purpose  : 
 //=======================================================================
-  const NMTDS_ListOfPassKeyBoolean& NMTDS_InterfPool::Get()const
+const NMTDS_ListOfPairBoolean& NMTDS_InterfPool::Get()const
 {
   Standard_Integer i;
-  NMTDS_ListOfPassKeyBoolean* pL;
+  NMTDS_ListOfPairBoolean* pL;
   //
-  pL=(NMTDS_ListOfPassKeyBoolean*)&myList;
+  pL=(NMTDS_ListOfPairBoolean*)&myList;
   pL->Clear();
   //
   for (i=0; i<myMaxInd; ++i) {
-    NMTDS_MapIteratorOfMapOfPassKeyBoolean aIt;
+    NMTDS_MapIteratorOfMapOfPairBoolean aIt;
     //
     aIt.Initialize(myTable[i]);
     for(; aIt.More(); aIt.Next()) {
-      const NMTDS_PassKeyBoolean& aPKB=aIt.Key();
+      const NMTDS_PairBoolean& aPKB=aIt.Key();
       pL->Append(aPKB);
     }
   }
@@ -148,20 +148,21 @@ static
 //function :  Get
 //purpose  : 
 //=======================================================================
-  const NMTDS_ListOfPassKeyBoolean& NMTDS_InterfPool::Get(const Standard_Integer aInd)const
+const NMTDS_ListOfPairBoolean& NMTDS_InterfPool::Get
+  (const Standard_Integer aInd)const
 {
   Standard_Integer i, n1, n2;
-  NMTDS_ListOfPassKeyBoolean* pL;
+  NMTDS_ListOfPairBoolean* pL;
   //
-  pL=(NMTDS_ListOfPassKeyBoolean*)&myList;
+  pL=(NMTDS_ListOfPairBoolean*)&myList;
   pL->Clear();
   //
   for (i=0; i<myMaxInd; ++i) {
-    NMTDS_MapIteratorOfMapOfPassKeyBoolean aIt;
+    NMTDS_MapIteratorOfMapOfPairBoolean aIt;
     //
     aIt.Initialize(myTable[i]);
     for(; aIt.More(); aIt.Next()) {
-      const NMTDS_PassKeyBoolean& aPKB=aIt.Key();
+      const NMTDS_PairBoolean& aPKB=aIt.Key();
       aPKB.Ids(n1, n2);
       if(n1==aInd || n2==aInd) {
         pL->Append(aPKB);
@@ -174,21 +175,22 @@ static
 //function :  Get
 //purpose  : 
 //=======================================================================
-  const NMTDS_ListOfPassKeyBoolean& NMTDS_InterfPool::Get(const NMTDS_InterfType aType)const
+const NMTDS_ListOfPairBoolean& NMTDS_InterfPool::Get
+  (const NMTDS_InterfType aType)const
 {
   Standard_Integer iType;
-  NMTDS_ListOfPassKeyBoolean* pL;
+  NMTDS_ListOfPairBoolean* pL;
   //
-  pL=(NMTDS_ListOfPassKeyBoolean*)&myList;
+  pL=(NMTDS_ListOfPairBoolean*)&myList;
   pL->Clear();
   //
   iType=TypeToInteger(aType);
   if (iType>-1 && iType<myMaxInd) {
-    NMTDS_MapIteratorOfMapOfPassKeyBoolean aIt;
+    NMTDS_MapIteratorOfMapOfPairBoolean aIt;
     //
     aIt.Initialize(myTable[iType]);
     for(; aIt.More(); aIt.Next()) {
-      const NMTDS_PassKeyBoolean& aPKB=aIt.Key();
+      const NMTDS_PairBoolean& aPKB=aIt.Key();
       pL->Append(aPKB);
     }
   }
@@ -198,21 +200,22 @@ static
 //function :  Get
 //purpose  : 
 //=======================================================================
-  const NMTDS_ListOfPassKeyBoolean& NMTDS_InterfPool::Get(const Standard_Integer aInd,
-                                                          const NMTDS_InterfType aType)const
+const NMTDS_ListOfPairBoolean& NMTDS_InterfPool::Get
+  (const Standard_Integer aInd,
+   const NMTDS_InterfType aType)const
 {
   Standard_Integer n1, n2;
-  NMTDS_ListOfPassKeyBoolean *pL, aLPKB;
-  NMTDS_ListIteratorOfListOfPassKeyBoolean aIt;
+  NMTDS_ListOfPairBoolean *pL, aLPKB;
+  NMTDS_ListIteratorOfListOfPairBoolean aIt;
   //
   aLPKB=Get(aType);
   //
-  pL=(NMTDS_ListOfPassKeyBoolean*)&myList;
+  pL=(NMTDS_ListOfPairBoolean*)&myList;
   pL->Clear();
   //
   aIt.Initialize (aLPKB);
   for (; aIt.More(); aIt.Next()) {
-    const NMTDS_PassKeyBoolean& aPKB=aIt.Value();
+    const NMTDS_PairBoolean& aPKB=aIt.Value();
     aPKB.Ids(n1, n2);
     if(n1==aInd || n2==aInd) {
       pL->Append(aPKB);
@@ -225,7 +228,7 @@ static
 //function : SSInterferences
 //purpose  : 
 //===========================================================================
-  BOPTools_CArray1OfSSInterference&  NMTDS_InterfPool::SSInterferences()
+BOPTools_CArray1OfSSInterference&  NMTDS_InterfPool::SSInterferences()
 {
   return mySSInterferences;
 }
@@ -233,7 +236,7 @@ static
 //function : ESInterferences
 //purpose  : 
 //===========================================================================
-  BOPTools_CArray1OfESInterference&  NMTDS_InterfPool::ESInterferences()
+BOPTools_CArray1OfESInterference&  NMTDS_InterfPool::ESInterferences()
 {
   return myESInterferences;
 }
@@ -241,7 +244,7 @@ static
 //function : VSInterferences
 //purpose  : 
 //===========================================================================
-  BOPTools_CArray1OfVSInterference&  NMTDS_InterfPool::VSInterferences()
+BOPTools_CArray1OfVSInterference&  NMTDS_InterfPool::VSInterferences()
 {
   return myVSInterferences;
 }
@@ -249,7 +252,7 @@ static
 //function : EEInterferences
 //purpose  : 
 //===========================================================================
-  BOPTools_CArray1OfEEInterference&  NMTDS_InterfPool::EEInterferences()
+BOPTools_CArray1OfEEInterference&  NMTDS_InterfPool::EEInterferences()
 {
   return myEEInterferences;
 }
@@ -257,7 +260,7 @@ static
 //function : VEInterferences
 //purpose  : 
 //===========================================================================
-  BOPTools_CArray1OfVEInterference&  NMTDS_InterfPool::VEInterferences()
+BOPTools_CArray1OfVEInterference&  NMTDS_InterfPool::VEInterferences()
 {
   return myVEInterferences;
 }
@@ -265,11 +268,29 @@ static
 //function : VVInterferences
 //purpose  : 
 //===========================================================================
-  BOPTools_CArray1OfVVInterference&  NMTDS_InterfPool::VVInterferences()
+BOPTools_CArray1OfVVInterference&  NMTDS_InterfPool::VVInterferences()
 {
   return myVVInterferences;
 }
-////////////////////
+
+//modified by NIZNHY-PKV Mon Dec 12 09:07:54 2011f
+//=======================================================================
+//function : Purge
+//purpose  : 
+//=======================================================================
+void NMTDS_InterfPool::Purge()
+{
+#if OCC_VERSION_LARGE > 0x06050200
+  myVVInterferences.Purge();
+  myVEInterferences.Purge();
+  myEEInterferences.Purge();
+  myVSInterferences.Purge();
+  myESInterferences.Purge();
+  mySSInterferences.Purge();
+#endif
+}
+//modified by NIZNHY-PKV Mon Dec 12 09:07:58 2011t
+
 //=======================================================================
 //function : TypeToInteger
 //purpose  : 
index e7e17dcde495628d685a9971dd0b7bda2496f6c5..cbb6cded62bd648cdd1339e35f3389bcf20ad812 100644 (file)
-// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE
-//
-// 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_InterfPool_HeaderFile
-#define _NMTDS_InterfPool_HeaderFile
-
-#ifndef _NMTDS_MapOfPassKeyBoolean_HeaderFile
-#include <NMTDS_MapOfPassKeyBoolean.hxx>
-#endif
-#ifndef _NMTDS_ListOfPassKeyBoolean_HeaderFile
-#include <NMTDS_ListOfPassKeyBoolean.hxx>
-#endif
-#ifndef _Standard_Integer_HeaderFile
-#include <Standard_Integer.hxx>
-#endif
-#ifndef _BOPTools_CArray1OfSSInterference_HeaderFile
-#include <BOPTools_CArray1OfSSInterference.hxx>
-#endif
-#ifndef _BOPTools_CArray1OfESInterference_HeaderFile
-#include <BOPTools_CArray1OfESInterference.hxx>
-#endif
-#ifndef _BOPTools_CArray1OfVSInterference_HeaderFile
-#include <BOPTools_CArray1OfVSInterference.hxx>
-#endif
-#ifndef _BOPTools_CArray1OfEEInterference_HeaderFile
-#include <BOPTools_CArray1OfEEInterference.hxx>
-#endif
-#ifndef _BOPTools_CArray1OfVEInterference_HeaderFile
-#include <BOPTools_CArray1OfVEInterference.hxx>
-#endif
-#ifndef _BOPTools_CArray1OfVVInterference_HeaderFile
-#include <BOPTools_CArray1OfVVInterference.hxx>
-#endif
-#ifndef _Standard_Boolean_HeaderFile
-#include <Standard_Boolean.hxx>
-#endif
-#ifndef _NMTDS_InterfType_HeaderFile
-#include <NMTDS_InterfType.hxx>
-#endif
-class NMTDS_PassKeyBoolean;
-class NMTDS_ListOfPassKeyBoolean;
-class BOPTools_CArray1OfSSInterference;
-class BOPTools_CArray1OfESInterference;
-class BOPTools_CArray1OfVSInterference;
-class BOPTools_CArray1OfEEInterference;
-class BOPTools_CArray1OfVEInterference;
-class BOPTools_CArray1OfVVInterference;
-
-
-#ifndef _Standard_HeaderFile
-#include <Standard.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-
-
-class NMTDS_InterfPool  {
-
-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_InterfPool();
-Standard_EXPORT virtual ~NMTDS_InterfPool();
-
-
-Standard_EXPORT   Standard_Boolean Add(const NMTDS_PassKeyBoolean& aPKB,const NMTDS_InterfType aType) ;
-
-
-Standard_EXPORT   Standard_Boolean Add(const Standard_Integer aInd1,const Standard_Integer aInd2,const NMTDS_InterfType aType) ;
-
-
-Standard_EXPORT   Standard_Boolean Add(const Standard_Integer aInd1,const Standard_Integer aInd2,const Standard_Boolean bFlag,const NMTDS_InterfType aType) ;
-
-
-Standard_EXPORT   Standard_Boolean Contains(const NMTDS_PassKeyBoolean& aPKB) const;
-
-
-Standard_EXPORT   Standard_Boolean Contains(const Standard_Integer aInd1,const Standard_Integer aInd2) const;
-
-
-Standard_EXPORT  const NMTDS_ListOfPassKeyBoolean& Get() const;
-
-
-Standard_EXPORT  const NMTDS_ListOfPassKeyBoolean& Get(const NMTDS_InterfType aType) const;
-
-
-Standard_EXPORT  const NMTDS_ListOfPassKeyBoolean& Get(const Standard_Integer aInd) const;
-
-
-Standard_EXPORT  const NMTDS_ListOfPassKeyBoolean& Get(const Standard_Integer aInd,const NMTDS_InterfType aType) const;
-
-
-//! Returns the reference to array Of F/F interferences <br>
-Standard_EXPORT   BOPTools_CArray1OfSSInterference& SSInterferences() ;
-
-
-//! Returns the reference to array Of E/F interferences <br>
-Standard_EXPORT   BOPTools_CArray1OfESInterference& ESInterferences() ;
-
-
-//! Returns the reference to array Of V/F interferences <br>
-Standard_EXPORT   BOPTools_CArray1OfVSInterference& VSInterferences() ;
-
-
-//! Returns the reference to arrray Of E/E interferences <br>
-Standard_EXPORT   BOPTools_CArray1OfEEInterference& EEInterferences() ;
-
-
-//! Returns the reference to arrray Of  V/E interferences <br>
-Standard_EXPORT   BOPTools_CArray1OfVEInterference& VEInterferences() ;
-
-
-//! Returns the reference to arrray Of  V/V interferences <br>
-Standard_EXPORT   BOPTools_CArray1OfVVInterference& VVInterferences() ;
-
-
-
-
-
-protected:
-
- // Methods PROTECTED
- // 
-
-
- // Fields PROTECTED
- //
-NMTDS_MapOfPassKeyBoolean myTable[6];
-NMTDS_ListOfPassKeyBoolean myList;
-Standard_Integer myMaxInd;
-BOPTools_CArray1OfSSInterference mySSInterferences;
-BOPTools_CArray1OfESInterference myESInterferences;
-BOPTools_CArray1OfVSInterference myVSInterferences;
-BOPTools_CArray1OfEEInterference myEEInterferences;
-BOPTools_CArray1OfVEInterference myVEInterferences;
-BOPTools_CArray1OfVVInterference myVVInterferences;
-
-
-private: 
-
- // Methods PRIVATE
- // 
-
-
- // Fields PRIVATE
- //
-
-
-};
-
-
-
-
-
-// other Inline functions and methods (like "C++: function call" methods)
-//
-
-
-#endif
+// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_InterfPool_HeaderFile\r
+#define _NMTDS_InterfPool_HeaderFile\r
+\r
+#ifndef _Standard_HeaderFile\r
+#include <Standard.hxx>\r
+#endif\r
+#ifndef _Standard_Macro_HeaderFile\r
+#include <Standard_Macro.hxx>\r
+#endif\r
+\r
+#ifndef _NMTDS_MapOfPairBoolean_HeaderFile\r
+#include <NMTDS_MapOfPairBoolean.hxx>\r
+#endif\r
+#ifndef _NMTDS_ListOfPairBoolean_HeaderFile\r
+#include <NMTDS_ListOfPairBoolean.hxx>\r
+#endif\r
+#ifndef _Standard_Integer_HeaderFile\r
+#include <Standard_Integer.hxx>\r
+#endif\r
+#ifndef _BOPTools_CArray1OfSSInterference_HeaderFile\r
+#include <BOPTools_CArray1OfSSInterference.hxx>\r
+#endif\r
+#ifndef _BOPTools_CArray1OfESInterference_HeaderFile\r
+#include <BOPTools_CArray1OfESInterference.hxx>\r
+#endif\r
+#ifndef _BOPTools_CArray1OfVSInterference_HeaderFile\r
+#include <BOPTools_CArray1OfVSInterference.hxx>\r
+#endif\r
+#ifndef _BOPTools_CArray1OfEEInterference_HeaderFile\r
+#include <BOPTools_CArray1OfEEInterference.hxx>\r
+#endif\r
+#ifndef _BOPTools_CArray1OfVEInterference_HeaderFile\r
+#include <BOPTools_CArray1OfVEInterference.hxx>\r
+#endif\r
+#ifndef _BOPTools_CArray1OfVVInterference_HeaderFile\r
+#include <BOPTools_CArray1OfVVInterference.hxx>\r
+#endif\r
+#ifndef _Standard_Boolean_HeaderFile\r
+#include <Standard_Boolean.hxx>\r
+#endif\r
+#ifndef _NMTDS_InterfType_HeaderFile\r
+#include <NMTDS_InterfType.hxx>\r
+#endif\r
+class NMTDS_PairBoolean;\r
+class NMTDS_ListOfPairBoolean;\r
+class BOPTools_CArray1OfSSInterference;\r
+class BOPTools_CArray1OfESInterference;\r
+class BOPTools_CArray1OfVSInterference;\r
+class BOPTools_CArray1OfEEInterference;\r
+class BOPTools_CArray1OfVEInterference;\r
+class BOPTools_CArray1OfVVInterference;\r
+\r
+\r
+\r
+class NMTDS_InterfPool  {\r
+public:\r
+\r
+  void* operator new(size_t,void* anAddress) \r
+  {\r
+    return anAddress;\r
+  }\r
+  void* operator new(size_t size) \r
+  {\r
+    return Standard::Allocate(size); \r
+  }\r
+  void  operator delete(void *anAddress) \r
+  {\r
+    if (anAddress) Standard::Free((Standard_Address&)anAddress); \r
+  }\r
+\r
+  \r
+  Standard_EXPORT   NMTDS_InterfPool();\r
+Standard_EXPORT virtual ~NMTDS_InterfPool();\r
+  \r
+  Standard_EXPORT     Standard_Boolean Add(const NMTDS_PairBoolean& aPKB,const NMTDS_InterfType aType) ;\r
+  \r
+  Standard_EXPORT     Standard_Boolean Add(const Standard_Integer aInd1,const Standard_Integer aInd2,const NMTDS_InterfType aType) ;\r
+  \r
+  Standard_EXPORT     Standard_Boolean Add(const Standard_Integer aInd1,const Standard_Integer aInd2,const Standard_Boolean bFlag,const NMTDS_InterfType aType) ;\r
+  \r
+  Standard_EXPORT     Standard_Boolean Contains(const NMTDS_PairBoolean& aPKB) const;\r
+  \r
+  Standard_EXPORT     Standard_Boolean Contains(const Standard_Integer aInd1,const Standard_Integer aInd2) const;\r
+  \r
+  Standard_EXPORT    const NMTDS_ListOfPairBoolean& Get() const;\r
+  \r
+  Standard_EXPORT    const NMTDS_ListOfPairBoolean& Get(const NMTDS_InterfType aType) const;\r
+  \r
+  Standard_EXPORT    const NMTDS_ListOfPairBoolean& Get(const Standard_Integer aInd) const;\r
+  \r
+  Standard_EXPORT    const NMTDS_ListOfPairBoolean& Get(const Standard_Integer aInd,const NMTDS_InterfType aType) const;\r
+  \r
+//! Returns the reference to array Of F/F interferences <br>\r
+  Standard_EXPORT     BOPTools_CArray1OfSSInterference& SSInterferences() ;\r
+  \r
+//! Returns the reference to array Of E/F interferences <br>\r
+  Standard_EXPORT     BOPTools_CArray1OfESInterference& ESInterferences() ;\r
+  \r
+//! Returns the reference to array Of V/F interferences <br>\r
+  Standard_EXPORT     BOPTools_CArray1OfVSInterference& VSInterferences() ;\r
+  \r
+//! Returns the reference to arrray Of E/E interferences <br>\r
+  Standard_EXPORT     BOPTools_CArray1OfEEInterference& EEInterferences() ;\r
+  \r
+//! Returns the reference to arrray Of  V/E interferences <br>\r
+  Standard_EXPORT     BOPTools_CArray1OfVEInterference& VEInterferences() ;\r
+  \r
+//! Returns the reference to arrray Of  V/V interferences <br>\r
+  Standard_EXPORT     BOPTools_CArray1OfVVInterference& VVInterferences() ;\r
+  \r
+  Standard_EXPORT     void Purge() ;\r
+\r
+\r
+\r
+\r
+\r
+protected:\r
+\r
+\r
+\r
+NMTDS_MapOfPairBoolean myTable[6];\r
+NMTDS_ListOfPairBoolean myList;\r
+Standard_Integer myMaxInd;\r
+BOPTools_CArray1OfSSInterference mySSInterferences;\r
+BOPTools_CArray1OfESInterference myESInterferences;\r
+BOPTools_CArray1OfVSInterference myVSInterferences;\r
+BOPTools_CArray1OfEEInterference myEEInterferences;\r
+BOPTools_CArray1OfVEInterference myVEInterferences;\r
+BOPTools_CArray1OfVVInterference myVVInterferences;\r
+\r
+\r
+private:\r
+\r
+\r
+\r
+\r
+\r
+};\r
+\r
+\r
+\r
+\r
+\r
+// other Inline functions and methods (like "C++: function call" methods)\r
+\r
+\r
+#endif\r
index e76cdc310a2a05a9a459e58649d46b0f8fe45be6..96e12ff0a58f67ef65c6a9b0b55370c01645d99e 100644 (file)
@@ -1,46 +1,45 @@
-// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE
-//
-// 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
-#ifndef _NMTDS_ListOfPassKeyBoolean_HeaderFile
-#include <NMTDS_ListOfPassKeyBoolean.hxx>
-#endif
-#ifndef _BOPTools_CArray1OfSSInterference_HeaderFile
-#include <BOPTools_CArray1OfSSInterference.hxx>
-#endif
-#ifndef _BOPTools_CArray1OfESInterference_HeaderFile
-#include <BOPTools_CArray1OfESInterference.hxx>
-#endif
-#ifndef _BOPTools_CArray1OfVSInterference_HeaderFile
-#include <BOPTools_CArray1OfVSInterference.hxx>
-#endif
-#ifndef _BOPTools_CArray1OfEEInterference_HeaderFile
-#include <BOPTools_CArray1OfEEInterference.hxx>
-#endif
-#ifndef _BOPTools_CArray1OfVEInterference_HeaderFile
-#include <BOPTools_CArray1OfVEInterference.hxx>
-#endif
-#ifndef _BOPTools_CArray1OfVVInterference_HeaderFile
-#include <BOPTools_CArray1OfVVInterference.hxx>
-#endif
-#ifndef _NMTDS_InterfPool_HeaderFile
-#include <NMTDS_InterfPool.hxx>
-#endif
+// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_PairBoolean_HeaderFile\r
+#include <NMTDS_PairBoolean.hxx>\r
+#endif\r
+#ifndef _NMTDS_ListOfPairBoolean_HeaderFile\r
+#include <NMTDS_ListOfPairBoolean.hxx>\r
+#endif\r
+#ifndef _BOPTools_CArray1OfSSInterference_HeaderFile\r
+#include <BOPTools_CArray1OfSSInterference.hxx>\r
+#endif\r
+#ifndef _BOPTools_CArray1OfESInterference_HeaderFile\r
+#include <BOPTools_CArray1OfESInterference.hxx>\r
+#endif\r
+#ifndef _BOPTools_CArray1OfVSInterference_HeaderFile\r
+#include <BOPTools_CArray1OfVSInterference.hxx>\r
+#endif\r
+#ifndef _BOPTools_CArray1OfEEInterference_HeaderFile\r
+#include <BOPTools_CArray1OfEEInterference.hxx>\r
+#endif\r
+#ifndef _BOPTools_CArray1OfVEInterference_HeaderFile\r
+#include <BOPTools_CArray1OfVEInterference.hxx>\r
+#endif\r
+#ifndef _BOPTools_CArray1OfVVInterference_HeaderFile\r
+#include <BOPTools_CArray1OfVVInterference.hxx>\r
+#endif\r
+#ifndef _NMTDS_InterfPool_HeaderFile\r
+#include <NMTDS_InterfPool.hxx>\r
+#endif\r
index 513307d71be0785c8204b55fe7766d235ef34f85..1a836be17a02e48cdd45fdb9a1fb9bef9c28e3c2 100755 (executable)
@@ -21,7 +21,7 @@
 --
 
 --  File:      NMTDS_Iterator.cdl
---  Created:   Sun May 07 14:58:16 2006
+--  Created:   
 --  Author:    Peter KURNEV
 --
 class Iterator from NMTDS 
@@ -33,8 +33,8 @@ uses
     ShapeEnum from TopAbs, 
     ShapesDataStructure  from NMTDS,
     PShapesDataStructure from NMTDS,
-    ListOfPassKeyBoolean from NMTDS,
-    ListIteratorOfListOfPassKeyBoolean from NMTDS,
+    ListOfPairBoolean from NMTDS,  
+    ListIteratorOfListOfPairBoolean from NMTDS, 
     PassKeyBoolean from NMTDS 
     
 --raises
@@ -85,10 +85,10 @@ is
        aMVSD2:out DataMapOfIntegerListOfInteger from TColStd); 
  
 fields
-    myDS       :PShapesDataStructure from NMTDS     is protected; 
-    myLists    :ListOfPassKeyBoolean from NMTDS [6] is protected;  
-    myIterator :ListIteratorOfListOfPassKeyBoolean from NMTDS is protected; 
-    myEmptyList:ListOfPassKeyBoolean from NMTDS is protected; 
+    myDS       :PShapesDataStructure from NMTDS     is protected;  
+    myLists    :ListOfPairBoolean from NMTDS [6] is protected;  
+    myIterator :ListIteratorOfListOfPairBoolean from NMTDS is protected; 
+    myEmptyList:ListOfPairBoolean from NMTDS is protected;  
     myLength   :Integer from Standard is protected; 
     --
     myMVSD     :DataMapOfIntegerListOfInteger from TColStd is protected;     
index 9bdc79e72eb5b14e6567fa6212e7c5bdf84f52a7..3db662e57e3d0c4887bbe5fd05dd329e3549a4f6 100755 (executable)
 // 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
-//
+
 #include <NMTDS_Iterator.ixx>
 //
 #include <Bnd_Box.hxx>
@@ -47,8 +45,8 @@
 #include <NCollection_UBTreeFiller.hxx>
 #include <NMTDS_CArray1OfIndexRange.hxx>
 #include <NMTDS_IndexRange.hxx>
-#include <NMTDS_PassKeyBoolean.hxx>
-#include <NMTDS_MapOfPassKeyBoolean.hxx>
+#include <NMTDS_PairBoolean.hxx>
+#include <NMTDS_MapOfPairBoolean.hxx>
 #include <NMTDS_IndexedDataMapOfShapeBox.hxx>
 #include <NMTDS_IndexedDataMapOfIntegerShape.hxx>
 #include <NMTDS_Tools.hxx>
@@ -59,7 +57,7 @@
 //function : NMTDS_Iterator
 //purpose  : 
 //=======================================================================
-  NMTDS_Iterator::NMTDS_Iterator()
+NMTDS_Iterator::NMTDS_Iterator()
 {
   myDS=NULL; 
   myLength=0;
 //function : ~NMTDS_Iterator
 //purpose  : 
 //=======================================================================
-  NMTDS_Iterator::~NMTDS_Iterator()
+NMTDS_Iterator::~NMTDS_Iterator()
 {
 }
 //=======================================================================
 // function: SetDS
 // purpose: 
 //=======================================================================
-  void NMTDS_Iterator::SetDS(const NMTDS_PShapesDataStructure& aDS)
+void NMTDS_Iterator::SetDS(const NMTDS_PShapesDataStructure& aDS)
 {
   myDS=aDS;
 }
@@ -83,7 +81,7 @@
 // function: DS
 // purpose: 
 //=======================================================================
-  const NMTDS_ShapesDataStructure&  NMTDS_Iterator::DS()const
+const NMTDS_ShapesDataStructure&  NMTDS_Iterator::DS()const
 {
   return *myDS;
 }
@@ -91,7 +89,7 @@
 // function: ExpectedLength
 // purpose: 
 //=======================================================================
-  Standard_Integer NMTDS_Iterator::ExpectedLength() const
+Standard_Integer NMTDS_Iterator::ExpectedLength() const
 {
   return myLength;
 }
@@ -99,9 +97,9 @@
 // function: BlockLength
 // purpose: 
 //=======================================================================
-  Standard_Integer NMTDS_Iterator::BlockLength() const
+Standard_Integer NMTDS_Iterator::BlockLength() const
 {
-  Standard_Integer aNbIIs;
+  Standard_Integer aNbIIs, iTresh;
   Standard_Real aCfPredict=.5;
   
   aNbIIs=ExpectedLength();
   if (aNbIIs<=1) {
     return 1;
   }
+  //modified by NIZNHY-PKV Mon Dec 12 08:50:50 2011f
+  iTresh=1000;
+  if (aNbIIs>iTresh) {
+    aNbIIs=iTresh;
+    return aNbIIs;
+  }
+  //modified by NIZNHY-PKV Mon Dec 12 08:50:54 2011t
   //
   aNbIIs=(Standard_Integer) (aCfPredict*(Standard_Real)aNbIIs);
   return aNbIIs;
 // function: Initialize
 // purpose: 
 //=======================================================================
-  void NMTDS_Iterator::Initialize(const TopAbs_ShapeEnum aType1,
-                                  const TopAbs_ShapeEnum aType2)
+void NMTDS_Iterator::Initialize(const TopAbs_ShapeEnum aType1,
+                               const TopAbs_ShapeEnum aType2)
 {
   Standard_Integer iX;
   //
 // function: More
 // purpose: 
 //=======================================================================
-  Standard_Boolean NMTDS_Iterator::More()const
+Standard_Boolean NMTDS_Iterator::More()const
 {
   return myIterator.More();
 }
 // function: Next
 // purpose: 
 //=======================================================================
-  void NMTDS_Iterator::Next()
+void NMTDS_Iterator::Next()
 {
   myIterator.Next();
 }
 // function: Current
 // purpose: 
 //=======================================================================
-  void NMTDS_Iterator::Current(Standard_Integer& aIndex1,
-                               Standard_Integer& aIndex2,
-                               Standard_Boolean& aWithSubShape) const
+void NMTDS_Iterator::Current(Standard_Integer& aIndex1,
+                            Standard_Integer& aIndex2,
+                            Standard_Boolean& aWithSubShape) const
 {
-  const NMTDS_PassKeyBoolean& aPKB=myIterator.Value();
+  const NMTDS_PairBoolean& aPKB=myIterator.Value();
   aPKB.Ids(aIndex1, aIndex2);
   aWithSubShape=aPKB.Flag();
 }
 // function: SDVertices
 // purpose: 
 //=======================================================================
-  const TColStd_DataMapOfIntegerListOfInteger& NMTDS_Iterator::SDVertices()const
+const TColStd_DataMapOfIntegerListOfInteger& NMTDS_Iterator::SDVertices()const
 {
   return myMVSD;
 }
 // function: Prepare
 // purpose: 
 //=======================================================================
-  void NMTDS_Iterator::Prepare()
+void NMTDS_Iterator::Prepare()
 {
   Standard_Integer i;
   //
 // function: Intersect
 // purpose: 
 //=======================================================================
-  void NMTDS_Iterator::Intersect()
+void NMTDS_Iterator::Intersect()
 {
   Standard_Boolean bFlag;
   Standard_Integer aNb, i, aNbB, aNbR, iFlag;
   TColStd_DataMapIteratorOfDataMapOfIntegerListOfInteger aItVSD;
   TopTools_DataMapOfShapeInteger aMSI;
   TopAbs_ShapeEnum aTi, aTj;
-  NMTDS_PassKeyBoolean aPKXB; 
-  NMTDS_MapOfPassKeyBoolean aMPKXB;
+  NMTDS_PairBoolean aPKXB; 
+  NMTDS_MapOfPairBoolean aMPKXB;
   NMTDS_IndexedDataMapOfShapeBox aMSB;
   //
   NMTDS_BoxBndTreeSelector aSelector;
           }
         }
        //
-       //modified by NIZNHY-PKV Mon Sep 27 08:31:04 2010f
        aNbLV1=aLV1.Extent();
        if (aNbLV1) {
          aMVSD.Bind(i, aLV1);
        }
-       //aMVSD.Bind(i, aLV1);
-       //modified by NIZNHY-PKV Mon Sep 27 08:31:21 2010t
       }
     }//for (i=i1; i<=i2; ++i) {
   }//for (iR=1; iR<aNbR; ++iR) {
   //=================
   myMVSD.Clear();
   NMTDS_Iterator::FillMVSD(aMVSD, myMVSD);
+  
+  //modified by NIZNHY-PKV Mon Dec 12 09:51:29 2011f
+  aMPKXB.Clear();
+  Standard::Purge();
+  //modified by NIZNHY-PKV Mon Dec 12 09:51:33 2011t
 }
 //=======================================================================
 //function : FillMVSD
 //purpose  : 
 //=======================================================================
-  void NMTDS_Iterator::FillMVSD(const TColStd_DataMapOfIntegerListOfInteger& aMVSD,
-                                TColStd_DataMapOfIntegerListOfInteger& bMVSD)
+void NMTDS_Iterator::FillMVSD(const TColStd_DataMapOfIntegerListOfInteger& aMVSD,
+                             TColStd_DataMapOfIntegerListOfInteger& bMVSD)
 {
   Standard_Boolean bFound;
   Standard_Integer aNbVSD, iCnt, i, j, k;
index 5f4d3f034873ec8c2a9872b31202c3681eabba58..3dd7fb3f79968696d074fed79bd40e43ff0522ef 100644 (file)
-// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE
-//
-// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// 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 virtual  void Prepare() ;
-
-
-Standard_EXPORT   Standard_Integer ExpectedLength() const;
-
-
-Standard_EXPORT   Standard_Integer BlockLength() const;
-
-
-Standard_EXPORT  const TColStd_DataMapOfIntegerListOfInteger& SDVertices() const;
-
-
-Standard_EXPORT static  void FillMVSD(const TColStd_DataMapOfIntegerListOfInteger& aMVSD1,TColStd_DataMapOfIntegerListOfInteger& aMVSD2) ;
-
-
-
-
-
-protected:
-
- // Methods PROTECTED
- // 
-
-
-Standard_EXPORT virtual  void Intersect() ;
-
-
- // Fields PROTECTED
- //
-NMTDS_PShapesDataStructure myDS;
-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
+// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_Iterator_HeaderFile\r
+#define _NMTDS_Iterator_HeaderFile\r
+\r
+#ifndef _Standard_HeaderFile\r
+#include <Standard.hxx>\r
+#endif\r
+#ifndef _Standard_Macro_HeaderFile\r
+#include <Standard_Macro.hxx>\r
+#endif\r
+\r
+#ifndef _NMTDS_PShapesDataStructure_HeaderFile\r
+#include <NMTDS_PShapesDataStructure.hxx>\r
+#endif\r
+#ifndef _NMTDS_ListOfPairBoolean_HeaderFile\r
+#include <NMTDS_ListOfPairBoolean.hxx>\r
+#endif\r
+#ifndef _NMTDS_ListIteratorOfListOfPairBoolean_HeaderFile\r
+#include <NMTDS_ListIteratorOfListOfPairBoolean.hxx>\r
+#endif\r
+#ifndef _Standard_Integer_HeaderFile\r
+#include <Standard_Integer.hxx>\r
+#endif\r
+#ifndef _TColStd_DataMapOfIntegerListOfInteger_HeaderFile\r
+#include <TColStd_DataMapOfIntegerListOfInteger.hxx>\r
+#endif\r
+#ifndef _TopAbs_ShapeEnum_HeaderFile\r
+#include <TopAbs_ShapeEnum.hxx>\r
+#endif\r
+#ifndef _Standard_Boolean_HeaderFile\r
+#include <Standard_Boolean.hxx>\r
+#endif\r
+class NMTDS_ShapesDataStructure;\r
+class TColStd_DataMapOfIntegerListOfInteger;\r
+\r
+\r
+\r
+class NMTDS_Iterator  {\r
+public:\r
+\r
+  void* operator new(size_t,void* anAddress) \r
+  {\r
+    return anAddress;\r
+  }\r
+  void* operator new(size_t size) \r
+  {\r
+    return Standard::Allocate(size); \r
+  }\r
+  void  operator delete(void *anAddress) \r
+  {\r
+    if (anAddress) Standard::Free((Standard_Address&)anAddress); \r
+  }\r
+\r
+  \r
+  Standard_EXPORT   NMTDS_Iterator();\r
+Standard_EXPORT virtual ~NMTDS_Iterator();\r
+  \r
+  Standard_EXPORT     void SetDS(const NMTDS_PShapesDataStructure& pDS) ;\r
+  \r
+  Standard_EXPORT    const NMTDS_ShapesDataStructure& DS() const;\r
+  \r
+  Standard_EXPORT     void Initialize(const TopAbs_ShapeEnum aType1,const TopAbs_ShapeEnum aType2) ;\r
+  \r
+  Standard_EXPORT     Standard_Boolean More() const;\r
+  \r
+  Standard_EXPORT     void Next() ;\r
+  \r
+  Standard_EXPORT     void Current(Standard_Integer& aIndex1,Standard_Integer& aIndex2,Standard_Boolean& aWithSubShape) const;\r
+  \r
+  Standard_EXPORT   virtual  void Prepare() ;\r
+  \r
+  Standard_EXPORT     Standard_Integer ExpectedLength() const;\r
+  \r
+  Standard_EXPORT     Standard_Integer BlockLength() const;\r
+  \r
+  Standard_EXPORT    const TColStd_DataMapOfIntegerListOfInteger& SDVertices() const;\r
+  \r
+  Standard_EXPORT   static  void FillMVSD(const TColStd_DataMapOfIntegerListOfInteger& aMVSD1,TColStd_DataMapOfIntegerListOfInteger& aMVSD2) ;\r
+\r
+\r
+protected:\r
+\r
+  \r
+  Standard_EXPORT   virtual  void Intersect() ;\r
+\r
+\r
+NMTDS_PShapesDataStructure myDS;\r
+NMTDS_ListOfPairBoolean myLists[6];\r
+NMTDS_ListIteratorOfListOfPairBoolean myIterator;\r
+NMTDS_ListOfPairBoolean myEmptyList;\r
+Standard_Integer myLength;\r
+TColStd_DataMapOfIntegerListOfInteger myMVSD;\r
+\r
+\r
+private:\r
+\r
+};\r
+\r
+// other Inline functions and methods (like "C++: function call" methods)\r
+\r
+\r
+#endif\r
index 549199734415696ffb038ee6be844bed6bed5614..51ce1bb803d5980eb8686a610848d36d87f7d6c7 100644 (file)
 // 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_IteratorChecker.cxx
-// Created:     Tue Feb  6 10:37:59 2007
 // Author:      Peter KURNEV
-//
+
 #include <NMTDS_IteratorCheckerSI.ixx>
 
 #include <TopAbs_ShapeEnum.hxx>
@@ -48,8 +46,8 @@
 #include <NMTDS_ShapesDataStructure.hxx>
 #include <NMTDS_CArray1OfIndexRange.hxx>
 #include <NMTDS_IndexRange.hxx>
-#include <NMTDS_PassKeyBoolean.hxx>
-#include <NMTDS_MapOfPassKeyBoolean.hxx>
+#include <NMTDS_PairBoolean.hxx>
+#include <NMTDS_MapOfPairBoolean.hxx>
 #include <NMTDS_IndexedDataMapOfShapeBox.hxx>
 #include <NMTDS_Tools.hxx>
 
@@ -57,7 +55,7 @@
 //function : 
 //purpose  : 
 //=======================================================================
-  NMTDS_IteratorCheckerSI::NMTDS_IteratorCheckerSI()
+NMTDS_IteratorCheckerSI::NMTDS_IteratorCheckerSI()
 :
   NMTDS_Iterator()
 {
 //function : ~
 //purpose  : 
 //=======================================================================
-  NMTDS_IteratorCheckerSI::~NMTDS_IteratorCheckerSI()
+NMTDS_IteratorCheckerSI::~NMTDS_IteratorCheckerSI()
 {
 }
 //=======================================================================
 // function: Intersect
 // purpose: 
 //=======================================================================
-  void NMTDS_IteratorCheckerSI::Intersect()
+void NMTDS_IteratorCheckerSI::Intersect()
 {
   Standard_Boolean bFlag;
   Standard_Integer aNbS, i, aNbA, aNbB, iFlag;
   TColStd_DataMapIteratorOfDataMapOfIntegerListOfInteger aItVSD;
   TopTools_DataMapOfShapeInteger aMSI;
   TopAbs_ShapeEnum aTi, aTj;
-  NMTDS_PassKeyBoolean aPKXB; 
-  NMTDS_MapOfPassKeyBoolean aMPKXB;
+  NMTDS_PairBoolean aPKXB; 
+  NMTDS_MapOfPairBoolean aMPKXB;
   NMTDS_IndexedDataMapOfShapeBox aMSB;
-  NMTDS_MapOfPassKeyBoolean aMPA;//myPairsAvoid
+  NMTDS_MapOfPairBoolean aMPA;//myPairsAvoid
   //
   NMTDS_BoxBndTreeSelector aSelector;
   NMTDS_BoxBndTree aBBTree;
diff --git a/src/NMTDS/NMTDS_ListIteratorOfListOfPair.hxx b/src/NMTDS/NMTDS_ListIteratorOfListOfPair.hxx
new file mode 100644 (file)
index 0000000..cba16cd
--- /dev/null
@@ -0,0 +1,127 @@
+// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_ListIteratorOfListOfPair_HeaderFile\r
+#define _NMTDS_ListIteratorOfListOfPair_HeaderFile\r
+\r
+#ifndef _Standard_HeaderFile\r
+#include <Standard.hxx>\r
+#endif\r
+#ifndef _Standard_Macro_HeaderFile\r
+#include <Standard_Macro.hxx>\r
+#endif\r
+\r
+#ifndef _Standard_Address_HeaderFile\r
+#include <Standard_Address.hxx>\r
+#endif\r
+#ifndef _Handle_NMTDS_ListNodeOfListOfPair_HeaderFile\r
+#include <Handle_NMTDS_ListNodeOfListOfPair.hxx>\r
+#endif\r
+#ifndef _Standard_Boolean_HeaderFile\r
+#include <Standard_Boolean.hxx>\r
+#endif\r
+class Standard_NoMoreObject;\r
+class Standard_NoSuchObject;\r
+class NMTDS_ListOfPair;\r
+class NMTDS_Pair;\r
+class NMTDS_ListNodeOfListOfPair;\r
+\r
+\r
+\r
+class NMTDS_ListIteratorOfListOfPair  {\r
+public:\r
+\r
+  void* operator new(size_t,void* anAddress) \r
+  {\r
+    return anAddress;\r
+  }\r
+  void* operator new(size_t size) \r
+  {\r
+    return Standard::Allocate(size); \r
+  }\r
+  void  operator delete(void *anAddress) \r
+  {\r
+    if (anAddress) Standard::Free((Standard_Address&)anAddress); \r
+  }\r
+\r
+  \r
+  Standard_EXPORT   NMTDS_ListIteratorOfListOfPair();\r
+  \r
+  Standard_EXPORT   NMTDS_ListIteratorOfListOfPair(const NMTDS_ListOfPair& L);\r
+  \r
+  Standard_EXPORT     void Initialize(const NMTDS_ListOfPair& L) ;\r
+  \r
+        Standard_Boolean More() const;\r
+  \r
+  Standard_EXPORT     void Next() ;\r
+  \r
+  Standard_EXPORT     NMTDS_Pair& Value() const;\r
+\r
+\r
+friend class NMTDS_ListOfPair;\r
+\r
+\r
+\r
+protected:\r
+\r
+\r
+\r
+\r
+\r
+private:\r
+\r
+\r
+\r
+Standard_Address current;\r
+Standard_Address previous;\r
+\r
+\r
+};\r
+\r
+#define Item NMTDS_Pair\r
+#define Item_hxx <NMTDS_Pair.hxx>\r
+#define TCollection_ListNode NMTDS_ListNodeOfListOfPair\r
+#define TCollection_ListNode_hxx <NMTDS_ListNodeOfListOfPair.hxx>\r
+#define TCollection_ListIterator NMTDS_ListIteratorOfListOfPair\r
+#define TCollection_ListIterator_hxx <NMTDS_ListIteratorOfListOfPair.hxx>\r
+#define Handle_TCollection_ListNode Handle_NMTDS_ListNodeOfListOfPair\r
+#define TCollection_ListNode_Type_() NMTDS_ListNodeOfListOfPair_Type_()\r
+#define TCollection_List NMTDS_ListOfPair\r
+#define TCollection_List_hxx <NMTDS_ListOfPair.hxx>\r
+\r
+#include <TCollection_ListIterator.lxx>\r
+\r
+#undef Item\r
+#undef Item_hxx\r
+#undef TCollection_ListNode\r
+#undef TCollection_ListNode_hxx\r
+#undef TCollection_ListIterator\r
+#undef TCollection_ListIterator_hxx\r
+#undef Handle_TCollection_ListNode\r
+#undef TCollection_ListNode_Type_\r
+#undef TCollection_List\r
+#undef TCollection_List_hxx\r
+\r
+\r
+// other Inline functions and methods (like "C++: function call" methods)\r
+\r
+\r
+#endif\r
diff --git a/src/NMTDS/NMTDS_ListIteratorOfListOfPairBoolean.hxx b/src/NMTDS/NMTDS_ListIteratorOfListOfPairBoolean.hxx
new file mode 100644 (file)
index 0000000..97bc01b
--- /dev/null
@@ -0,0 +1,127 @@
+// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_ListIteratorOfListOfPairBoolean_HeaderFile\r
+#define _NMTDS_ListIteratorOfListOfPairBoolean_HeaderFile\r
+\r
+#ifndef _Standard_HeaderFile\r
+#include <Standard.hxx>\r
+#endif\r
+#ifndef _Standard_Macro_HeaderFile\r
+#include <Standard_Macro.hxx>\r
+#endif\r
+\r
+#ifndef _Standard_Address_HeaderFile\r
+#include <Standard_Address.hxx>\r
+#endif\r
+#ifndef _Handle_NMTDS_ListNodeOfListOfPairBoolean_HeaderFile\r
+#include <Handle_NMTDS_ListNodeOfListOfPairBoolean.hxx>\r
+#endif\r
+#ifndef _Standard_Boolean_HeaderFile\r
+#include <Standard_Boolean.hxx>\r
+#endif\r
+class Standard_NoMoreObject;\r
+class Standard_NoSuchObject;\r
+class NMTDS_ListOfPairBoolean;\r
+class NMTDS_PairBoolean;\r
+class NMTDS_ListNodeOfListOfPairBoolean;\r
+\r
+\r
+\r
+class NMTDS_ListIteratorOfListOfPairBoolean  {\r
+public:\r
+\r
+  void* operator new(size_t,void* anAddress) \r
+  {\r
+    return anAddress;\r
+  }\r
+  void* operator new(size_t size) \r
+  {\r
+    return Standard::Allocate(size); \r
+  }\r
+  void  operator delete(void *anAddress) \r
+  {\r
+    if (anAddress) Standard::Free((Standard_Address&)anAddress); \r
+  }\r
+\r
+  \r
+  Standard_EXPORT   NMTDS_ListIteratorOfListOfPairBoolean();\r
+  \r
+  Standard_EXPORT   NMTDS_ListIteratorOfListOfPairBoolean(const NMTDS_ListOfPairBoolean& L);\r
+  \r
+  Standard_EXPORT     void Initialize(const NMTDS_ListOfPairBoolean& L) ;\r
+  \r
+        Standard_Boolean More() const;\r
+  \r
+  Standard_EXPORT     void Next() ;\r
+  \r
+  Standard_EXPORT     NMTDS_PairBoolean& Value() const;\r
+\r
+\r
+friend class NMTDS_ListOfPairBoolean;\r
+\r
+\r
+\r
+protected:\r
+\r
+\r
+\r
+\r
+\r
+private:\r
+\r
+\r
+\r
+Standard_Address current;\r
+Standard_Address previous;\r
+\r
+\r
+};\r
+\r
+#define Item NMTDS_PairBoolean\r
+#define Item_hxx <NMTDS_PairBoolean.hxx>\r
+#define TCollection_ListNode NMTDS_ListNodeOfListOfPairBoolean\r
+#define TCollection_ListNode_hxx <NMTDS_ListNodeOfListOfPairBoolean.hxx>\r
+#define TCollection_ListIterator NMTDS_ListIteratorOfListOfPairBoolean\r
+#define TCollection_ListIterator_hxx <NMTDS_ListIteratorOfListOfPairBoolean.hxx>\r
+#define Handle_TCollection_ListNode Handle_NMTDS_ListNodeOfListOfPairBoolean\r
+#define TCollection_ListNode_Type_() NMTDS_ListNodeOfListOfPairBoolean_Type_()\r
+#define TCollection_List NMTDS_ListOfPairBoolean\r
+#define TCollection_List_hxx <NMTDS_ListOfPairBoolean.hxx>\r
+\r
+#include <TCollection_ListIterator.lxx>\r
+\r
+#undef Item\r
+#undef Item_hxx\r
+#undef TCollection_ListNode\r
+#undef TCollection_ListNode_hxx\r
+#undef TCollection_ListIterator\r
+#undef TCollection_ListIterator_hxx\r
+#undef Handle_TCollection_ListNode\r
+#undef TCollection_ListNode_Type_\r
+#undef TCollection_List\r
+#undef TCollection_List_hxx\r
+\r
+\r
+// other Inline functions and methods (like "C++: function call" methods)\r
+\r
+\r
+#endif\r
diff --git a/src/NMTDS/NMTDS_ListIteratorOfListOfPairBoolean_0.cxx b/src/NMTDS/NMTDS_ListIteratorOfListOfPairBoolean_0.cxx
new file mode 100644 (file)
index 0000000..f9b27da
--- /dev/null
@@ -0,0 +1,52 @@
+// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#include <NMTDS_ListIteratorOfListOfPairBoolean.hxx>\r
+\r
+#ifndef _Standard_NoMoreObject_HeaderFile\r
+#include <Standard_NoMoreObject.hxx>\r
+#endif\r
+#ifndef _Standard_NoSuchObject_HeaderFile\r
+#include <Standard_NoSuchObject.hxx>\r
+#endif\r
+#ifndef _NMTDS_ListOfPairBoolean_HeaderFile\r
+#include <NMTDS_ListOfPairBoolean.hxx>\r
+#endif\r
+#ifndef _NMTDS_PairBoolean_HeaderFile\r
+#include <NMTDS_PairBoolean.hxx>\r
+#endif\r
+#ifndef _NMTDS_ListNodeOfListOfPairBoolean_HeaderFile\r
+#include <NMTDS_ListNodeOfListOfPairBoolean.hxx>\r
+#endif\r
\r
+\r
+#define Item NMTDS_PairBoolean\r
+#define Item_hxx <NMTDS_PairBoolean.hxx>\r
+#define TCollection_ListNode NMTDS_ListNodeOfListOfPairBoolean\r
+#define TCollection_ListNode_hxx <NMTDS_ListNodeOfListOfPairBoolean.hxx>\r
+#define TCollection_ListIterator NMTDS_ListIteratorOfListOfPairBoolean\r
+#define TCollection_ListIterator_hxx <NMTDS_ListIteratorOfListOfPairBoolean.hxx>\r
+#define Handle_TCollection_ListNode Handle_NMTDS_ListNodeOfListOfPairBoolean\r
+#define TCollection_ListNode_Type_() NMTDS_ListNodeOfListOfPairBoolean_Type_()\r
+#define TCollection_List NMTDS_ListOfPairBoolean\r
+#define TCollection_List_hxx <NMTDS_ListOfPairBoolean.hxx>\r
+#include <TCollection_ListIterator.gxx>\r
+\r
diff --git a/src/NMTDS/NMTDS_ListIteratorOfListOfPair_0.cxx b/src/NMTDS/NMTDS_ListIteratorOfListOfPair_0.cxx
new file mode 100644 (file)
index 0000000..c186b06
--- /dev/null
@@ -0,0 +1,52 @@
+// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#include <NMTDS_ListIteratorOfListOfPair.hxx>\r
+\r
+#ifndef _Standard_NoMoreObject_HeaderFile\r
+#include <Standard_NoMoreObject.hxx>\r
+#endif\r
+#ifndef _Standard_NoSuchObject_HeaderFile\r
+#include <Standard_NoSuchObject.hxx>\r
+#endif\r
+#ifndef _NMTDS_ListOfPair_HeaderFile\r
+#include <NMTDS_ListOfPair.hxx>\r
+#endif\r
+#ifndef _NMTDS_Pair_HeaderFile\r
+#include <NMTDS_Pair.hxx>\r
+#endif\r
+#ifndef _NMTDS_ListNodeOfListOfPair_HeaderFile\r
+#include <NMTDS_ListNodeOfListOfPair.hxx>\r
+#endif\r
\r
+\r
+#define Item NMTDS_Pair\r
+#define Item_hxx <NMTDS_Pair.hxx>\r
+#define TCollection_ListNode NMTDS_ListNodeOfListOfPair\r
+#define TCollection_ListNode_hxx <NMTDS_ListNodeOfListOfPair.hxx>\r
+#define TCollection_ListIterator NMTDS_ListIteratorOfListOfPair\r
+#define TCollection_ListIterator_hxx <NMTDS_ListIteratorOfListOfPair.hxx>\r
+#define Handle_TCollection_ListNode Handle_NMTDS_ListNodeOfListOfPair\r
+#define TCollection_ListNode_Type_() NMTDS_ListNodeOfListOfPair_Type_()\r
+#define TCollection_List NMTDS_ListOfPair\r
+#define TCollection_List_hxx <NMTDS_ListOfPair.hxx>\r
+#include <TCollection_ListIterator.gxx>\r
+\r
diff --git a/src/NMTDS/NMTDS_ListNodeOfListOfPair.hxx b/src/NMTDS/NMTDS_ListNodeOfListOfPair.hxx
new file mode 100644 (file)
index 0000000..bd6aaa8
--- /dev/null
@@ -0,0 +1,105 @@
+// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_ListNodeOfListOfPair_HeaderFile\r
+#define _NMTDS_ListNodeOfListOfPair_HeaderFile\r
+\r
+#ifndef _Standard_HeaderFile\r
+#include <Standard.hxx>\r
+#endif\r
+#ifndef _Standard_DefineHandle_HeaderFile\r
+#include <Standard_DefineHandle.hxx>\r
+#endif\r
+#ifndef _Handle_NMTDS_ListNodeOfListOfPair_HeaderFile\r
+#include <Handle_NMTDS_ListNodeOfListOfPair.hxx>\r
+#endif\r
+\r
+#ifndef _NMTDS_Pair_HeaderFile\r
+#include <NMTDS_Pair.hxx>\r
+#endif\r
+#ifndef _TCollection_MapNode_HeaderFile\r
+#include <TCollection_MapNode.hxx>\r
+#endif\r
+#ifndef _TCollection_MapNodePtr_HeaderFile\r
+#include <TCollection_MapNodePtr.hxx>\r
+#endif\r
+class NMTDS_Pair;\r
+class NMTDS_ListOfPair;\r
+class NMTDS_ListIteratorOfListOfPair;\r
+\r
+\r
+\r
+class NMTDS_ListNodeOfListOfPair : public TCollection_MapNode {\r
+\r
+public:\r
+\r
+  \r
+      NMTDS_ListNodeOfListOfPair(const NMTDS_Pair& I,const TCollection_MapNodePtr& n);\r
+  \r
+        NMTDS_Pair& Value() const;\r
+\r
+\r
+\r
+\r
+  DEFINE_STANDARD_RTTI(NMTDS_ListNodeOfListOfPair)\r
+\r
+protected:\r
+\r
+\r
+\r
+\r
+private: \r
+\r
+\r
+NMTDS_Pair myValue;\r
+\r
+\r
+};\r
+\r
+#define Item NMTDS_Pair\r
+#define Item_hxx <NMTDS_Pair.hxx>\r
+#define TCollection_ListNode NMTDS_ListNodeOfListOfPair\r
+#define TCollection_ListNode_hxx <NMTDS_ListNodeOfListOfPair.hxx>\r
+#define TCollection_ListIterator NMTDS_ListIteratorOfListOfPair\r
+#define TCollection_ListIterator_hxx <NMTDS_ListIteratorOfListOfPair.hxx>\r
+#define Handle_TCollection_ListNode Handle_NMTDS_ListNodeOfListOfPair\r
+#define TCollection_ListNode_Type_() NMTDS_ListNodeOfListOfPair_Type_()\r
+#define TCollection_List NMTDS_ListOfPair\r
+#define TCollection_List_hxx <NMTDS_ListOfPair.hxx>\r
+\r
+#include <TCollection_ListNode.lxx>\r
+\r
+#undef Item\r
+#undef Item_hxx\r
+#undef TCollection_ListNode\r
+#undef TCollection_ListNode_hxx\r
+#undef TCollection_ListIterator\r
+#undef TCollection_ListIterator_hxx\r
+#undef Handle_TCollection_ListNode\r
+#undef TCollection_ListNode_Type_\r
+#undef TCollection_List\r
+#undef TCollection_List_hxx\r
+\r
+\r
+// other Inline functions and methods (like "C++: function call" methods)\r
+\r
+\r
+#endif\r
diff --git a/src/NMTDS/NMTDS_ListNodeOfListOfPairBoolean.hxx b/src/NMTDS/NMTDS_ListNodeOfListOfPairBoolean.hxx
new file mode 100644 (file)
index 0000000..2661de0
--- /dev/null
@@ -0,0 +1,105 @@
+// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_ListNodeOfListOfPairBoolean_HeaderFile\r
+#define _NMTDS_ListNodeOfListOfPairBoolean_HeaderFile\r
+\r
+#ifndef _Standard_HeaderFile\r
+#include <Standard.hxx>\r
+#endif\r
+#ifndef _Standard_DefineHandle_HeaderFile\r
+#include <Standard_DefineHandle.hxx>\r
+#endif\r
+#ifndef _Handle_NMTDS_ListNodeOfListOfPairBoolean_HeaderFile\r
+#include <Handle_NMTDS_ListNodeOfListOfPairBoolean.hxx>\r
+#endif\r
+\r
+#ifndef _NMTDS_PairBoolean_HeaderFile\r
+#include <NMTDS_PairBoolean.hxx>\r
+#endif\r
+#ifndef _TCollection_MapNode_HeaderFile\r
+#include <TCollection_MapNode.hxx>\r
+#endif\r
+#ifndef _TCollection_MapNodePtr_HeaderFile\r
+#include <TCollection_MapNodePtr.hxx>\r
+#endif\r
+class NMTDS_PairBoolean;\r
+class NMTDS_ListOfPairBoolean;\r
+class NMTDS_ListIteratorOfListOfPairBoolean;\r
+\r
+\r
+\r
+class NMTDS_ListNodeOfListOfPairBoolean : public TCollection_MapNode {\r
+\r
+public:\r
+\r
+  \r
+      NMTDS_ListNodeOfListOfPairBoolean(const NMTDS_PairBoolean& I,const TCollection_MapNodePtr& n);\r
+  \r
+        NMTDS_PairBoolean& Value() const;\r
+\r
+\r
+\r
+\r
+  DEFINE_STANDARD_RTTI(NMTDS_ListNodeOfListOfPairBoolean)\r
+\r
+protected:\r
+\r
+\r
+\r
+\r
+private: \r
+\r
+\r
+NMTDS_PairBoolean myValue;\r
+\r
+\r
+};\r
+\r
+#define Item NMTDS_PairBoolean\r
+#define Item_hxx <NMTDS_PairBoolean.hxx>\r
+#define TCollection_ListNode NMTDS_ListNodeOfListOfPairBoolean\r
+#define TCollection_ListNode_hxx <NMTDS_ListNodeOfListOfPairBoolean.hxx>\r
+#define TCollection_ListIterator NMTDS_ListIteratorOfListOfPairBoolean\r
+#define TCollection_ListIterator_hxx <NMTDS_ListIteratorOfListOfPairBoolean.hxx>\r
+#define Handle_TCollection_ListNode Handle_NMTDS_ListNodeOfListOfPairBoolean\r
+#define TCollection_ListNode_Type_() NMTDS_ListNodeOfListOfPairBoolean_Type_()\r
+#define TCollection_List NMTDS_ListOfPairBoolean\r
+#define TCollection_List_hxx <NMTDS_ListOfPairBoolean.hxx>\r
+\r
+#include <TCollection_ListNode.lxx>\r
+\r
+#undef Item\r
+#undef Item_hxx\r
+#undef TCollection_ListNode\r
+#undef TCollection_ListNode_hxx\r
+#undef TCollection_ListIterator\r
+#undef TCollection_ListIterator_hxx\r
+#undef Handle_TCollection_ListNode\r
+#undef TCollection_ListNode_Type_\r
+#undef TCollection_List\r
+#undef TCollection_List_hxx\r
+\r
+\r
+// other Inline functions and methods (like "C++: function call" methods)\r
+\r
+\r
+#endif\r
diff --git a/src/NMTDS/NMTDS_ListNodeOfListOfPairBoolean_0.cxx b/src/NMTDS/NMTDS_ListNodeOfListOfPairBoolean_0.cxx
new file mode 100644 (file)
index 0000000..8aef0cd
--- /dev/null
@@ -0,0 +1,66 @@
+// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#include <NMTDS_ListNodeOfListOfPairBoolean.hxx>\r
+\r
+#ifndef _Standard_Type_HeaderFile\r
+#include <Standard_Type.hxx>\r
+#endif\r
+\r
+#ifndef _NMTDS_PairBoolean_HeaderFile\r
+#include <NMTDS_PairBoolean.hxx>\r
+#endif\r
+#ifndef _NMTDS_ListOfPairBoolean_HeaderFile\r
+#include <NMTDS_ListOfPairBoolean.hxx>\r
+#endif\r
+#ifndef _NMTDS_ListIteratorOfListOfPairBoolean_HeaderFile\r
+#include <NMTDS_ListIteratorOfListOfPairBoolean.hxx>\r
+#endif\r
+\r
\r
+\r
+\r
+IMPLEMENT_STANDARD_TYPE(NMTDS_ListNodeOfListOfPairBoolean)\r
+IMPLEMENT_STANDARD_SUPERTYPE_ARRAY()\r
+  STANDARD_TYPE(TCollection_MapNode),\r
+  STANDARD_TYPE(MMgt_TShared),\r
+  STANDARD_TYPE(Standard_Transient),\r
+\r
+IMPLEMENT_STANDARD_SUPERTYPE_ARRAY_END()\r
+IMPLEMENT_STANDARD_TYPE_END(NMTDS_ListNodeOfListOfPairBoolean)\r
+\r
+\r
+IMPLEMENT_DOWNCAST(NMTDS_ListNodeOfListOfPairBoolean,Standard_Transient)\r
+IMPLEMENT_STANDARD_RTTI(NMTDS_ListNodeOfListOfPairBoolean)\r
+\r
+\r
+#define Item NMTDS_PairBoolean\r
+#define Item_hxx <NMTDS_PairBoolean.hxx>\r
+#define TCollection_ListNode NMTDS_ListNodeOfListOfPairBoolean\r
+#define TCollection_ListNode_hxx <NMTDS_ListNodeOfListOfPairBoolean.hxx>\r
+#define TCollection_ListIterator NMTDS_ListIteratorOfListOfPairBoolean\r
+#define TCollection_ListIterator_hxx <NMTDS_ListIteratorOfListOfPairBoolean.hxx>\r
+#define Handle_TCollection_ListNode Handle_NMTDS_ListNodeOfListOfPairBoolean\r
+#define TCollection_ListNode_Type_() NMTDS_ListNodeOfListOfPairBoolean_Type_()\r
+#define TCollection_List NMTDS_ListOfPairBoolean\r
+#define TCollection_List_hxx <NMTDS_ListOfPairBoolean.hxx>\r
+#include <TCollection_ListNode.gxx>\r
+\r
diff --git a/src/NMTDS/NMTDS_ListNodeOfListOfPair_0.cxx b/src/NMTDS/NMTDS_ListNodeOfListOfPair_0.cxx
new file mode 100644 (file)
index 0000000..d35a153
--- /dev/null
@@ -0,0 +1,66 @@
+// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#include <NMTDS_ListNodeOfListOfPair.hxx>\r
+\r
+#ifndef _Standard_Type_HeaderFile\r
+#include <Standard_Type.hxx>\r
+#endif\r
+\r
+#ifndef _NMTDS_Pair_HeaderFile\r
+#include <NMTDS_Pair.hxx>\r
+#endif\r
+#ifndef _NMTDS_ListOfPair_HeaderFile\r
+#include <NMTDS_ListOfPair.hxx>\r
+#endif\r
+#ifndef _NMTDS_ListIteratorOfListOfPair_HeaderFile\r
+#include <NMTDS_ListIteratorOfListOfPair.hxx>\r
+#endif\r
+\r
\r
+\r
+\r
+IMPLEMENT_STANDARD_TYPE(NMTDS_ListNodeOfListOfPair)\r
+IMPLEMENT_STANDARD_SUPERTYPE_ARRAY()\r
+  STANDARD_TYPE(TCollection_MapNode),\r
+  STANDARD_TYPE(MMgt_TShared),\r
+  STANDARD_TYPE(Standard_Transient),\r
+\r
+IMPLEMENT_STANDARD_SUPERTYPE_ARRAY_END()\r
+IMPLEMENT_STANDARD_TYPE_END(NMTDS_ListNodeOfListOfPair)\r
+\r
+\r
+IMPLEMENT_DOWNCAST(NMTDS_ListNodeOfListOfPair,Standard_Transient)\r
+IMPLEMENT_STANDARD_RTTI(NMTDS_ListNodeOfListOfPair)\r
+\r
+\r
+#define Item NMTDS_Pair\r
+#define Item_hxx <NMTDS_Pair.hxx>\r
+#define TCollection_ListNode NMTDS_ListNodeOfListOfPair\r
+#define TCollection_ListNode_hxx <NMTDS_ListNodeOfListOfPair.hxx>\r
+#define TCollection_ListIterator NMTDS_ListIteratorOfListOfPair\r
+#define TCollection_ListIterator_hxx <NMTDS_ListIteratorOfListOfPair.hxx>\r
+#define Handle_TCollection_ListNode Handle_NMTDS_ListNodeOfListOfPair\r
+#define TCollection_ListNode_Type_() NMTDS_ListNodeOfListOfPair_Type_()\r
+#define TCollection_List NMTDS_ListOfPair\r
+#define TCollection_List_hxx <NMTDS_ListOfPair.hxx>\r
+#include <TCollection_ListNode.gxx>\r
+\r
diff --git a/src/NMTDS/NMTDS_ListOfPair.hxx b/src/NMTDS/NMTDS_ListOfPair.hxx
new file mode 100644 (file)
index 0000000..9da0533
--- /dev/null
@@ -0,0 +1,165 @@
+// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_ListOfPair_HeaderFile\r
+#define _NMTDS_ListOfPair_HeaderFile\r
+\r
+#ifndef _Standard_HeaderFile\r
+#include <Standard.hxx>\r
+#endif\r
+#ifndef _Standard_Macro_HeaderFile\r
+#include <Standard_Macro.hxx>\r
+#endif\r
+\r
+#ifndef _Standard_Address_HeaderFile\r
+#include <Standard_Address.hxx>\r
+#endif\r
+#ifndef _Handle_NMTDS_ListNodeOfListOfPair_HeaderFile\r
+#include <Handle_NMTDS_ListNodeOfListOfPair.hxx>\r
+#endif\r
+#ifndef _Standard_Integer_HeaderFile\r
+#include <Standard_Integer.hxx>\r
+#endif\r
+#ifndef _Standard_Boolean_HeaderFile\r
+#include <Standard_Boolean.hxx>\r
+#endif\r
+class Standard_NoSuchObject;\r
+class NMTDS_ListIteratorOfListOfPair;\r
+class NMTDS_Pair;\r
+class NMTDS_ListNodeOfListOfPair;\r
+\r
+\r
+\r
+class NMTDS_ListOfPair  {\r
+public:\r
+\r
+  void* operator new(size_t,void* anAddress) \r
+  {\r
+    return anAddress;\r
+  }\r
+  void* operator new(size_t size) \r
+  {\r
+    return Standard::Allocate(size); \r
+  }\r
+  void  operator delete(void *anAddress) \r
+  {\r
+    if (anAddress) Standard::Free((Standard_Address&)anAddress); \r
+  }\r
+\r
+  \r
+  Standard_EXPORT   NMTDS_ListOfPair();\r
+  \r
+  Standard_EXPORT     void Assign(const NMTDS_ListOfPair& Other) ;\r
+    void operator=(const NMTDS_ListOfPair& Other) \r
+{\r
+  Assign(Other);\r
+}\r
+  \r
+  Standard_EXPORT     Standard_Integer Extent() const;\r
+  \r
+  Standard_EXPORT     void Clear() ;\r
+~NMTDS_ListOfPair()\r
+{\r
+  Clear();\r
+}\r
+  \r
+        Standard_Boolean IsEmpty() const;\r
+  \r
+  Standard_EXPORT     void Prepend(const NMTDS_Pair& I) ;\r
+  \r
+  Standard_EXPORT     void Prepend(const NMTDS_Pair& I,NMTDS_ListIteratorOfListOfPair& theIt) ;\r
+  \r
+  Standard_EXPORT     void Prepend(NMTDS_ListOfPair& Other) ;\r
+  \r
+  Standard_EXPORT     void Append(const NMTDS_Pair& I) ;\r
+  \r
+  Standard_EXPORT     void Append(const NMTDS_Pair& I,NMTDS_ListIteratorOfListOfPair& theIt) ;\r
+  \r
+  Standard_EXPORT     void Append(NMTDS_ListOfPair& Other) ;\r
+  \r
+  Standard_EXPORT     NMTDS_Pair& First() const;\r
+  \r
+  Standard_EXPORT     NMTDS_Pair& Last() const;\r
+  \r
+  Standard_EXPORT     void RemoveFirst() ;\r
+  \r
+  Standard_EXPORT     void Remove(NMTDS_ListIteratorOfListOfPair& It) ;\r
+  \r
+  Standard_EXPORT     void InsertBefore(const NMTDS_Pair& I,NMTDS_ListIteratorOfListOfPair& It) ;\r
+  \r
+  Standard_EXPORT     void InsertBefore(NMTDS_ListOfPair& Other,NMTDS_ListIteratorOfListOfPair& It) ;\r
+  \r
+  Standard_EXPORT     void InsertAfter(const NMTDS_Pair& I,NMTDS_ListIteratorOfListOfPair& It) ;\r
+  \r
+  Standard_EXPORT     void InsertAfter(NMTDS_ListOfPair& Other,NMTDS_ListIteratorOfListOfPair& It) ;\r
+\r
+\r
+friend class NMTDS_ListIteratorOfListOfPair;\r
+\r
+\r
+\r
+protected:\r
+\r
+\r
+\r
+\r
+\r
+private:\r
+\r
+  \r
+  Standard_EXPORT   NMTDS_ListOfPair(const NMTDS_ListOfPair& Other);\r
+\r
+\r
+Standard_Address myFirst;\r
+Standard_Address myLast;\r
+\r
+\r
+};\r
+\r
+#define Item NMTDS_Pair\r
+#define Item_hxx <NMTDS_Pair.hxx>\r
+#define TCollection_ListNode NMTDS_ListNodeOfListOfPair\r
+#define TCollection_ListNode_hxx <NMTDS_ListNodeOfListOfPair.hxx>\r
+#define TCollection_ListIterator NMTDS_ListIteratorOfListOfPair\r
+#define TCollection_ListIterator_hxx <NMTDS_ListIteratorOfListOfPair.hxx>\r
+#define Handle_TCollection_ListNode Handle_NMTDS_ListNodeOfListOfPair\r
+#define TCollection_ListNode_Type_() NMTDS_ListNodeOfListOfPair_Type_()\r
+#define TCollection_List NMTDS_ListOfPair\r
+#define TCollection_List_hxx <NMTDS_ListOfPair.hxx>\r
+\r
+#include <TCollection_List.lxx>\r
+\r
+#undef Item\r
+#undef Item_hxx\r
+#undef TCollection_ListNode\r
+#undef TCollection_ListNode_hxx\r
+#undef TCollection_ListIterator\r
+#undef TCollection_ListIterator_hxx\r
+#undef Handle_TCollection_ListNode\r
+#undef TCollection_ListNode_Type_\r
+#undef TCollection_List\r
+#undef TCollection_List_hxx\r
+\r
+\r
+// other Inline functions and methods (like "C++: function call" methods)\r
+\r
+\r
+#endif\r
diff --git a/src/NMTDS/NMTDS_ListOfPairBoolean.hxx b/src/NMTDS/NMTDS_ListOfPairBoolean.hxx
new file mode 100644 (file)
index 0000000..7e8d08a
--- /dev/null
@@ -0,0 +1,165 @@
+// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_ListOfPairBoolean_HeaderFile\r
+#define _NMTDS_ListOfPairBoolean_HeaderFile\r
+\r
+#ifndef _Standard_HeaderFile\r
+#include <Standard.hxx>\r
+#endif\r
+#ifndef _Standard_Macro_HeaderFile\r
+#include <Standard_Macro.hxx>\r
+#endif\r
+\r
+#ifndef _Standard_Address_HeaderFile\r
+#include <Standard_Address.hxx>\r
+#endif\r
+#ifndef _Handle_NMTDS_ListNodeOfListOfPairBoolean_HeaderFile\r
+#include <Handle_NMTDS_ListNodeOfListOfPairBoolean.hxx>\r
+#endif\r
+#ifndef _Standard_Integer_HeaderFile\r
+#include <Standard_Integer.hxx>\r
+#endif\r
+#ifndef _Standard_Boolean_HeaderFile\r
+#include <Standard_Boolean.hxx>\r
+#endif\r
+class Standard_NoSuchObject;\r
+class NMTDS_ListIteratorOfListOfPairBoolean;\r
+class NMTDS_PairBoolean;\r
+class NMTDS_ListNodeOfListOfPairBoolean;\r
+\r
+\r
+\r
+class NMTDS_ListOfPairBoolean  {\r
+public:\r
+\r
+  void* operator new(size_t,void* anAddress) \r
+  {\r
+    return anAddress;\r
+  }\r
+  void* operator new(size_t size) \r
+  {\r
+    return Standard::Allocate(size); \r
+  }\r
+  void  operator delete(void *anAddress) \r
+  {\r
+    if (anAddress) Standard::Free((Standard_Address&)anAddress); \r
+  }\r
+\r
+  \r
+  Standard_EXPORT   NMTDS_ListOfPairBoolean();\r
+  \r
+  Standard_EXPORT     void Assign(const NMTDS_ListOfPairBoolean& Other) ;\r
+    void operator=(const NMTDS_ListOfPairBoolean& Other) \r
+{\r
+  Assign(Other);\r
+}\r
+  \r
+  Standard_EXPORT     Standard_Integer Extent() const;\r
+  \r
+  Standard_EXPORT     void Clear() ;\r
+~NMTDS_ListOfPairBoolean()\r
+{\r
+  Clear();\r
+}\r
+  \r
+        Standard_Boolean IsEmpty() const;\r
+  \r
+  Standard_EXPORT     void Prepend(const NMTDS_PairBoolean& I) ;\r
+  \r
+  Standard_EXPORT     void Prepend(const NMTDS_PairBoolean& I,NMTDS_ListIteratorOfListOfPairBoolean& theIt) ;\r
+  \r
+  Standard_EXPORT     void Prepend(NMTDS_ListOfPairBoolean& Other) ;\r
+  \r
+  Standard_EXPORT     void Append(const NMTDS_PairBoolean& I) ;\r
+  \r
+  Standard_EXPORT     void Append(const NMTDS_PairBoolean& I,NMTDS_ListIteratorOfListOfPairBoolean& theIt) ;\r
+  \r
+  Standard_EXPORT     void Append(NMTDS_ListOfPairBoolean& Other) ;\r
+  \r
+  Standard_EXPORT     NMTDS_PairBoolean& First() const;\r
+  \r
+  Standard_EXPORT     NMTDS_PairBoolean& Last() const;\r
+  \r
+  Standard_EXPORT     void RemoveFirst() ;\r
+  \r
+  Standard_EXPORT     void Remove(NMTDS_ListIteratorOfListOfPairBoolean& It) ;\r
+  \r
+  Standard_EXPORT     void InsertBefore(const NMTDS_PairBoolean& I,NMTDS_ListIteratorOfListOfPairBoolean& It) ;\r
+  \r
+  Standard_EXPORT     void InsertBefore(NMTDS_ListOfPairBoolean& Other,NMTDS_ListIteratorOfListOfPairBoolean& It) ;\r
+  \r
+  Standard_EXPORT     void InsertAfter(const NMTDS_PairBoolean& I,NMTDS_ListIteratorOfListOfPairBoolean& It) ;\r
+  \r
+  Standard_EXPORT     void InsertAfter(NMTDS_ListOfPairBoolean& Other,NMTDS_ListIteratorOfListOfPairBoolean& It) ;\r
+\r
+\r
+friend class NMTDS_ListIteratorOfListOfPairBoolean;\r
+\r
+\r
+\r
+protected:\r
+\r
+\r
+\r
+\r
+\r
+private:\r
+\r
+  \r
+  Standard_EXPORT   NMTDS_ListOfPairBoolean(const NMTDS_ListOfPairBoolean& Other);\r
+\r
+\r
+Standard_Address myFirst;\r
+Standard_Address myLast;\r
+\r
+\r
+};\r
+\r
+#define Item NMTDS_PairBoolean\r
+#define Item_hxx <NMTDS_PairBoolean.hxx>\r
+#define TCollection_ListNode NMTDS_ListNodeOfListOfPairBoolean\r
+#define TCollection_ListNode_hxx <NMTDS_ListNodeOfListOfPairBoolean.hxx>\r
+#define TCollection_ListIterator NMTDS_ListIteratorOfListOfPairBoolean\r
+#define TCollection_ListIterator_hxx <NMTDS_ListIteratorOfListOfPairBoolean.hxx>\r
+#define Handle_TCollection_ListNode Handle_NMTDS_ListNodeOfListOfPairBoolean\r
+#define TCollection_ListNode_Type_() NMTDS_ListNodeOfListOfPairBoolean_Type_()\r
+#define TCollection_List NMTDS_ListOfPairBoolean\r
+#define TCollection_List_hxx <NMTDS_ListOfPairBoolean.hxx>\r
+\r
+#include <TCollection_List.lxx>\r
+\r
+#undef Item\r
+#undef Item_hxx\r
+#undef TCollection_ListNode\r
+#undef TCollection_ListNode_hxx\r
+#undef TCollection_ListIterator\r
+#undef TCollection_ListIterator_hxx\r
+#undef Handle_TCollection_ListNode\r
+#undef TCollection_ListNode_Type_\r
+#undef TCollection_List\r
+#undef TCollection_List_hxx\r
+\r
+\r
+// other Inline functions and methods (like "C++: function call" methods)\r
+\r
+\r
+#endif\r
diff --git a/src/NMTDS/NMTDS_ListOfPairBoolean_0.cxx b/src/NMTDS/NMTDS_ListOfPairBoolean_0.cxx
new file mode 100644 (file)
index 0000000..40e4ff1
--- /dev/null
@@ -0,0 +1,49 @@
+// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#include <NMTDS_ListOfPairBoolean.hxx>\r
+\r
+#ifndef _Standard_NoSuchObject_HeaderFile\r
+#include <Standard_NoSuchObject.hxx>\r
+#endif\r
+#ifndef _NMTDS_ListIteratorOfListOfPairBoolean_HeaderFile\r
+#include <NMTDS_ListIteratorOfListOfPairBoolean.hxx>\r
+#endif\r
+#ifndef _NMTDS_PairBoolean_HeaderFile\r
+#include <NMTDS_PairBoolean.hxx>\r
+#endif\r
+#ifndef _NMTDS_ListNodeOfListOfPairBoolean_HeaderFile\r
+#include <NMTDS_ListNodeOfListOfPairBoolean.hxx>\r
+#endif\r
\r
+\r
+#define Item NMTDS_PairBoolean\r
+#define Item_hxx <NMTDS_PairBoolean.hxx>\r
+#define TCollection_ListNode NMTDS_ListNodeOfListOfPairBoolean\r
+#define TCollection_ListNode_hxx <NMTDS_ListNodeOfListOfPairBoolean.hxx>\r
+#define TCollection_ListIterator NMTDS_ListIteratorOfListOfPairBoolean\r
+#define TCollection_ListIterator_hxx <NMTDS_ListIteratorOfListOfPairBoolean.hxx>\r
+#define Handle_TCollection_ListNode Handle_NMTDS_ListNodeOfListOfPairBoolean\r
+#define TCollection_ListNode_Type_() NMTDS_ListNodeOfListOfPairBoolean_Type_()\r
+#define TCollection_List NMTDS_ListOfPairBoolean\r
+#define TCollection_List_hxx <NMTDS_ListOfPairBoolean.hxx>\r
+#include <TCollection_List.gxx>\r
+\r
diff --git a/src/NMTDS/NMTDS_ListOfPair_0.cxx b/src/NMTDS/NMTDS_ListOfPair_0.cxx
new file mode 100644 (file)
index 0000000..ff74916
--- /dev/null
@@ -0,0 +1,49 @@
+// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#include <NMTDS_ListOfPair.hxx>\r
+\r
+#ifndef _Standard_NoSuchObject_HeaderFile\r
+#include <Standard_NoSuchObject.hxx>\r
+#endif\r
+#ifndef _NMTDS_ListIteratorOfListOfPair_HeaderFile\r
+#include <NMTDS_ListIteratorOfListOfPair.hxx>\r
+#endif\r
+#ifndef _NMTDS_Pair_HeaderFile\r
+#include <NMTDS_Pair.hxx>\r
+#endif\r
+#ifndef _NMTDS_ListNodeOfListOfPair_HeaderFile\r
+#include <NMTDS_ListNodeOfListOfPair.hxx>\r
+#endif\r
\r
+\r
+#define Item NMTDS_Pair\r
+#define Item_hxx <NMTDS_Pair.hxx>\r
+#define TCollection_ListNode NMTDS_ListNodeOfListOfPair\r
+#define TCollection_ListNode_hxx <NMTDS_ListNodeOfListOfPair.hxx>\r
+#define TCollection_ListIterator NMTDS_ListIteratorOfListOfPair\r
+#define TCollection_ListIterator_hxx <NMTDS_ListIteratorOfListOfPair.hxx>\r
+#define Handle_TCollection_ListNode Handle_NMTDS_ListNodeOfListOfPair\r
+#define TCollection_ListNode_Type_() NMTDS_ListNodeOfListOfPair_Type_()\r
+#define TCollection_List NMTDS_ListOfPair\r
+#define TCollection_List_hxx <NMTDS_ListOfPair.hxx>\r
+#include <TCollection_List.gxx>\r
+\r
diff --git a/src/NMTDS/NMTDS_MapIteratorOfMapOfPairBoolean.hxx b/src/NMTDS/NMTDS_MapIteratorOfMapOfPairBoolean.hxx
new file mode 100644 (file)
index 0000000..34d7742
--- /dev/null
@@ -0,0 +1,96 @@
+// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_MapIteratorOfMapOfPairBoolean_HeaderFile\r
+#define _NMTDS_MapIteratorOfMapOfPairBoolean_HeaderFile\r
+\r
+#ifndef _Standard_HeaderFile\r
+#include <Standard.hxx>\r
+#endif\r
+#ifndef _Standard_Macro_HeaderFile\r
+#include <Standard_Macro.hxx>\r
+#endif\r
+\r
+#ifndef _TCollection_BasicMapIterator_HeaderFile\r
+#include <TCollection_BasicMapIterator.hxx>\r
+#endif\r
+#ifndef _Handle_NMTDS_StdMapNodeOfMapOfPairBoolean_HeaderFile\r
+#include <Handle_NMTDS_StdMapNodeOfMapOfPairBoolean.hxx>\r
+#endif\r
+class Standard_NoSuchObject;\r
+class NMTDS_PairBoolean;\r
+class NMTDS_PairMapHasher;\r
+class NMTDS_MapOfPairBoolean;\r
+class NMTDS_StdMapNodeOfMapOfPairBoolean;\r
+\r
+\r
+\r
+class NMTDS_MapIteratorOfMapOfPairBoolean  : public TCollection_BasicMapIterator {\r
+public:\r
+\r
+  void* operator new(size_t,void* anAddress) \r
+  {\r
+    return anAddress;\r
+  }\r
+  void* operator new(size_t size) \r
+  {\r
+    return Standard::Allocate(size); \r
+  }\r
+  void  operator delete(void *anAddress) \r
+  {\r
+    if (anAddress) Standard::Free((Standard_Address&)anAddress); \r
+  }\r
+\r
+  \r
+  Standard_EXPORT   NMTDS_MapIteratorOfMapOfPairBoolean();\r
+  \r
+  Standard_EXPORT   NMTDS_MapIteratorOfMapOfPairBoolean(const NMTDS_MapOfPairBoolean& aMap);\r
+  \r
+  Standard_EXPORT     void Initialize(const NMTDS_MapOfPairBoolean& aMap) ;\r
+  \r
+  Standard_EXPORT    const NMTDS_PairBoolean& Key() const;\r
+\r
+\r
+\r
+\r
+\r
+protected:\r
+\r
+\r
+\r
+\r
+\r
+private:\r
+\r
+\r
+\r
+\r
+\r
+};\r
+\r
+\r
+\r
+\r
+\r
+// other Inline functions and methods (like "C++: function call" methods)\r
+\r
+\r
+#endif\r
diff --git a/src/NMTDS/NMTDS_MapIteratorOfMapOfPairBoolean_0.cxx b/src/NMTDS/NMTDS_MapIteratorOfMapOfPairBoolean_0.cxx
new file mode 100644 (file)
index 0000000..f524750
--- /dev/null
@@ -0,0 +1,54 @@
+// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#include <NMTDS_MapIteratorOfMapOfPairBoolean.hxx>\r
+\r
+#ifndef _Standard_NoSuchObject_HeaderFile\r
+#include <Standard_NoSuchObject.hxx>\r
+#endif\r
+#ifndef _NMTDS_PairBoolean_HeaderFile\r
+#include <NMTDS_PairBoolean.hxx>\r
+#endif\r
+#ifndef _NMTDS_PairMapHasher_HeaderFile\r
+#include <NMTDS_PairMapHasher.hxx>\r
+#endif\r
+#ifndef _NMTDS_MapOfPairBoolean_HeaderFile\r
+#include <NMTDS_MapOfPairBoolean.hxx>\r
+#endif\r
+#ifndef _NMTDS_StdMapNodeOfMapOfPairBoolean_HeaderFile\r
+#include <NMTDS_StdMapNodeOfMapOfPairBoolean.hxx>\r
+#endif\r
\r
+\r
+#define TheKey NMTDS_PairBoolean\r
+#define TheKey_hxx <NMTDS_PairBoolean.hxx>\r
+#define Hasher NMTDS_PairMapHasher\r
+#define Hasher_hxx <NMTDS_PairMapHasher.hxx>\r
+#define TCollection_StdMapNode NMTDS_StdMapNodeOfMapOfPairBoolean\r
+#define TCollection_StdMapNode_hxx <NMTDS_StdMapNodeOfMapOfPairBoolean.hxx>\r
+#define TCollection_MapIterator NMTDS_MapIteratorOfMapOfPairBoolean\r
+#define TCollection_MapIterator_hxx <NMTDS_MapIteratorOfMapOfPairBoolean.hxx>\r
+#define Handle_TCollection_StdMapNode Handle_NMTDS_StdMapNodeOfMapOfPairBoolean\r
+#define TCollection_StdMapNode_Type_() NMTDS_StdMapNodeOfMapOfPairBoolean_Type_()\r
+#define TCollection_Map NMTDS_MapOfPairBoolean\r
+#define TCollection_Map_hxx <NMTDS_MapOfPairBoolean.hxx>\r
+#include <TCollection_MapIterator.gxx>\r
+\r
diff --git a/src/NMTDS/NMTDS_MapOfPairBoolean.hxx b/src/NMTDS/NMTDS_MapOfPairBoolean.hxx
new file mode 100644 (file)
index 0000000..108319b
--- /dev/null
@@ -0,0 +1,118 @@
+// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_MapOfPairBoolean_HeaderFile\r
+#define _NMTDS_MapOfPairBoolean_HeaderFile\r
+\r
+#ifndef _Standard_HeaderFile\r
+#include <Standard.hxx>\r
+#endif\r
+#ifndef _Standard_Macro_HeaderFile\r
+#include <Standard_Macro.hxx>\r
+#endif\r
+\r
+#ifndef _TCollection_BasicMap_HeaderFile\r
+#include <TCollection_BasicMap.hxx>\r
+#endif\r
+#ifndef _Handle_NMTDS_StdMapNodeOfMapOfPairBoolean_HeaderFile\r
+#include <Handle_NMTDS_StdMapNodeOfMapOfPairBoolean.hxx>\r
+#endif\r
+#ifndef _Standard_Integer_HeaderFile\r
+#include <Standard_Integer.hxx>\r
+#endif\r
+#ifndef _Standard_Boolean_HeaderFile\r
+#include <Standard_Boolean.hxx>\r
+#endif\r
+class Standard_DomainError;\r
+class NMTDS_PairBoolean;\r
+class NMTDS_PairMapHasher;\r
+class NMTDS_StdMapNodeOfMapOfPairBoolean;\r
+class NMTDS_MapIteratorOfMapOfPairBoolean;\r
+\r
+\r
+\r
+class NMTDS_MapOfPairBoolean  : public TCollection_BasicMap {\r
+public:\r
+\r
+  void* operator new(size_t,void* anAddress) \r
+  {\r
+    return anAddress;\r
+  }\r
+  void* operator new(size_t size) \r
+  {\r
+    return Standard::Allocate(size); \r
+  }\r
+  void  operator delete(void *anAddress) \r
+  {\r
+    if (anAddress) Standard::Free((Standard_Address&)anAddress); \r
+  }\r
+\r
+  \r
+  Standard_EXPORT   NMTDS_MapOfPairBoolean(const Standard_Integer NbBuckets = 1);\r
+  \r
+  Standard_EXPORT     NMTDS_MapOfPairBoolean& Assign(const NMTDS_MapOfPairBoolean& Other) ;\r
+    NMTDS_MapOfPairBoolean& operator =(const NMTDS_MapOfPairBoolean& Other) \r
+{\r
+  return Assign(Other);\r
+}\r
+  \r
+  Standard_EXPORT     void ReSize(const Standard_Integer NbBuckets) ;\r
+  \r
+  Standard_EXPORT     void Clear() ;\r
+~NMTDS_MapOfPairBoolean()\r
+{\r
+  Clear();\r
+}\r
+  \r
+  Standard_EXPORT     Standard_Boolean Add(const NMTDS_PairBoolean& aKey) ;\r
+  \r
+  Standard_EXPORT     Standard_Boolean Contains(const NMTDS_PairBoolean& aKey) const;\r
+  \r
+  Standard_EXPORT     Standard_Boolean Remove(const NMTDS_PairBoolean& aKey) ;\r
+\r
+\r
+\r
+\r
+\r
+protected:\r
+\r
+\r
+\r
+\r
+\r
+private:\r
+\r
+  \r
+  Standard_EXPORT   NMTDS_MapOfPairBoolean(const NMTDS_MapOfPairBoolean& Other);\r
+\r
+\r
+\r
+\r
+};\r
+\r
+\r
+\r
+\r
+\r
+// other Inline functions and methods (like "C++: function call" methods)\r
+\r
+\r
+#endif\r
diff --git a/src/NMTDS/NMTDS_MapOfPairBoolean_0.cxx b/src/NMTDS/NMTDS_MapOfPairBoolean_0.cxx
new file mode 100644 (file)
index 0000000..7b21510
--- /dev/null
@@ -0,0 +1,54 @@
+// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#include <NMTDS_MapOfPairBoolean.hxx>\r
+\r
+#ifndef _Standard_DomainError_HeaderFile\r
+#include <Standard_DomainError.hxx>\r
+#endif\r
+#ifndef _NMTDS_PairBoolean_HeaderFile\r
+#include <NMTDS_PairBoolean.hxx>\r
+#endif\r
+#ifndef _NMTDS_PairMapHasher_HeaderFile\r
+#include <NMTDS_PairMapHasher.hxx>\r
+#endif\r
+#ifndef _NMTDS_StdMapNodeOfMapOfPairBoolean_HeaderFile\r
+#include <NMTDS_StdMapNodeOfMapOfPairBoolean.hxx>\r
+#endif\r
+#ifndef _NMTDS_MapIteratorOfMapOfPairBoolean_HeaderFile\r
+#include <NMTDS_MapIteratorOfMapOfPairBoolean.hxx>\r
+#endif\r
\r
+\r
+#define TheKey NMTDS_PairBoolean\r
+#define TheKey_hxx <NMTDS_PairBoolean.hxx>\r
+#define Hasher NMTDS_PairMapHasher\r
+#define Hasher_hxx <NMTDS_PairMapHasher.hxx>\r
+#define TCollection_StdMapNode NMTDS_StdMapNodeOfMapOfPairBoolean\r
+#define TCollection_StdMapNode_hxx <NMTDS_StdMapNodeOfMapOfPairBoolean.hxx>\r
+#define TCollection_MapIterator NMTDS_MapIteratorOfMapOfPairBoolean\r
+#define TCollection_MapIterator_hxx <NMTDS_MapIteratorOfMapOfPairBoolean.hxx>\r
+#define Handle_TCollection_StdMapNode Handle_NMTDS_StdMapNodeOfMapOfPairBoolean\r
+#define TCollection_StdMapNode_Type_() NMTDS_StdMapNodeOfMapOfPairBoolean_Type_()\r
+#define TCollection_Map NMTDS_MapOfPairBoolean\r
+#define TCollection_Map_hxx <NMTDS_MapOfPairBoolean.hxx>\r
+#include <TCollection_Map.gxx>\r
+\r
diff --git a/src/NMTDS/NMTDS_Pair.cdl b/src/NMTDS/NMTDS_Pair.cdl
new file mode 100644 (file)
index 0000000..4b55226
--- /dev/null
@@ -0,0 +1,66 @@
+--  Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE
+--
+--  Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+--  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+--
+--  This library is free software; you can redistribute it and/or
+--  modify it under the terms of the GNU Lesser General Public
+--  License as published by the Free Software Foundation; either
+--  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_Pair.cdl
+--  Created:   
+--  Author:    Peter KURNEV
+--
+class Pair from NMTDS 
+
+       ---Purpose: 
+
+--uses
+--raises
+
+is 
+    Create  
+       returns Pair from NMTDS; 
+    ---C++: alias "Standard_EXPORT virtual ~NMTDS_Pair();" 
+
+    Create(Other:Pair from NMTDS) 
+       returns Pair from NMTDS;
+   ---C++: alias "Standard_EXPORT NMTDS_Pair& operator =(const NMTDS_Pair& Other);" 
+
+    Clear(me:out);
+            
+    SetIds(me:out; 
+           aI1 :Integer from Standard; 
+           aI2 :Integer from Standard);  
+    Ids(me; 
+           aI1 :out Integer from Standard;    
+           aI2 :out Integer from Standard);         
+     
+    IsEqual(me; 
+           aOther:Pair from NMTDS) 
+       returns Boolean from Standard;                       
+        
+    HashCode(me; 
+           Upper : Integer  from Standard)  
+       returns Integer from Standard;           
+     
+       
+fields 
+    myId1: Integer from Standard is protected;  
+    myId2: Integer from Standard is protected;  
+
+end Pair;
diff --git a/src/NMTDS/NMTDS_Pair.cxx b/src/NMTDS/NMTDS_Pair.cxx
new file mode 100644 (file)
index 0000000..dece0c7
--- /dev/null
@@ -0,0 +1,149 @@
+// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE
+//
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// 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_Pair.cxx
+// Author:      Peter KURNEV
+
+#include <NMTDS_Pair.ixx>
+
+#include <stdio.h>
+#include <string.h>
+#include <TColStd_ListIteratorOfListOfInteger.hxx>
+#include <TColStd_ListOfInteger.hxx>
+
+#ifdef WNT
+#pragma warning( disable : 4101) 
+#endif
+
+static
+  Standard_Integer NormalizedId(const Standard_Integer aId,
+                                const Standard_Integer aDiv);
+
+//=======================================================================
+//function :
+//purpose  : 
+//=======================================================================
+NMTDS_Pair::NMTDS_Pair()
+{
+  Clear(); 
+}
+//=======================================================================
+//function :
+//purpose  : 
+//=======================================================================
+NMTDS_Pair::NMTDS_Pair(const NMTDS_Pair& aOther)
+{
+  myId1=aOther.myId1;
+  myId2=aOther.myId2;
+}
+//=======================================================================
+//function :operator =
+//purpose  : 
+//=======================================================================
+  NMTDS_Pair& NMTDS_Pair::operator =(const NMTDS_Pair& aOther)
+{
+  myId1=aOther.myId1;
+  myId2=aOther.myId2;
+  return *this;
+}
+//=======================================================================
+//function :~
+//purpose  : 
+//=======================================================================
+  NMTDS_Pair::~NMTDS_Pair()
+{
+}
+//=======================================================================
+//function :Clear
+//purpose  : 
+//=======================================================================
+  void NMTDS_Pair::Clear()
+{
+  myId1=0;
+  myId2=0;
+}
+//=======================================================================
+//function :SetIds
+//purpose  : 
+//=======================================================================
+  void NMTDS_Pair::SetIds(const Standard_Integer aId1,
+                         const Standard_Integer aId2)
+{
+  Clear();
+  myId1=aId1;
+  myId2=aId2;
+  if (aId1>aId2) {
+    myId1=aId2;
+    myId2=aId1;
+  }
+}
+//=======================================================================
+//function :Ids
+//purpose  : 
+//=======================================================================
+  void NMTDS_Pair::Ids(Standard_Integer& aId1,
+                      Standard_Integer& aId2) const
+{
+  aId1=myId1;
+  aId2=myId2;
+}
+//=======================================================================
+//function :IsEqual
+//purpose  : 
+//=======================================================================
+  Standard_Boolean NMTDS_Pair::IsEqual(const NMTDS_Pair& aOther) const
+{
+  Standard_Boolean bRet;
+  //
+  bRet=(myId1==aOther.myId1 && myId2==aOther.myId2);//ZZ
+  return bRet;
+}
+//=======================================================================
+//function : HashCode
+//purpose  : 
+//=======================================================================
+  Standard_Integer NMTDS_Pair::HashCode(const Standard_Integer aUpper) const
+{
+  Standard_Integer aSum;
+  //
+  aSum=0;
+  aSum+=NormalizedId(myId1, 2);
+  aSum+=NormalizedId(myId2, 2);
+  return ::HashCode(aSum, aUpper);
+}
+//=======================================================================
+// 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;
+}
diff --git a/src/NMTDS/NMTDS_Pair.hxx b/src/NMTDS/NMTDS_Pair.hxx
new file mode 100644 (file)
index 0000000..2b884ec
--- /dev/null
@@ -0,0 +1,101 @@
+// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_Pair_HeaderFile\r
+#define _NMTDS_Pair_HeaderFile\r
+\r
+#ifndef _Standard_HeaderFile\r
+#include <Standard.hxx>\r
+#endif\r
+#ifndef _Standard_Macro_HeaderFile\r
+#include <Standard_Macro.hxx>\r
+#endif\r
+\r
+#ifndef _Standard_Integer_HeaderFile\r
+#include <Standard_Integer.hxx>\r
+#endif\r
+#ifndef _Standard_Boolean_HeaderFile\r
+#include <Standard_Boolean.hxx>\r
+#endif\r
+\r
+\r
+\r
+class NMTDS_Pair  {\r
+public:\r
+\r
+  void* operator new(size_t,void* anAddress) \r
+  {\r
+    return anAddress;\r
+  }\r
+  void* operator new(size_t size) \r
+  {\r
+    return Standard::Allocate(size); \r
+  }\r
+  void  operator delete(void *anAddress) \r
+  {\r
+    if (anAddress) Standard::Free((Standard_Address&)anAddress); \r
+  }\r
+\r
+  \r
+  Standard_EXPORT   NMTDS_Pair();\r
+Standard_EXPORT virtual ~NMTDS_Pair();\r
+  \r
+  Standard_EXPORT   NMTDS_Pair(const NMTDS_Pair& Other);\r
+Standard_EXPORT NMTDS_Pair& operator =(const NMTDS_Pair& Other);\r
+  \r
+  Standard_EXPORT     void Clear() ;\r
+  \r
+  Standard_EXPORT     void SetIds(const Standard_Integer aI1,const Standard_Integer aI2) ;\r
+  \r
+  Standard_EXPORT     void Ids(Standard_Integer& aI1,Standard_Integer& aI2) const;\r
+  \r
+  Standard_EXPORT     Standard_Boolean IsEqual(const NMTDS_Pair& aOther) const;\r
+  \r
+  Standard_EXPORT     Standard_Integer HashCode(const Standard_Integer Upper) const;\r
+\r
+\r
+\r
+\r
+\r
+protected:\r
+\r
+\r
+\r
+Standard_Integer myId1;\r
+Standard_Integer myId2;\r
+\r
+\r
+private:\r
+\r
+\r
+\r
+\r
+\r
+};\r
+\r
+\r
+\r
+\r
+\r
+// other Inline functions and methods (like "C++: function call" methods)\r
+\r
+\r
+#endif\r
diff --git a/src/NMTDS/NMTDS_Pair.ixx b/src/NMTDS/NMTDS_Pair.ixx
new file mode 100644 (file)
index 0000000..359d8ae
--- /dev/null
@@ -0,0 +1,26 @@
+// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#include <NMTDS_Pair.jxx>\r
+\r
\r
+\r
+\r
diff --git a/src/NMTDS/NMTDS_Pair.jxx b/src/NMTDS/NMTDS_Pair.jxx
new file mode 100644 (file)
index 0000000..f732185
--- /dev/null
@@ -0,0 +1,24 @@
+// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_Pair_HeaderFile\r
+#include <NMTDS_Pair.hxx>\r
+#endif\r
diff --git a/src/NMTDS/NMTDS_PairBoolean.cdl b/src/NMTDS/NMTDS_PairBoolean.cdl
new file mode 100644 (file)
index 0000000..e20e9e4
--- /dev/null
@@ -0,0 +1,52 @@
+-- Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE
+--
+-- Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+-- CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+--
+-- This library is free software; you can redistribute it and/or
+-- modify it under the terms of the GNU Lesser General Public
+-- License as published by the Free Software Foundation; either
+-- 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_PairBoolean.cdl
+--  Created:   
+--  Author:    Peter KURNEV
+
+class PairBoolean from NMTDS 
+    inherits Pair from NMTDS 
+
+       ---Purpose: 
+
+uses
+    Shape from TopoDS, 
+    ListOfInteger from TColStd   
+        
+--raises
+
+is 
+    Create  
+       returns PairBoolean from NMTDS; 
+    ---C++: alias "Standard_EXPORT virtual ~NMTDS_PairBoolean();" 
+    
+    SetFlag(me:out; 
+           aFlag: Boolean from Standard); 
+    ---C++: alias " Standard_EXPORT NMTDS_PairBoolean& operator =(const NMTDS_PairBoolean& Other);" 
+    
+    Flag(me)  
+       returns Boolean from Standard;      
+
+fields 
+    myFlag: Boolean from Standard is protected;  
+
+end PairBoolean;
diff --git a/src/NMTDS/NMTDS_PairBoolean.cxx b/src/NMTDS/NMTDS_PairBoolean.cxx
new file mode 100644 (file)
index 0000000..3646949
--- /dev/null
@@ -0,0 +1,69 @@
+// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE
+//
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// 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_PairBoolean.cxx
+// Author:      Peter KURNEV
+
+#include <NMTDS_PairBoolean.ixx>
+
+//=======================================================================
+//function : 
+//purpose  : 
+//=======================================================================
+  NMTDS_PairBoolean::NMTDS_PairBoolean()
+:
+  myFlag(Standard_False),
+  NMTDS_Pair()
+{
+}
+//=======================================================================
+//function : ~
+//purpose  : 
+//=======================================================================
+  NMTDS_PairBoolean::~NMTDS_PairBoolean()
+{
+}
+//=======================================================================
+//function :operator =
+//purpose  : 
+//=======================================================================
+  NMTDS_PairBoolean& NMTDS_PairBoolean::operator =(const NMTDS_PairBoolean& anOther)
+{
+  myFlag=anOther.myFlag;
+  NMTDS_Pair::operator =(anOther);
+  return *this;
+}
+//=======================================================================
+//function :SetFlag
+//purpose  : 
+//=======================================================================
+  void NMTDS_PairBoolean::SetFlag(const Standard_Boolean aFlag)
+{
+  myFlag=aFlag;
+}
+//=======================================================================
+//function :Flag
+//purpose  : 
+//=======================================================================
+  Standard_Boolean NMTDS_PairBoolean::Flag()const
+{
+  return myFlag;
+}
diff --git a/src/NMTDS/NMTDS_PairBoolean.hxx b/src/NMTDS/NMTDS_PairBoolean.hxx
new file mode 100644 (file)
index 0000000..8bf1a29
--- /dev/null
@@ -0,0 +1,92 @@
+// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_PairBoolean_HeaderFile\r
+#define _NMTDS_PairBoolean_HeaderFile\r
+\r
+#ifndef _Standard_HeaderFile\r
+#include <Standard.hxx>\r
+#endif\r
+#ifndef _Standard_Macro_HeaderFile\r
+#include <Standard_Macro.hxx>\r
+#endif\r
+\r
+#ifndef _Standard_Boolean_HeaderFile\r
+#include <Standard_Boolean.hxx>\r
+#endif\r
+#ifndef _NMTDS_Pair_HeaderFile\r
+#include <NMTDS_Pair.hxx>\r
+#endif\r
+\r
+\r
+\r
+class NMTDS_PairBoolean  : public NMTDS_Pair {\r
+public:\r
+\r
+  void* operator new(size_t,void* anAddress) \r
+  {\r
+    return anAddress;\r
+  }\r
+  void* operator new(size_t size) \r
+  {\r
+    return Standard::Allocate(size); \r
+  }\r
+  void  operator delete(void *anAddress) \r
+  {\r
+    if (anAddress) Standard::Free((Standard_Address&)anAddress); \r
+  }\r
+\r
+  \r
+  Standard_EXPORT   NMTDS_PairBoolean();\r
+Standard_EXPORT virtual ~NMTDS_PairBoolean();\r
+  \r
+  Standard_EXPORT     void SetFlag(const Standard_Boolean aFlag) ;\r
+ Standard_EXPORT NMTDS_PairBoolean& operator =(const NMTDS_PairBoolean& Other);\r
+  \r
+  Standard_EXPORT     Standard_Boolean Flag() const;\r
+\r
+\r
+\r
+\r
+\r
+protected:\r
+\r
+\r
+\r
+Standard_Boolean myFlag;\r
+\r
+\r
+private:\r
+\r
+\r
+\r
+\r
+\r
+};\r
+\r
+\r
+\r
+\r
+\r
+// other Inline functions and methods (like "C++: function call" methods)\r
+\r
+\r
+#endif\r
diff --git a/src/NMTDS/NMTDS_PairBoolean.ixx b/src/NMTDS/NMTDS_PairBoolean.ixx
new file mode 100644 (file)
index 0000000..71fdb73
--- /dev/null
@@ -0,0 +1,26 @@
+// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#include <NMTDS_PairBoolean.jxx>\r
+\r
\r
+\r
+\r
diff --git a/src/NMTDS/NMTDS_PairBoolean.jxx b/src/NMTDS/NMTDS_PairBoolean.jxx
new file mode 100644 (file)
index 0000000..c45fd03
--- /dev/null
@@ -0,0 +1,24 @@
+// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_PairBoolean_HeaderFile\r
+#include <NMTDS_PairBoolean.hxx>\r
+#endif\r
diff --git a/src/NMTDS/NMTDS_PairMapHasher.cdl b/src/NMTDS/NMTDS_PairMapHasher.cdl
new file mode 100644 (file)
index 0000000..cf4a804
--- /dev/null
@@ -0,0 +1,46 @@
+--  Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE
+--
+--  Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+--  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+--
+--  This library is free software; you can redistribute it and/or
+--  modify it under the terms of the GNU Lesser General Public
+--  License as published by the Free Software Foundation; either
+--  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_PairMapHasher.cdl
+--  Author:    Peter KURNEV
+
+class PairMapHasher from NMTDS 
+
+       ---Purpose: 
+
+uses 
+    Pair from NMTDS 
+
+--raises
+
+is 
+    HashCode(myclass;  
+           aPKey : Pair from NMTDS;  
+           Upper : Integer from Standard)  
+       returns Integer from Standard;
+       
+       
+    IsEqual(myclass;  
+           aPKey1 : Pair from NMTDS;  
+           aPKey2 : Pair from NMTDS)  
+       returns Boolean from Standard;
+
+end PairMapHasher;
diff --git a/src/NMTDS/NMTDS_PairMapHasher.cxx b/src/NMTDS/NMTDS_PairMapHasher.cxx
new file mode 100644 (file)
index 0000000..46c7990
--- /dev/null
@@ -0,0 +1,44 @@
+// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE
+//
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// 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_PairMapHasher.cxx
+// Author:      Peter KURNEV
+
+#include <NMTDS_PairMapHasher.ixx>
+
+//=======================================================================
+//function : HashCode
+//purpose  : 
+//=======================================================================
+Standard_Integer NMTDS_PairMapHasher::HashCode(const NMTDS_Pair& aPK,
+                                              const Standard_Integer Upper)
+{
+  return aPK.HashCode(Upper);
+}
+//=======================================================================
+//function :IsEqual
+//purpose  : 
+//=======================================================================
+Standard_Boolean NMTDS_PairMapHasher::IsEqual(const NMTDS_Pair& aPK1,
+                                             const NMTDS_Pair& aPK2)
+{
+  return aPK1.IsEqual(aPK2);
+}
diff --git a/src/NMTDS/NMTDS_PairMapHasher.hxx b/src/NMTDS/NMTDS_PairMapHasher.hxx
new file mode 100644 (file)
index 0000000..2485888
--- /dev/null
@@ -0,0 +1,88 @@
+// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_PairMapHasher_HeaderFile\r
+#define _NMTDS_PairMapHasher_HeaderFile\r
+\r
+#ifndef _Standard_HeaderFile\r
+#include <Standard.hxx>\r
+#endif\r
+#ifndef _Standard_Macro_HeaderFile\r
+#include <Standard_Macro.hxx>\r
+#endif\r
+\r
+#ifndef _Standard_Integer_HeaderFile\r
+#include <Standard_Integer.hxx>\r
+#endif\r
+#ifndef _Standard_Boolean_HeaderFile\r
+#include <Standard_Boolean.hxx>\r
+#endif\r
+class NMTDS_Pair;\r
+\r
+\r
+\r
+class NMTDS_PairMapHasher  {\r
+public:\r
+\r
+  void* operator new(size_t,void* anAddress) \r
+  {\r
+    return anAddress;\r
+  }\r
+  void* operator new(size_t size) \r
+  {\r
+    return Standard::Allocate(size); \r
+  }\r
+  void  operator delete(void *anAddress) \r
+  {\r
+    if (anAddress) Standard::Free((Standard_Address&)anAddress); \r
+  }\r
+\r
+  \r
+  Standard_EXPORT   static  Standard_Integer HashCode(const NMTDS_Pair& aPKey,const Standard_Integer Upper) ;\r
+  \r
+  Standard_EXPORT   static  Standard_Boolean IsEqual(const NMTDS_Pair& aPKey1,const NMTDS_Pair& aPKey2) ;\r
+\r
+\r
+\r
+\r
+\r
+protected:\r
+\r
+\r
+\r
+\r
+\r
+private:\r
+\r
+\r
+\r
+\r
+\r
+};\r
+\r
+\r
+\r
+\r
+\r
+// other Inline functions and methods (like "C++: function call" methods)\r
+\r
+\r
+#endif\r
diff --git a/src/NMTDS/NMTDS_PairMapHasher.ixx b/src/NMTDS/NMTDS_PairMapHasher.ixx
new file mode 100644 (file)
index 0000000..19a1a77
--- /dev/null
@@ -0,0 +1,26 @@
+// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#include <NMTDS_PairMapHasher.jxx>\r
+\r
\r
+\r
+\r
diff --git a/src/NMTDS/NMTDS_PairMapHasher.jxx b/src/NMTDS/NMTDS_PairMapHasher.jxx
new file mode 100644 (file)
index 0000000..d4dfdf5
--- /dev/null
@@ -0,0 +1,27 @@
+// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_Pair_HeaderFile\r
+#include <NMTDS_Pair.hxx>\r
+#endif\r
+#ifndef _NMTDS_PairMapHasher_HeaderFile\r
+#include <NMTDS_PairMapHasher.hxx>\r
+#endif\r
index 5b11882c0cdf373b42275f2115a4f462e2a428b1..0f2c201f689a0d3bb961b04ce3ad68646194d6d9 100644 (file)
@@ -21,7 +21,7 @@
 --
 
 --  File:      NMTDS_ShapesDataStructure.cdl
---  Created:   Mon Dec  1 10:17:05 2003
+--  Created:   
 --  Author:    Peter KURNEV
 --
 class ShapesDataStructure from NMTDS  
@@ -34,8 +34,11 @@ uses
     IndexedMapOfInteger from TColStd,
     Shape from TopoDS, 
     IndexedDataMapOfShapeAncestorsSuccessors from BooleanOperations,
-    CArray1OfIndexRange from NMTDS, 
-    IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger from NMTDS
+    CArray1OfIndexRange from NMTDS,  
+    --modified by NIZNHY-PKV Mon Dec 12 08:57:18 2011f 
+    DataMapOfShapeInteger from TopTools 
+    --IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger from NMTDS  
+    --modified by NIZNHY-PKV Mon Dec 12 08:57:22 2011t
 --raises
 
 is 
@@ -70,8 +73,6 @@ is
        returns Integer from Standard  
        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;  
@@ -81,7 +82,6 @@ is
            aS  :Shape from TopoDS; 
            aMSA:out IndexedDataMapOfShapeAncestorsSuccessors from BooleanOperations;  
            aMS :out IndexedDataMapOfShapeAncestorsSuccessors from BooleanOperations); 
--- Contribution of Samtech www.samcef.com END 
 
     GetAllSuccessors(me; 
        anIndex:Integer from Standard; 
@@ -93,8 +93,10 @@ is
 
 fields
     myCompositeShape:  Shape from TopoDS is protected; 
-    myRanges        :  CArray1OfIndexRange from NMTDS is protected; 
-    myShapeIndexMap :  IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger from NMTDS is protected;  
-     
+    myRanges        :  CArray1OfIndexRange from NMTDS is protected;  
+    --modified by NIZNHY-PKV Mon Dec 12 08:58:07 2011f 
+    myShapeIndexMap : DataMapOfShapeInteger from TopTools is protected;  
+    --myShapeIndexMap :  IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger from NMTDS is protected;  
+    --modified by NIZNHY-PKV Mon Dec 12 08:58:21 2011t 
 end ShapesDataStructure;
     
index 85e5876b56f47cea7928c69e6cf19f334f3e9b89..1fc3741c142125c55389582707aa697ac869cea0 100644 (file)
 // 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.cxx
-// Created:     Mon Dec  1 10:21:04 2003
 // Author:      Peter KURNEV
-//              <pkv@irinox>
-//
+
 #include <NMTDS_ShapesDataStructure.ixx>
 #include <TopoDS_Iterator.hxx>
 #include <TopoDS_Shape.hxx>
@@ -53,7 +50,7 @@ static
 //function : NMTDS_ShapesDataStructure::NMTDS_ShapesDataStructure
 //purpose  : 
 //===========================================================================
-  NMTDS_ShapesDataStructure::NMTDS_ShapesDataStructure()
+NMTDS_ShapesDataStructure::NMTDS_ShapesDataStructure()
 :
   BooleanOperations_ShapesDataStructure()
 {}
@@ -61,7 +58,7 @@ static
 //function : SetCompositeShape
 //purpose  : 
 //===========================================================================
-  void NMTDS_ShapesDataStructure::SetCompositeShape(const TopoDS_Shape& aS)
+void NMTDS_ShapesDataStructure::SetCompositeShape(const TopoDS_Shape& aS)
 {
   myCompositeShape=aS;
 }
@@ -69,7 +66,7 @@ static
 //function : CompositeShape
 //purpose  : 
 //===========================================================================
-  const TopoDS_Shape& NMTDS_ShapesDataStructure::CompositeShape()const
+const TopoDS_Shape& NMTDS_ShapesDataStructure::CompositeShape()const
 {
   return myCompositeShape;
 }
@@ -77,17 +74,15 @@ static
 //function : Ranges
 //purpose  : 
 //===========================================================================
-  const NMTDS_CArray1OfIndexRange& NMTDS_ShapesDataStructure::Ranges()const
+const NMTDS_CArray1OfIndexRange& NMTDS_ShapesDataStructure::Ranges()const
 {
   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
+void NMTDS_ShapesDataStructure::FillMap
   (const TopoDS_Shape& aS,
    BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& aMSA,
    BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& aMS) const
@@ -121,7 +116,7 @@ static
 //function : FillSubshapes
 //purpose  : 
 //===========================================================================
-  void NMTDS_ShapesDataStructure::FillSubshapes
+void NMTDS_ShapesDataStructure::FillSubshapes
   (const TopoDS_Shape& aS,
    BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& aMSA,
    BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& aMS) const
@@ -153,12 +148,11 @@ static
     }
   }
 }
-// Contribution of Samtech www.samcef.com END 
 //===========================================================================
 //function : Init
 //purpose  : 
 //===========================================================================
-  void NMTDS_ShapesDataStructure::Init()
+void NMTDS_ShapesDataStructure::Init()
 {
   Standard_Integer i, j, aNbSx, aNbS, aShift, aNbRanges;
   Standard_Integer iFirst, iLast;
@@ -171,30 +165,21 @@ static
   for (; anIt.More(); anIt.Next()) {
     const TopoDS_Shape& aSx=anIt.Value(); 
     BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors aMS;
-    //modified by NIZNHY-PKV Tue Feb 27 17:05:47 2007f
-    //FillMap(aSx, aMSA, aMS);
-    //aLx.Append(aMS);
     //
     if (!aMSA.Contains(aSx)) {
       FillMap(aSx, aMSA, aMS);
       aLx.Append(aMS);
     }
-    //modified by NIZNHY-PKV Tue Feb 27 17:06:03 2007t
   }
   aNbS=aMSA.Extent(); 
   //
   // Fill myRanges
-  //modified by NIZNHY-PKV Tue Feb 27 17:10:07 2007f
   i=aLx.Extent();
-  //modified by NIZNHY-PKV Tue Feb 27 17:10:10 2007t
   myRanges.Resize(i);
   aLit.Initialize(aLx);
   for (i=1; aLit.More(); aLit.Next(), ++i) {
-    // 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;
@@ -209,34 +194,14 @@ static
   }
   //
   myNumberOfShapesOfTheObject=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
-    
-  //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) {
@@ -244,24 +209,21 @@ static
     const BooleanOperations_AncestorsSeqAndSuccessorsSeq& aASx=aMSA.FindFromIndex(j);
     InsertShapeAndAncestorsSuccessors(aSx, aASx, aShift);
   }
-  // Contribution of Samtech www.samcef.com END
-  //
   // myShapeIndexMap
   myShapeIndexMap.Clear();
   //
+  //modified by NIZNHY-PKV Mon Dec 12 09:01:53 2011f
   aNbRanges=myRanges.Extent();
   for (i=1; i<=aNbRanges; ++i){
-    BooleanOperations_IndexedDataMapOfShapeInteger aSIM;
-    //
     const NMTDS_IndexRange& aR=myRanges(i);
     iFirst=aR.First();
     iLast =aR.Last();
     for (j=iFirst; j<=iLast; ++j) { 
       const TopoDS_Shape& aS=Shape(j);
-      aSIM.Add(aS, j);
+      myShapeIndexMap.Bind(aS, j);
     }
-    myShapeIndexMap.Add(i, aSIM);
   }
+  //modified by NIZNHY-PKV Mon Dec 12 09:02:00 2011t
   //
   // myRefEdges
   iLast=myNumberOfShapesOfTheObject+myNumberOfShapesOfTheTool;
@@ -280,7 +242,8 @@ static
 //function : ShapeRangeIndex
 //purpose  : 
 //===========================================================================
-  Standard_Integer NMTDS_ShapesDataStructure::ShapeRangeIndex(const Standard_Integer aId)const
+Standard_Integer NMTDS_ShapesDataStructure::ShapeRangeIndex
+  (const Standard_Integer aId)const
 {
   Standard_Boolean bFound;
   Standard_Integer i, aNbR, aIdx, aNbS, aZero=0;
@@ -310,7 +273,8 @@ static
 //function : Rank
 //purpose  : 
 //===========================================================================
-  Standard_Integer NMTDS_ShapesDataStructure::Rank(const Standard_Integer aId)const
+Standard_Integer NMTDS_ShapesDataStructure::Rank
+  (const Standard_Integer aId)const
 {
   Standard_Boolean bFound;
   Standard_Integer i, aNbR, aNbS, aZero=0;
@@ -335,41 +299,21 @@ static
 //function : ShapeIndex
 //purpose  : 
 //===========================================================================
-  Standard_Integer NMTDS_ShapesDataStructure::ShapeIndex(const TopoDS_Shape& aS,
-                                                         const Standard_Integer aRank)const
+Standard_Integer NMTDS_ShapesDataStructure::ShapeIndex
+  (const TopoDS_Shape& aS,
+   const Standard_Integer aRank)const
 {
-  Standard_Boolean bFound;
-  Standard_Integer aIndex=0;
-  //
-  bFound=myShapeIndexMap.Contains(aRank);
-  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);
-  //
-  //bFound=aSIM.Contains(aS);
-  //if (!bFound) {
-  //  return aIndex;
-  //}
-  //
-  //aIndex=aSIM.FindFromKey(aS);
+  Standard_Address pIndex;
+  Standard_Integer aIndex;
   //
-  Standard_Integer i, aNbRanks;
+  aIndex=0;
   //
-  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;
-    }
+  //modified by NIZNHY-PKV Mon Dec 12 09:02:48 2011f
+  pIndex=myShapeIndexMap.Find1(aS);
+  if (pIndex) {
+    aIndex=*((Standard_Integer*)pIndex);
   }
-  // Contribution of Samtech www.samcef.com END
+  //modified by NIZNHY-PKV Mon Dec 12 09:02:54 2011t
   return aIndex;
 }
 
@@ -377,8 +321,9 @@ static
 //function : ComputeBoxEx
 //purpose  : 
 //=======================================================================
-  void NMTDS_ShapesDataStructure::ComputeBoxEx (const Standard_Integer aIx,
-                                                Bnd_Box& aBoxEx)const
+void NMTDS_ShapesDataStructure::ComputeBoxEx 
+  (const Standard_Integer aIx,
+   Bnd_Box& aBoxEx)const
 {
   ComputeBoxExS(aIx, this, aBoxEx);
 }
@@ -386,8 +331,9 @@ static
 //function : GetAllSuccessors
 //purpose  : 
 //=======================================================================
-  void NMTDS_ShapesDataStructure::GetAllSuccessors(const Standard_Integer nS,
-                                                   TColStd_IndexedMapOfInteger& aMA)const
+void NMTDS_ShapesDataStructure::GetAllSuccessors
+  (const Standard_Integer nS,
+   TColStd_IndexedMapOfInteger& aMA)const
 {
   GetAllSuccessorsS(nS, this, aMA);
 }
@@ -424,9 +370,9 @@ void GetAllSuccessorsS(const Standard_Integer nS,
 // function: ComputeBoxExS
 // purpose: 
 //=======================================================================
-  void ComputeBoxExS(const Standard_Integer aIx,
-                     const NMTDS_ShapesDataStructure* pDS,
-                     Bnd_Box& aBoxEx)
+void ComputeBoxExS(const Standard_Integer aIx,
+                  const NMTDS_ShapesDataStructure* pDS,
+                  Bnd_Box& aBoxEx)
 {
   Standard_Integer i, aNbS, iS;
   //
index bcc61031b4e91c4d01b3e2fdac835dcd03b15e40..f8a1180dfda6abe26b60179148ab135ed031bf4b 100644 (file)
-// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE
-//
-// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// 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
-#define _NMTDS_ShapesDataStructure_HeaderFile
-
-#ifndef _TopoDS_Shape_HeaderFile
-#include <TopoDS_Shape.hxx>
-#endif
-#ifndef _NMTDS_CArray1OfIndexRange_HeaderFile
-#include <NMTDS_CArray1OfIndexRange.hxx>
-#endif
-#ifndef _NMTDS_IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger_HeaderFile
-#include <NMTDS_IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger.hxx>
-#endif
-#ifndef _BooleanOperations_ShapesDataStructure_HeaderFile
-#include <BooleanOperations_ShapesDataStructure.hxx>
-#endif
-#ifndef _Standard_Integer_HeaderFile
-#include <Standard_Integer.hxx>
-#endif
-class TopoDS_Shape;
-class NMTDS_CArray1OfIndexRange;
-class BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors;
-class TColStd_IndexedMapOfInteger;
-class Bnd_Box;
-
-
-#ifndef _Standard_HeaderFile
-#include <Standard.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-
-
-class NMTDS_ShapesDataStructure  : public BooleanOperations_ShapesDataStructure {
-
-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_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;
-
-
-Standard_EXPORT   void GetAllSuccessors(const Standard_Integer anIndex,TColStd_IndexedMapOfInteger& aScrs) const;
-
-
-Standard_EXPORT   void ComputeBoxEx(const Standard_Integer anIndex,Bnd_Box& aBox) const;
-
-
-
-
-
-protected:
-
- // Methods PROTECTED
- // 
-
-
- // Fields PROTECTED
- //
-TopoDS_Shape myCompositeShape;
-NMTDS_CArray1OfIndexRange myRanges;
-NMTDS_IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger myShapeIndexMap;
-
-
-private: 
-
- // Methods PRIVATE
- // 
-
-
- // Fields PRIVATE
- //
-
-
-};
-
-
-
-
-
-// other Inline functions and methods (like "C++: function call" methods)
-//
-
-
-#endif
+// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_ShapesDataStructure_HeaderFile\r
+#define _NMTDS_ShapesDataStructure_HeaderFile\r
+\r
+#ifndef _Standard_HeaderFile\r
+#include <Standard.hxx>\r
+#endif\r
+#ifndef _Standard_Macro_HeaderFile\r
+#include <Standard_Macro.hxx>\r
+#endif\r
+\r
+#ifndef _TopoDS_Shape_HeaderFile\r
+#include <TopoDS_Shape.hxx>\r
+#endif\r
+#ifndef _NMTDS_CArray1OfIndexRange_HeaderFile\r
+#include <NMTDS_CArray1OfIndexRange.hxx>\r
+#endif\r
+#ifndef _TopTools_DataMapOfShapeInteger_HeaderFile\r
+#include <TopTools_DataMapOfShapeInteger.hxx>\r
+#endif\r
+#ifndef _BooleanOperations_ShapesDataStructure_HeaderFile\r
+#include <BooleanOperations_ShapesDataStructure.hxx>\r
+#endif\r
+#ifndef _Standard_Integer_HeaderFile\r
+#include <Standard_Integer.hxx>\r
+#endif\r
+class TopoDS_Shape;\r
+class NMTDS_CArray1OfIndexRange;\r
+class BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors;\r
+class TColStd_IndexedMapOfInteger;\r
+class Bnd_Box;\r
+\r
+\r
+\r
+class NMTDS_ShapesDataStructure  : public BooleanOperations_ShapesDataStructure {\r
+public:\r
+\r
+  void* operator new(size_t,void* anAddress) \r
+  {\r
+    return anAddress;\r
+  }\r
+  void* operator new(size_t size) \r
+  {\r
+    return Standard::Allocate(size); \r
+  }\r
+  void  operator delete(void *anAddress) \r
+  {\r
+    if (anAddress) Standard::Free((Standard_Address&)anAddress); \r
+  }\r
+\r
+  \r
+  Standard_EXPORT   NMTDS_ShapesDataStructure();\r
+  \r
+  Standard_EXPORT     void SetCompositeShape(const TopoDS_Shape& aS) ;\r
+  \r
+  Standard_EXPORT     void Init() ;\r
+  \r
+  Standard_EXPORT    const NMTDS_CArray1OfIndexRange& Ranges() const;\r
+  \r
+  Standard_EXPORT    const TopoDS_Shape& CompositeShape() const;\r
+  \r
+  Standard_EXPORT     Standard_Integer ShapeRangeIndex(const Standard_Integer aId) const;\r
+  \r
+  Standard_EXPORT   virtual  Standard_Integer Rank(const Standard_Integer anIndex) const;\r
+  \r
+  Standard_EXPORT   virtual  Standard_Integer ShapeIndex(const TopoDS_Shape& aS,const Standard_Integer iRank) const;\r
+  \r
+  Standard_EXPORT     void FillMap(const TopoDS_Shape& aS,BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& aMSA,BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& aMS) const;\r
+  \r
+  Standard_EXPORT     void FillSubshapes(const TopoDS_Shape& aS,BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& aMSA,BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& aMS) const;\r
+  \r
+  Standard_EXPORT     void GetAllSuccessors(const Standard_Integer anIndex,TColStd_IndexedMapOfInteger& aScrs) const;\r
+  \r
+  Standard_EXPORT     void ComputeBoxEx(const Standard_Integer anIndex,Bnd_Box& aBox) const;\r
+\r
+\r
+\r
+\r
+\r
+protected:\r
+\r
+\r
+\r
+TopoDS_Shape myCompositeShape;\r
+NMTDS_CArray1OfIndexRange myRanges;\r
+TopTools_DataMapOfShapeInteger myShapeIndexMap;\r
+\r
+\r
+private:\r
+\r
+\r
+\r
+\r
+\r
+};\r
+\r
+\r
+\r
+\r
+\r
+// other Inline functions and methods (like "C++: function call" methods)\r
+\r
+\r
+#endif\r
diff --git a/src/NMTDS/NMTDS_StdMapNodeOfMapOfPairBoolean.hxx b/src/NMTDS/NMTDS_StdMapNodeOfMapOfPairBoolean.hxx
new file mode 100644 (file)
index 0000000..4fa8a6a
--- /dev/null
@@ -0,0 +1,110 @@
+// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_StdMapNodeOfMapOfPairBoolean_HeaderFile\r
+#define _NMTDS_StdMapNodeOfMapOfPairBoolean_HeaderFile\r
+\r
+#ifndef _Standard_HeaderFile\r
+#include <Standard.hxx>\r
+#endif\r
+#ifndef _Standard_DefineHandle_HeaderFile\r
+#include <Standard_DefineHandle.hxx>\r
+#endif\r
+#ifndef _Handle_NMTDS_StdMapNodeOfMapOfPairBoolean_HeaderFile\r
+#include <Handle_NMTDS_StdMapNodeOfMapOfPairBoolean.hxx>\r
+#endif\r
+\r
+#ifndef _NMTDS_PairBoolean_HeaderFile\r
+#include <NMTDS_PairBoolean.hxx>\r
+#endif\r
+#ifndef _TCollection_MapNode_HeaderFile\r
+#include <TCollection_MapNode.hxx>\r
+#endif\r
+#ifndef _TCollection_MapNodePtr_HeaderFile\r
+#include <TCollection_MapNodePtr.hxx>\r
+#endif\r
+class NMTDS_PairBoolean;\r
+class NMTDS_PairMapHasher;\r
+class NMTDS_MapOfPairBoolean;\r
+class NMTDS_MapIteratorOfMapOfPairBoolean;\r
+\r
+\r
+\r
+class NMTDS_StdMapNodeOfMapOfPairBoolean : public TCollection_MapNode {\r
+\r
+public:\r
+\r
+  \r
+      NMTDS_StdMapNodeOfMapOfPairBoolean(const NMTDS_PairBoolean& K,const TCollection_MapNodePtr& n);\r
+  \r
+        NMTDS_PairBoolean& Key() const;\r
+\r
+\r
+\r
+\r
+  DEFINE_STANDARD_RTTI(NMTDS_StdMapNodeOfMapOfPairBoolean)\r
+\r
+protected:\r
+\r
+\r
+\r
+\r
+private: \r
+\r
+\r
+NMTDS_PairBoolean myKey;\r
+\r
+\r
+};\r
+\r
+#define TheKey NMTDS_PairBoolean\r
+#define TheKey_hxx <NMTDS_PairBoolean.hxx>\r
+#define Hasher NMTDS_PairMapHasher\r
+#define Hasher_hxx <NMTDS_PairMapHasher.hxx>\r
+#define TCollection_StdMapNode NMTDS_StdMapNodeOfMapOfPairBoolean\r
+#define TCollection_StdMapNode_hxx <NMTDS_StdMapNodeOfMapOfPairBoolean.hxx>\r
+#define TCollection_MapIterator NMTDS_MapIteratorOfMapOfPairBoolean\r
+#define TCollection_MapIterator_hxx <NMTDS_MapIteratorOfMapOfPairBoolean.hxx>\r
+#define Handle_TCollection_StdMapNode Handle_NMTDS_StdMapNodeOfMapOfPairBoolean\r
+#define TCollection_StdMapNode_Type_() NMTDS_StdMapNodeOfMapOfPairBoolean_Type_()\r
+#define TCollection_Map NMTDS_MapOfPairBoolean\r
+#define TCollection_Map_hxx <NMTDS_MapOfPairBoolean.hxx>\r
+\r
+#include <TCollection_StdMapNode.lxx>\r
+\r
+#undef TheKey\r
+#undef TheKey_hxx\r
+#undef Hasher\r
+#undef Hasher_hxx\r
+#undef TCollection_StdMapNode\r
+#undef TCollection_StdMapNode_hxx\r
+#undef TCollection_MapIterator\r
+#undef TCollection_MapIterator_hxx\r
+#undef Handle_TCollection_StdMapNode\r
+#undef TCollection_StdMapNode_Type_\r
+#undef TCollection_Map\r
+#undef TCollection_Map_hxx\r
+\r
+\r
+// other Inline functions and methods (like "C++: function call" methods)\r
+\r
+\r
+#endif\r
diff --git a/src/NMTDS/NMTDS_StdMapNodeOfMapOfPairBoolean_0.cxx b/src/NMTDS/NMTDS_StdMapNodeOfMapOfPairBoolean_0.cxx
new file mode 100644 (file)
index 0000000..4a755b6
--- /dev/null
@@ -0,0 +1,71 @@
+// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#include <NMTDS_StdMapNodeOfMapOfPairBoolean.hxx>\r
+\r
+#ifndef _Standard_Type_HeaderFile\r
+#include <Standard_Type.hxx>\r
+#endif\r
+\r
+#ifndef _NMTDS_PairBoolean_HeaderFile\r
+#include <NMTDS_PairBoolean.hxx>\r
+#endif\r
+#ifndef _NMTDS_PairMapHasher_HeaderFile\r
+#include <NMTDS_PairMapHasher.hxx>\r
+#endif\r
+#ifndef _NMTDS_MapOfPairBoolean_HeaderFile\r
+#include <NMTDS_MapOfPairBoolean.hxx>\r
+#endif\r
+#ifndef _NMTDS_MapIteratorOfMapOfPairBoolean_HeaderFile\r
+#include <NMTDS_MapIteratorOfMapOfPairBoolean.hxx>\r
+#endif\r
+\r
\r
+\r
+\r
+IMPLEMENT_STANDARD_TYPE(NMTDS_StdMapNodeOfMapOfPairBoolean)\r
+IMPLEMENT_STANDARD_SUPERTYPE_ARRAY()\r
+  STANDARD_TYPE(TCollection_MapNode),\r
+  STANDARD_TYPE(MMgt_TShared),\r
+  STANDARD_TYPE(Standard_Transient),\r
+\r
+IMPLEMENT_STANDARD_SUPERTYPE_ARRAY_END()\r
+IMPLEMENT_STANDARD_TYPE_END(NMTDS_StdMapNodeOfMapOfPairBoolean)\r
+\r
+\r
+IMPLEMENT_DOWNCAST(NMTDS_StdMapNodeOfMapOfPairBoolean,Standard_Transient)\r
+IMPLEMENT_STANDARD_RTTI(NMTDS_StdMapNodeOfMapOfPairBoolean)\r
+\r
+\r
+#define TheKey NMTDS_PairBoolean\r
+#define TheKey_hxx <NMTDS_PairBoolean.hxx>\r
+#define Hasher NMTDS_PairMapHasher\r
+#define Hasher_hxx <NMTDS_PairMapHasher.hxx>\r
+#define TCollection_StdMapNode NMTDS_StdMapNodeOfMapOfPairBoolean\r
+#define TCollection_StdMapNode_hxx <NMTDS_StdMapNodeOfMapOfPairBoolean.hxx>\r
+#define TCollection_MapIterator NMTDS_MapIteratorOfMapOfPairBoolean\r
+#define TCollection_MapIterator_hxx <NMTDS_MapIteratorOfMapOfPairBoolean.hxx>\r
+#define Handle_TCollection_StdMapNode Handle_NMTDS_StdMapNodeOfMapOfPairBoolean\r
+#define TCollection_StdMapNode_Type_() NMTDS_StdMapNodeOfMapOfPairBoolean_Type_()\r
+#define TCollection_Map NMTDS_MapOfPairBoolean\r
+#define TCollection_Map_hxx <NMTDS_MapOfPairBoolean.hxx>\r
+#include <TCollection_StdMapNode.gxx>\r
+\r
index 38df5ddeac4691215bbfad585e59d43ac05ec0e9..f4d8ecf41f955b873b06a1c2117da144adbc7c64 100644 (file)
@@ -20,7 +20,7 @@
 --  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 --
 -- File:       NMTTools_PaveFiller.cdl
--- Created:    Fri Dec  5 14:35:00 2003
+-- Created:    
 -- Author:     Peter KURNEV
 --             <pkv@irinox>
 --
@@ -252,7 +252,13 @@ is
        is protected;   
         
     UpdateCommonBlocks(me:out) 
+       is protected;   
+       
+    --modified by NIZNHY-PKV Mon Dec 12 09:12:15 2011f  
+    UpdateCommonBlocks(me:out; 
+           aI:Integer from Standard) 
        is protected;  
+    --modified by NIZNHY-PKV Mon Dec 12 09:12:21 2011t 
      
     UpdatePaveBlocks(me:out) 
        is protected; 
@@ -385,11 +391,9 @@ is
                 nF2 :Integer from Standard;  
                 aLs :out ListOfPaveBlock from BOPTools);  
  
---modified by NIZNHY-PKV Mon Oct 17 11:43:23 2011f 
-     RealSplitsInFace(me:out; 
+    RealSplitsInFace(me:out; 
                 nF1 :Integer from Standard;  
                 aLPB :out ListOfPaveBlock from BOPTools); 
---modified by NIZNHY-PKV Mon Oct 17 11:43:39 2011t 
  
     RealSplitsOnEdge(me:out; 
                 nE1 :Integer from Standard;  
index 3a4e107004950cf931ca5889963378653aa2c6d0..b3c13fcdc43fed2c0cec12ac4cb8710a84a2e38f 100644 (file)
     myPavePoolNew.Destroy();
     myPavePoolNew.Resize (myNbEdges);
     //
+    //modified by NIZNHY-PKV Mon Dec 12 09:13:53 2011f
+    UpdateCommonBlocks(0);
+    //modified by NIZNHY-PKV Mon Dec 12 09:13:56 2011t
+    //
     // 5.EF
     PreparePaveBlocks(TopAbs_EDGE, TopAbs_FACE);
     PerformEF();
     //
     MakeAloneVertices();
     //
+    //modified by NIZNHY-PKV Mon Dec 12 09:14:23 2011f
+    myIP->Purge();
+    //modified by NIZNHY-PKV Mon Dec 12 09:14:27 2011t
     myIsDone=Standard_True;
   }
   catch (BOPTColStd_Failure& ) {
index 30be6512193b281c67a805c593361f3062898192..f7c47a2ae472966db43d048c06a9c486f0c12139 100644 (file)
@@ -18,7 +18,6 @@
 // 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
 #define _NMTTools_PaveFiller_HeaderFile
@@ -305,9 +304,11 @@ protected:
   Standard_EXPORT     void EFNewVertices(const TopoDS_Vertex& aV,const BooleanOperations_IndexedDataMapOfShapeInteger& aM) ;
   
   Standard_EXPORT     void UpdateCommonBlocks() ;
-  
+
+  Standard_EXPORT     void UpdateCommonBlocks (const Standard_Integer aI);
+
   Standard_EXPORT     void UpdatePaveBlocks() ;
-  
+
   Standard_EXPORT     Standard_Integer SplitIndex(const BOPTools_PaveBlock& aPB) const;
   
   Standard_EXPORT     void MakeBlocks() ;
@@ -347,11 +348,6 @@ private:
 
 };
 
-
-
-
-
 // other Inline functions and methods (like "C++: function call" methods)
 
-
 #endif
index 9484646a07b0b59ffde423c51c532506726aba16..dc98b9ed51781ac9f059d9be3e6b912d8b0b104b 100644 (file)
@@ -21,7 +21,7 @@
 //
 
 // File:        NMTTools_PaveFiller_7.cxx
-// Created:     Thu Dec 18 15:14:55 2003
+// Created:     
 // Author:      Peter KURNEV
 //              <pkv@irinox>
 //
@@ -38,6 +38,8 @@
 #include <TColStd_ListOfInteger.hxx>
 #include <TColStd_IndexedMapOfInteger.hxx>
 
+#include <GeomAPI_ProjectPointOnCurve.hxx>
+
 #include <TopAbs_Orientation.hxx>
 
 #include <TopoDS_Vertex.hxx>
 #include <NMTDS_InterfPool.hxx>
 
 #include <NMTTools_ListIteratorOfListOfCommonBlock.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
+#include <NMTTools_MapOfPaveBlock.hxx>
+
 
 //=======================================================================
 // function: MakeSplitEdges
 // purpose: 
 //=======================================================================
-  void NMTTools_PaveFiller::MakeSplitEdges()
+void NMTTools_PaveFiller::MakeSplitEdges()
 {
   myIsDone=Standard_False;
   //
   } 
   myIsDone=Standard_True;
 }
+//modified by NIZNHY-PKV Mon Dec 12 09:16:37 2011f
+//=======================================================================
+// function: UpdateCommonBlocks
+// purpose: 
+//=======================================================================
+void NMTTools_PaveFiller::UpdateCommonBlocks(const Standard_Integer)
+{
+  Standard_Integer nE, aNbS,  nEx, nEMax, j, aNbPoints; 
+  Standard_Real aTolEx, aTolExMax, aTSRMax[2], aTx[2], aTmp;
+  gp_Pnt aPMax[2];
+  TopoDS_Edge aEMax;
+  BOPTools_ListIteratorOfListOfPaveBlock aItLPB, aItLPBS;
+  NMTTools_ListIteratorOfListOfCommonBlock aItLCB;
+  NMTTools_MapOfPaveBlock aMPB;
+  //
+  myIsDone=Standard_False;
+  //
+  aNbS=myDS->NumberOfShapesOfTheObject();
+  for (nE=1; nE<=aNbS; ++nE) {
+    if (myDS->GetShapeType(nE)!=TopAbs_EDGE){
+      continue;
+    }
+    //
+    const TopoDS_Edge& aE=*((TopoDS_Edge*)&myDS->Shape(nE));
+    if (BRep_Tool::Degenerated(aE)){
+      continue;
+    }
+    //
+    NMTTools_ListOfCommonBlock& aLCB=myCommonBlockPool(myDS->RefEdge(nE));
+    
+    // 1
+    aItLCB.Initialize(aLCB);
+    for (; aItLCB.More(); aItLCB.Next()) {
+      NMTTools_CommonBlock& aCB=aItLCB.Value();
+      //
+      BOPTools_PaveBlock aPBMax;
+      aTolExMax=-1.;
+      const BOPTools_ListOfPaveBlock &aLPB=aCB.PaveBlocks();
+      aItLPB.Initialize(aLPB);
+      for (; aItLPB.More(); aItLPB.Next()) {
+       const BOPTools_PaveBlock& aPBx=aItLPB.Value();
+       nEx=aPBx.OriginalEdge();
+       const TopoDS_Edge& aEx=*((TopoDS_Edge*)&myDS->Shape(nEx));
+       aTolEx=BRep_Tool::Tolerance(aEx);
+       if (aTolEx>aTolExMax) {
+         aTolExMax=aTolEx;
+         aEMax=aEx;
+         aPBMax=aPBx;
+       }
+      }
+      //
+      // 2
+      if (aMPB.Contains(aPBMax)) {
+       continue;
+      }
+      aMPB.Add(aPBMax);
+      //
+      nEMax=aPBMax.OriginalEdge();
+      const IntTools_ShrunkRange& aISRMax=aPBMax.ShrunkRange();
+      const IntTools_Range& aSRMax=aISRMax.ShrunkRange();
+      const Bnd_Box& aBoxMax=aISRMax.BndBox();
+      aSRMax.Range(aTSRMax[0], aTSRMax[1]);
+      for (j=0; j<2; ++j) {
+       BOPTools_Tools::PointOnEdge(aEMax, aTSRMax[j], aPMax[j]);
+      }
+      //
+      // 3
+      aItLPB.Initialize(aLPB);
+      for (; aItLPB.More(); aItLPB.Next()) {
+       const BOPTools_PaveBlock& aPBx=aItLPB.Value();
+       nEx=aPBx.OriginalEdge();
+       if (nEx==nEMax) {
+         continue;
+       }
+       //
+       const TopoDS_Edge& aEx=*((TopoDS_Edge*)&myDS->Shape(nEx));
+       GeomAPI_ProjectPointOnCurve& aPPCx=myContext.ProjPC(aEx);
+       //
+       for (j=0; j<2; ++j) {
+         aPPCx.Perform(aPMax[j]);
+         aNbPoints=aPPCx.NbPoints();
+         if (!aNbPoints) {
+           break;
+         }
+         aTx[j]=aPPCx.LowerDistanceParameter();
+       }
+       if (!aNbPoints) {
+         // correction the range is impossible due to 
+         // a projection problem
+         continue;
+       }
+       //
+       if (aTx[0]>aTx[1]){
+         aTmp=aTx[0];
+         aTx[0]=aTx[1];
+         aTx[1]=aTmp;
+       }
+       //
+       // 4 Correction
+       // 4.1 aPBx
+       {
+         const IntTools_ShrunkRange& aISRx=aPBx.ShrunkRange();
+         IntTools_Range *pSRx=(IntTools_Range *)(&aISRx.ShrunkRange());
+         Bnd_Box *pBoxx=(Bnd_Box *)(&aISRx.BndBox());
+         //
+         pSRx->SetFirst(aTx[0]);
+         pSRx->SetLast(aTx[1]);
+         *pBoxx=aBoxMax;
+       }
+       //
+       // 4.2 aPBSx
+       BOPTools_ListOfPaveBlock& aLPBSx=mySplitShapesPool(myDS->RefEdge(nEx));
+       aItLPBS.Initialize(aLPBSx);
+       for (; aItLPBS.More(); aItLPBS.Next()) {
+         const BOPTools_PaveBlock& aPBSx=aItLPBS.Value();
+         if (!aPBSx.IsEqual(aPBx)) {
+           continue;
+         }
+         //
+         const IntTools_ShrunkRange& aISRx=aPBSx.ShrunkRange();
+         IntTools_Range *pSRx=(IntTools_Range *)(&aISRx.ShrunkRange());
+         Bnd_Box *pBoxx=(Bnd_Box *)(&aISRx.BndBox());
+         //
+         pSRx->SetFirst(aTx[0]);
+         pSRx->SetLast(aTx[1]);
+         *pBoxx=aBoxMax;
+       }
+       //
+       //
+      }//for (; aItLPB.More(); aItLPB.Next()) {
+    }//for (; aItLCB.More(); aItLCB.Next()) {
+  }//for (nE=1; nE<=aNbS; ++nE) { 
+}
+//modified by NIZNHY-PKV Mon Dec 12 09:16:44 2011t
 //=======================================================================
 // function: UpdateCommonBlocks
 // purpose: 
 //=======================================================================
-  void NMTTools_PaveFiller::UpdateCommonBlocks()
+void NMTTools_PaveFiller::UpdateCommonBlocks()
 {
   myIsDone=Standard_False;
   //
     for (; aCBIt.More(); aCBIt.Next()) {
       NMTTools_CommonBlock& aCB=aCBIt.Value();
       //
-      //modified by NIZNHY-PKV Wed Nov  8 15:59:46 2006f
       // Among all PBs of aCB the first PB will be one
       // that have max tolerance value 
       {
         pLPB->Clear();
         *pLPB=aLPBx;
       }
-      //modified by NIZNHY-PKV Wed Nov  8 15:59:50 2006t
       //
       BOPTools_PaveBlock& aPB=aCB.PaveBlock1(nE);
       nSp=SplitIndex(aPB);
 // function: SplitIndex
 // purpose: 
 //=======================================================================
-  Standard_Integer NMTTools_PaveFiller::SplitIndex(const BOPTools_PaveBlock& aPBx)const 
+Standard_Integer NMTTools_PaveFiller::SplitIndex
+  (const BOPTools_PaveBlock& aPBx)const 
 {
   Standard_Integer anOriginalEdge, anEdgeIndex=0;
 
 // function: UpdatePaveBlocks
 // purpose: 
 //=======================================================================
-  void NMTTools_PaveFiller::UpdatePaveBlocks()
+void NMTTools_PaveFiller::UpdatePaveBlocks()
 {
   myIsDone=Standard_False;
   //
     }
   }
 } 
-// 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()
+void NMTTools_PaveFiller::MakeAloneVertices()
 {
   Standard_Integer i, aNbFFs, nF1, nF2, j, aNbPnts, nFx, aNbV;
   Standard_Real aTolF1, aTolF2, aTolSum, aTolV;
 // function: AloneVertices
 // purpose: 
 //=======================================================================
-  const NMTTools_IndexedDataMapOfIndexedMapOfInteger& NMTTools_PaveFiller::AloneVertices()const
+const NMTTools_IndexedDataMapOfIndexedMapOfInteger& 
+  NMTTools_PaveFiller::AloneVertices()const
 {
   return myAloneVertices;
 }
 // function: FuseVertices
 // purpose: 
 //=======================================================================
- void NMTTools_PaveFiller::FuseVertices(const TopoDS_Shape& aCompound,
-                                         TopTools_DataMapOfShapeShape& aDMVV)const
+void NMTTools_PaveFiller::FuseVertices
+  (const TopoDS_Shape& aCompound,
+   TopTools_DataMapOfShapeShape& aDMVV)const
 {
   Standard_Integer i, aNbVV, n1, n2, nX;
   NMTTools_PaveFiller tPF;
     }
   }
 }
-// Contribution of Samtech www.samcef.com END