Salome HOME
Changes for bug 0020734.
authorskl <skl@opencascade.com>
Thu, 11 Mar 2010 09:36:56 +0000 (09:36 +0000)
committerskl <skl@opencascade.com>
Thu, 11 Mar 2010 09:36:56 +0000 (09:36 +0000)
src/SMESH/SMESH_MeshEditor.cxx

index af6147a88fe712c795d98eaddb150ce1608facca..259c09fad00743f55bc4ca2860485256a2440d8d 100644 (file)
@@ -9928,7 +9928,8 @@ bool SMESH_MeshEditor::Make2DMeshFrom3D()
   SMESHDS_Mesh* aMesh = GetMeshDS();
   if (!aMesh)
     return false;
-  bool res = false;
+  //bool res = false;
+  int nbFree = 0, nbExisted = 0, nbCreated = 0;
   SMDS_VolumeIteratorPtr vIt = aMesh->volumesIterator();
   while(vIt->more())
   {
@@ -9941,6 +9942,7 @@ bool SMESH_MeshEditor::Make2DMeshFrom3D()
     {
       if (!vTool.IsFreeFace(iface))
         continue;
+      nbFree++;
       vector<const SMDS_MeshNode *> nodes;
       int nbFaceNodes = vTool.NbFaceNodes(iface);
       const SMDS_MeshNode** faceNodes = vTool.GetFaceNodes(iface);
@@ -9952,11 +9954,13 @@ bool SMESH_MeshEditor::Make2DMeshFrom3D()
           nodes.push_back(faceNodes[inode]);
 
       // add new face based on volume nodes
-      if (aMesh->FindFace( nodes ) )
+      if (aMesh->FindFace( nodes ) ) {
+        nbExisted++;
         continue; // face already exsist
+      }
       myLastCreatedElems.Append( AddElement(nodes, SMDSAbs_Face, isPoly && iface == 1) );
-      res = true;
+      nbCreated++;
     }
   }
-  return res;
+  return ( nbFree==(nbExisted+nbCreated) );
 }