From 04c603771bc7f56f9cb74bfe5ca339df7ac558eb Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (office)" <j.wuttke@fz-juelich.de> Date: Wed, 28 Oct 2009 14:00:43 +0100 Subject: [PATCH] corr plot curve + conv --- pub/src/edif.cpp | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/pub/src/edif.cpp b/pub/src/edif.cpp index 16a84753..c9bf16c6 100644 --- a/pub/src/edif.cpp +++ b/pub/src/edif.cpp @@ -1117,25 +1117,7 @@ void NEdif::Plot( CPlot *plot, bool add ) e->P()->xco.str(), e->P()->yco.str(), "data file "+strg(k)+" scan "+strg(j) ); } - } else if ( fc ) { - // old vectorial version; - // useful for accelerated plotting - int npts = 297; - vector<double> xc(npts), yc, xp, yp; - for( uint i=0; i<npts; ++i ) - xc[i] = plot->X.plotcoord2value( i/(npts-1.0) ); - fc->T->tree_curve_val_vec( &yc, xc, k, j ); - for( uint i=0; i<npts; ++i ) { - if( plot->X.contains(xc[i]) && plot->Y.contains(yc[i]) ) { - xp.push_back( xc[i] ); - yp.push_back( yc[i] ); - } - } - plot->plotScan( true, cstyle++, xp, yp, e->Z(j), - e->P()->xco.str(), e->P()->yco.str(), - "curve file "+strg(k)+" scan "+strg(j) ); - } else if ( fc && fc->kconv!=-1 && false ) { - // BROKEN. NEVER WORKED PROPERLY. MAY CAUSE ENDLESS LOOP. + } else if ( fc && fc->kconv!=-1 ) { // plot only at x points of convolutand uint kconv = fc->kconv; uint jconv = CTree::setConvJ( k, j, kconv ); @@ -1165,6 +1147,24 @@ void NEdif::Plot( CPlot *plot, bool add ) e->P()->xco.str(), e->P()->yco.str(), "curve file "+strg(k)+" scan "+strg(j) ); } else if ( fc ) { + // old vectorial version; + // useful for accelerated plotting + int npts = 297; + vector<double> xc(npts), yc, xp, yp; + for( uint i=0; i<npts; ++i ) + xc[i] = plot->X.plotcoord2value( i/(npts-1.0) ); + fc->T->tree_curve_val_vec( &yc, xc, k, j ); + for( uint i=0; i<npts; ++i ) { + if( plot->X.contains(xc[i]) && plot->Y.contains(yc[i]) ) { + xp.push_back( xc[i] ); + yp.push_back( yc[i] ); + } + } + plot->plotScan( true, cstyle++, xp, yp, e->Z(j), + e->P()->xco.str(), e->P()->yco.str(), + "curve file "+strg(k)+" scan "+strg(j) ); + } else if ( false ) { + // BROKEN. NEVER WORKED PROPERLY. MAY CAUSE ENDLESS LOOP. // improved line plotting: // - stop/start line when leaving/reentering the frame // - interpolate when crossing the horizontal border (TODO) -- GitLab