X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROData%2FHYDROData_PolylineOperator.cxx;h=07387a6e9d0cf085fba22e6aca6e2ee26cee61fc;hb=ab379d017642b11cd02612d46372a23842937ddf;hp=d36f5fa115e2c0147d164ae1fa40be0fc21a3273;hpb=5b00a9fd3a1b5de0fa803e8c08e70278963a0ecf;p=modules%2Fhydro.git diff --git a/src/HYDROData/HYDROData_PolylineOperator.cxx b/src/HYDROData/HYDROData_PolylineOperator.cxx index d36f5fa1..07387a6e 100644 --- a/src/HYDROData/HYDROData_PolylineOperator.cxx +++ b/src/HYDROData/HYDROData_PolylineOperator.cxx @@ -50,6 +50,8 @@ #include #include #include +#include +#include #define _DEVDEBUG_ #include "HYDRO_trace.hxx" @@ -450,6 +452,7 @@ bool HYDROData_PolylineOperator::Extract( const Handle(HYDROData_Document)& theD QList aBoundShapes; QStringList aBoundNames; + QMap aNameToShMap; theObject->GetBoundaries( aBoundShapes, aBoundNames ); @@ -460,21 +463,61 @@ bool HYDROData_PolylineOperator::Extract( const Handle(HYDROData_Document)& theD continue; QString aBoundName = i 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 ) ); - + if( aPolyline.IsNull() ) return false; - aPolyline->SetShape( aShape ); + aPolyline->SetShape( aShapeOut ); int anIndex = 0; - QString aName = aBoundName; + QString aName = K; while( !theDocument->FindObjectByName( aName ).IsNull() ) { anIndex++; - aName = aBoundName + "_" + QString::number( anIndex ); + aName = K + "_" + QString::number( anIndex ); } aPolyline->SetName( aName ); }