Salome HOME
Add interface for keeping information about performed operation of extrusion.
authorskl <skl@opencascade.com>
Mon, 26 Sep 2005 07:03:47 +0000 (07:03 +0000)
committerskl <skl@opencascade.com>
Mon, 26 Sep 2005 07:03:47 +0000 (07:03 +0000)
src/SMESH/SMESH_MeshEditor.cxx
src/SMESH/SMESH_MeshEditor.hxx

index c1d184c..3ab7952 100644 (file)
@@ -63,6 +63,7 @@
 #include <Extrema_POnSurf.hxx>
 #include <GeomAdaptor_Surface.hxx>
 #include <ElCLib.hxx>
+#include <TColStd_ListOfInteger.hxx>
 
 #include <map>
 
@@ -2464,6 +2465,17 @@ void SMESH_MeshEditor::ExtrusionSweep(set<const SMDS_MeshElement*> & theElems,
     }
     // make new elements
     sweepElement( aMesh, elem, newNodesItVec, newElemsMap[elem] );
+
+    // fill history
+    TColStd_ListOfInteger ListNewID;
+    list<const SMDS_MeshElement*> tmpList = newElemsMap[elem];
+    for(list<const SMDS_MeshElement*>::iterator ite = tmpList.begin();
+        ite!=tmpList.end(); ite++) {
+      ListNewID.Append((*ite)->GetID());
+    }
+    myExtrusionHistory.Bind(elem->GetID(),ListNewID);
+    // end fill history
+
   }
   makeWalls( aMesh, mapNewNodes, newElemsMap, mapElemNewNodes, theElems );
 }
index 0dfd8c0..fdbda16 100644 (file)
@@ -35,6 +35,7 @@
 
 #include <list>
 #include <map>
+#include <TColStd_DataMapOfIntegerListOfInteger.hxx>
 
 class SMDS_MeshElement;
 class SMDS_MeshFace;
@@ -304,11 +305,15 @@ class SMESH_MeshEditor {
 
   SMESHDS_Mesh * GetMeshDS() { return myMesh->GetMeshDS(); }
 
+  const TColStd_DataMapOfIntegerListOfInteger& GetExtrusionHistory() const
+    { return myExtrusionHistory; }
 
  private:
 
   SMESH_Mesh * myMesh;
 
+  TColStd_DataMapOfIntegerListOfInteger myExtrusionHistory;
+
 };
 
 #endif