Salome HOME
Refs #289 - Spline profile is represented in OCC view as polyline profile
[modules/hydro.git] / src / HYDROData / HYDROData_Tool.cxx
index d05696b77801cfdc49df41a44322ab9fd036ccaa..ac9045f7698178c401defe6a3e73c454de4d883a 100644 (file)
@@ -163,20 +163,28 @@ bool HYDROData_Tool::IsGeometryObject( const Handle(HYDROData_Entity)& theObject
          theObject->IsKind( STANDARD_TYPE(HYDROData_NaturalObject) );
 }
 
-void HYDROData_Tool::ExploreShapeToShapes( const TopoDS_Shape&       theInShape,
-                                           const TopAbs_ShapeEnum&   theExpType,
-                                           TopTools_SequenceOfShape& theOutShapes )
+void HYDROData_Tool::UpdateChildObjectName( const QString&                  theOldStr,
+                                            const QString&                  theNewStr,
+                                            const Handle(HYDROData_Entity)& theObject )
 {
-  theOutShapes.Clear();
-
-  if ( theInShape.IsNull() )
+  if ( theObject.IsNull() )
     return;
 
-  TopExp_Explorer anExp( theInShape, theExpType );
-  for ( ; anExp.More(); anExp.Next() )
+  QString anObjName = theObject->GetName();
+  if ( theOldStr.isEmpty() )
   {
-    TopoDS_Shape anExpShape = anExp.Current();
-    theOutShapes.Append( anExpShape );
+    while ( anObjName.startsWith( '_' ) )
+      anObjName.remove( 0, 1 );
+
+    anObjName.prepend( theNewStr + "_" );
   }
+  else if ( anObjName.startsWith( theOldStr ) )
+  {
+    anObjName.replace( 0, theOldStr.length(), theNewStr );
+  }
+  else
+    return;
+
+  theObject->SetName( anObjName );
 }