X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=bbtk%2Fsrc%2FbbmaracasvisuPlotterView.cxx;h=078bfb2f2a24a7fa93ea37739d9f8af8f2d3cb59;hb=6c3c0e6d699ac7a835a6480e17b196077acdb184;hp=283c17365ea39f8678a3c3f1d0776e1f2edb0d82;hpb=8d16c7dcdb395bae016258547ad7652a01b310b6;p=creaMaracasVisu.git diff --git a/bbtk/src/bbmaracasvisuPlotterView.cxx b/bbtk/src/bbmaracasvisuPlotterView.cxx index 283c173..078bfb2 100644 --- a/bbtk/src/bbmaracasvisuPlotterView.cxx +++ b/bbtk/src/bbmaracasvisuPlotterView.cxx @@ -18,48 +18,97 @@ void PlotterView::Process() if (firsttime==true) { firsttime=false; - std::vector inX; - // avoid 'taking address of temporary ' - //pGraphicalFunction *pGF = mwxwidget->getFunctionForVectors( &(bbGetInputInX()), &(bbGetInputInY()) ); // taking address of temporary ! JPRx - if (bbGetInputInX().size()==0) + if (bbGetInputInY().size()!=0) { - int i,size=bbGetInputInY().size(); - for(i=0;igetFunctionForVectors( &(bbGetInputInX()), &(bbGetInputInY()) ); // taking address of temporary ! JPRx + std::vector inX; + if (bbGetInputInX().size()==0) { - inX.push_back((double)i); - } - } else { - - inX = bbGetInputInX(); - } - std::vector inY = bbGetInputInY(); - pGraphicalFunction *pGF = mwxwidget->getFunctionForVectors( &inX, &inY ); - mwxwidget->addFunction(pGF); - } - - + int i,size=bbGetInputInY().size(); + for(i=0;i inY = bbGetInputInY(); + pGraphicalFunction *pGF = mwxwidget->getFunctionForVectors( &inX, &inY ); + mwxwidget->addFunction(pGF); + } // if bbGetInputInY + + if (bbGetInputInY2().size()!=0) + { + // avoid 'taking address of temporary ' + //pGraphicalFunction *pGF = mwxwidget->getFunctionForVectors( &(bbGetInputInX()), &(bbGetInputInY()) ); // taking address of temporary ! JPRx + std::vector inX2; + if (bbGetInputInX().size()==0) + { + int i,size=bbGetInputInY2().size(); + for(i=0;i inY2 = bbGetInputInY(); + pGraphicalFunction *pGF2 = mwxwidget->getFunctionForVectors( &inX2, &inY2 ); + mwxwidget->addFunction(pGF2); + } // if bbGetInputInY + + } // if firsttime + // Erasing points pGraphicalFunction *pGF = mwxwidget->getFunction(0); - int i,sizePoints = pGF->getSizePoints(); - for (i=0; ideletePointAt(i); - } - - double px; - sizePoints=bbGetInputInY().size(); - for (i=0; igetSizePoints(); + for (i=1; ideletePointAt(1); + } // for i + double px; + sizePoints=bbGetInputInY().size(); + for (i=0; iAddNewPoint( px, bbGetInputInY()[i] ); + } + }// if pGF + + + // Erasing points + pGraphicalFunction *pGF2 = mwxwidget->getFunction(1); + if (pGF2!=NULL) { - if (igetSizePoints(); + for (i=0; iAddNewPoint( px, bbGetInputInY()[i] ); - printf ("EED PlotterView::Process %f %f\n", px, bbGetInputInY()[i]); - } + pGF2->deletePointAt(1); + } // for i + double px; + sizePoints=bbGetInputInY2().size(); + for (i=0; iAddNewPoint( px, bbGetInputInY2()[i] ); + } + }// if pGF + + mwxwidget->setMinScrY(0); mwxwidget->UpdateAll(); } @@ -72,7 +121,7 @@ void PlotterView::CreateWidget(wxWindow* parent) mwxwidget = new pPlotterWindow( parent , -1,wxDefaultPosition, wxDefaultSize, 0 ); mwxwidget->AddLayer(new pPlotterScaleX()); mwxwidget->AddLayer(new pPlotterScaleY()); - + bbtkDebugDecTab("Core",9); bbSetOutputWidget( mwxwidget ); }