Curve Style : Add support for curve fitting for non-solid line styles

This commit is contained in:
Magne Sjaastad
2022-04-20 14:25:47 +02:00
committed by GitHub
parent 3a461473d0
commit 87b822a80f
9 changed files with 83 additions and 23 deletions

View File

@@ -35,6 +35,7 @@
#include "qwt_point_mapper.h"
#include "qwt_scale_map.h"
#include "qwt_symbol.h"
#include "qwt_weeding_curve_fitter.h"
#include <cmath>
#include <limits>
@@ -520,3 +521,27 @@ RiuPlotCurveSymbol* RiuQwtPlotCurve::createSymbol( RiuPlotCurveSymbol::PointSymb
{
return new RiuQwtSymbol( symbol );
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RiuQwtPlotCurve::setCurveFittingTolerance( double tolerance )
{
bool enableCurveFitting = ( tolerance > 0.0 );
if ( !enableCurveFitting )
{
setCurveAttribute( QwtPlotCurve::Fitted, false );
}
else
{
auto cf = dynamic_cast<QwtWeedingCurveFitter*>( curveFitter() );
if ( !cf )
{
cf = new QwtWeedingCurveFitter;
setCurveFitter( cf );
}
setCurveAttribute( QwtPlotCurve::Fitted, true );
cf->setTolerance( tolerance );
}
}