- aResList << QString( "%1.AddSection( \"%2\", %3, %4 );" ).arg( aPolylineName )
- .arg( aSectName.ToCString() ).arg( aSectType ).arg( aSectClosure );
+ bool anIsEditable = IsEditable();
+ if ( !anIsEditable )
+ {
+ // If polyline is not editable we try to import the shape from geom
+ TCollection_AsciiString aGeomObjectEntry = GetGeomObjectEntry();
+ if ( !aGeomObjectEntry.IsEmpty() )
+ {
+ QString aSalomeObjName = HYDROData_Tool::GenerateNameForPython( theTreatedObjects, "polyline_sobj" );
+ aResList << QString( "%1 = salome.myStudy.FindObjectID( \"%2\" );" )
+ .arg( aSalomeObjName ).arg( aGeomObjectEntry.ToCString() );
+
+ aResList << QString( "%1.ImportFromGeomIOR( %2.GetIOR() );" )
+ .arg( aPolylineName ).arg( aSalomeObjName );
+
+ aResList << QString( "%1.SetGeomObjectEntry( \"%2\" );" )
+ .arg( aPolylineName ).arg( aGeomObjectEntry.ToCString() );
+ }
+ }
+ else
+ {
+ // Set polilyne data
+ NCollection_Sequence<TCollection_AsciiString> aSectNames;
+ NCollection_Sequence<HYDROData_PolylineXY::SectionType> aSectTypes;
+ NCollection_Sequence<bool> aSectClosures;
+ GetSections( aSectNames, aSectTypes, aSectClosures );