X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROData%2FHYDROData_PolylineOperator.cxx;h=07387a6e9d0cf085fba22e6aca6e2ee26cee61fc;hb=0f4c16e80e5c9160fb6e240e3f09b151701a1e5b;hp=c311866ad13104080b00befaaab77978511348cd;hpb=e77a4312d0891c252baac0e1dcac298bb7bdeb72;p=modules%2Fhydro.git diff --git a/src/HYDROData/HYDROData_PolylineOperator.cxx b/src/HYDROData/HYDROData_PolylineOperator.cxx index c311866a..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" @@ -216,7 +218,7 @@ bool HYDROData_PolylineOperator::split( const Handle( HYDROData_Document )& theD for (int aPSI = 0; aPSI < aPSCount; ++aPSI) { HYDROData_TopoCurve aCurve; - DEBTRACE("Initialize curve " << aPSI); + //DEBTRACE("Initialize curve " << aPSI); if (!aCurve.Initialize(aCurves[aPSI])) { continue; @@ -236,11 +238,11 @@ bool HYDROData_PolylineOperator::split( const Handle( HYDROData_Document )& theD aSplitCurves.end(); for (int iw=0; aCIt != aLastCIt; ++aCIt, iw++) { - std::stringstream brepName; + /*std::stringstream brepName; brepName << "theSplitWire_"; brepName << iw; brepName << ".brep"; - BRepTools::Write(aCIt->Wire() , brepName.str().c_str() ); + BRepTools::Write(aCIt->Wire() , brepName.str().c_str() );*/ aResult.push_back(aCIt->Wire()); } } @@ -308,7 +310,7 @@ bool HYDROData_PolylineOperator::CreatePolylines( const Handle( HYDROData_Docume const QColor& theColor = theOldPolyline->GetWireColor(); int n = theShapes.size(); - DEBTRACE("theShapes.size() "<< n); + //DEBTRACE("theShapes.size() "<< n); int anIndex = 1; for( int i=0; i 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 ); }