Salome HOME
Refs #289 - Spline profile is represented in OCC view as polyline profile
[modules/hydro.git] / src / HYDROData / HYDROData_Tool.cxx
index 68e759d729dc1ba2c6bf485ed9d56df19aa64885..ac9045f7698178c401defe6a3e73c454de4d883a 100644 (file)
@@ -6,6 +6,12 @@
 #include "HYDROData_Iterator.h"
 #include "HYDROData_NaturalObject.h"
 
+#include <TopoDS_Shape.hxx>
+
+#include <TopTools_SequenceOfShape.hxx>
+
+#include <TopExp_Explorer.hxx>
+
 #include <QFile>
 #include <QStringList>
 #include <QTextStream>
@@ -156,3 +162,29 @@ bool HYDROData_Tool::IsGeometryObject( const Handle(HYDROData_Entity)& theObject
   return theObject->IsKind( STANDARD_TYPE(HYDROData_ArtificialObject) ) ||
          theObject->IsKind( STANDARD_TYPE(HYDROData_NaturalObject) );
 }
+
+void HYDROData_Tool::UpdateChildObjectName( const QString&                  theOldStr,
+                                            const QString&                  theNewStr,
+                                            const Handle(HYDROData_Entity)& theObject )
+{
+  if ( theObject.IsNull() )
+    return;
+
+  QString anObjName = theObject->GetName();
+  if ( theOldStr.isEmpty() )
+  {
+    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 );
+}
+