X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROData%2FHYDROData_PolylineOperator.cxx;h=07387a6e9d0cf085fba22e6aca6e2ee26cee61fc;hb=0f4c16e80e5c9160fb6e240e3f09b151701a1e5b;hp=43fb6799520b45b8e48c4b31bbd961c3d72ccba0;hpb=c5d2c902f7ce452aa5052a5d346ae73eff2bd421;p=modules%2Fhydro.git diff --git a/src/HYDROData/HYDROData_PolylineOperator.cxx b/src/HYDROData/HYDROData_PolylineOperator.cxx index 43fb6799..07387a6e 100644 --- a/src/HYDROData/HYDROData_PolylineOperator.cxx +++ b/src/HYDROData/HYDROData_PolylineOperator.cxx @@ -487,13 +487,22 @@ bool HYDROData_PolylineOperator::Extract( const Handle(HYDROData_Document)& theD LSE.Append(E); } - BRepLib_MakeWire WM; - WM.Add(LSE); - TopoDS_Shape aShapeW; - if (WM.IsDone()) - aShapeW = WM.Wire(); - else - continue; + + TopoDS_Shape aShapeOut; + if (LSE.Extent() == 1) + { + aShapeOut = LSE.First(); + } + else if (LSE.Extent() > 1) + { + BRepLib_MakeWire WM; + WM.Add(LSE); + if (WM.IsDone()) + aShapeOut = WM.Wire(); + else + continue; + } + else continue; Handle( HYDROData_PolylineXY ) aPolyline = Handle( HYDROData_PolylineXY )::DownCast( theDocument->CreateObject( KIND_POLYLINEXY ) ); @@ -501,7 +510,7 @@ bool HYDROData_PolylineOperator::Extract( const Handle(HYDROData_Document)& theD if( aPolyline.IsNull() ) return false; - aPolyline->SetShape( aShapeW ); + aPolyline->SetShape( aShapeOut ); int anIndex = 0; QString aName = K;