Salome HOME
correct update status of stream and DTM
[modules/hydro.git] / src / HYDROData / HYDROData_PolylineOperator.cxx
index 1493f336ec287b960a18b0ab49617c397cd7783a..d36f5fa115e2c0147d164ae1fa40be0fc21a3273 100644 (file)
@@ -158,8 +158,20 @@ bool HYDROData_PolylineOperator::Merge( const Handle( HYDROData_Document )& theD
   }
   QString aName = theName;
   if( aName.isEmpty() )
-    aName = "merged";
+    {
+      aName = "merged";
+      int anIndex = 1;
+      QString aNewName = aName + "_" + QString::number(anIndex);
+      while (!theDoc->FindObjectByName(aNewName).IsNull())  // the object with such a name is not found
+        {
+          anIndex++;
+          aNewName = aName + "_" + QString::number(anIndex);
+        }
+      aName = aNewName;
+    }
+
   aNewPolyline->SetName(aName);
+  aNewPolyline->Update();
   return true;
 }
 
@@ -204,7 +216,7 @@ bool HYDROData_PolylineOperator::split( const Handle( HYDROData_Document )& theD
   for (int aPSI = 0; aPSI < aPSCount; ++aPSI)
   {
     HYDROData_TopoCurve aCurve;
-    DEBTRACE("Initialize curve " << aPSI);
+    //DEBTRACE("Initialize curve " << aPSI);
     if (!aCurve.Initialize(aCurves[aPSI]))
     {
       continue;
@@ -224,17 +236,16 @@ bool HYDROData_PolylineOperator::split( const Handle( HYDROData_Document )& theD
       aSplitCurves.end();
     for (int iw=0; aCIt != aLastCIt; ++aCIt, iw++)
     {
-      std::stringstream brepName;
+      /*std::stringstream brepName;
       brepName << "theSplitWire_";
       brepName << iw;
       brepName << ".brep";
-      BRepTools::Write(aCIt->Wire() , brepName.str().c_str() );
+      BRepTools::Write(aCIt->Wire() , brepName.str().c_str() );*/
       aResult.push_back(aCIt->Wire());
     }
   }
 
   CreatePolylines( theDoc, thePolyline, aResult, true );
-  //CreatePolylinesSplit( theDoc, thePolyline, aResult, true );
   return true;
 }
 
@@ -297,7 +308,7 @@ bool HYDROData_PolylineOperator::CreatePolylines( const Handle( HYDROData_Docume
   const QColor& theColor = theOldPolyline->GetWireColor();
 
   int n = theShapes.size();
-  DEBTRACE("theShapes.size() "<< n);
+  //DEBTRACE("theShapes.size() "<< n);
   int anIndex = 1;
   for( int i=0; i<n; i++ )
   {
@@ -307,8 +318,6 @@ bool HYDROData_PolylineOperator::CreatePolylines( const Handle( HYDROData_Docume
       return false;
 
     aPolyline->ImportShape(theShapes[i], false, theOldPolyline, false);
-    //aPolyline->SetShape( theShapes[i] );
-
 
     if( isUseIndices )
     {