+
+ double lim=1;
+
+ if (bbGetInputInX().size()==bbGetInputInY().size() )
+ {
+ pGraphicalFunction *pGF = mwxwidget->getFunction(0);
+ pGraphicalFunction *pGF2 = mwxwidget->getFunction(1);
+ // EED 2020-01-22
+ if (pGF!=NULL)
+ {
+ // -Erasing points-
+ int i,sizePoints = pGF->getSizePoints();
+ for (i=1; i<sizePoints;i++)
+ {
+ //EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
+ #if wxMAJOR_VERSION <= 2
+ pGF->deletePointAt(1); // EED here NOT 0 is 1
+ #else
+ pGF->deletePointAt(0); // EED here NOT 0 is 1
+ #endif
+ } // for i
+ mwxwidget->deleteFunction(pGF);
+ pGF=NULL;
+ }
+ // EED 2020-01-22
+ if (pGF2!=NULL)
+ {
+ // -Erasing points-
+ int i,sizePoints = pGF2->getSizePoints();
+ for (i=0; i<sizePoints;i++)
+ {
+ //EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
+ #if wxMAJOR_VERSION <= 2
+ pGF2->deletePointAt(1); // EED here NOT 0 is 1
+ #else
+ pGF2->deletePointAt(0); // EED here NOT 0 is 1
+ #endif
+ } // for i
+ mwxwidget->deleteFunction(pGF2);
+ pGF2=NULL;
+ }
+ if ( (bbGetInputInY().size()!=0) && (pGF==NULL) )
+ {
+ // avoid 'taking address of temporary '
+ //pGraphicalFunction *pGF = mwxwidget->getFunctionForVectors( &(bbGetInputInX()), &(bbGetInputInY()) ); // taking address of temporary ! JPRx
+ std::vector<double> inX;
+ if (bbGetInputInX().size()==0)
+ {
+ int i,size=bbGetInputInY().size();
+ for(i=0;i<size;i++)
+ {
+ inX.push_back((double)i);
+ } // for
+ } else {
+ inX = bbGetInputInX();
+ } // if bbGetInputInX
+ std::vector<double> inY = bbGetInputInY();
+
+ bool ok=false;
+ int i, size = inY.size();
+ for ( i=0 ; i<size ; i++ )
+ {
+ if ((inY[i]>-lim) && (inY[i]<lim)) { inY[i]=0; }
+ if ((inY[i]<-lim) || (inY[i]>lim)) {ok=true;}
+ }// for
+ if (ok==true)
+ {
+ pGF = mwxwidget->getFunctionForVectors( &inX, &inY );
+ mwxwidget->addFunction(pGF);
+ } else {
+ printf("EED Warnning!! PlotterView::Process function y with CEROS ????..... \n");
+ } // if ok
+
+ } // if bbGetInputInY
+
+ if ((bbGetInputInY2().size()!=0)&& (pGF2==NULL) )
+ {
+ // avoid 'taking address of temporary '
+ //pGraphicalFunction *pGF = mwxwidget->getFunctionForVectors( &(bbGetInputInX()), &(bbGetInputInY()) ); // taking address of temporary ! JPRx
+ std::vector<double> inX2;
+ if (bbGetInputInX().size()==0)
+ {
+ int i,size=bbGetInputInY2().size();
+ for(i=0;i<size;i++)
+ {
+ inX2.push_back((double)i);
+ } // for
+ } else {
+ inX2 = bbGetInputInX();
+ } // if bbGetInputInX
+ std::vector<double> inY2 = bbGetInputInY2();
+
+ bool ok2=false;
+ int i, size = inY2.size();
+ for ( i=0 ; i<size ; i++ )
+ {
+ if ((inY2[i]>-lim) && (inY2[i]<lim)) { inY2[i]=0; }
+ if ((inY2[i]<-lim) || (inY2[i]>lim)) {ok2=true;}
+ }// for
+ if (ok2==true)
+ {
+ pGF2 = mwxwidget->getFunctionForVectors( &inX2, &inY2 );
+ mwxwidget->addFunction(pGF2);
+ } else {
+ printf("EED Warnning!! PlotterView::Process function y2 with CEROS ????..... \n");
+ } // if ok2
+
+
+ } // if bbGetInputInY