mirror of
https://github.com/GoldenCheetah/GoldenCheetah.git
synced 2026-02-13 08:08:42 +00:00
This commit is based on https://github.com/GoldenCheetah/GoldenCheetah/pull/3956 with the following additions / changes: * Upgraded to the latest version of the multiaxes-branch, thus eliminating crashes of GoldenCheetah on startup * Disabled the emitting of Layout Requests on geometry changes of QwtScaleWidget - without this, CPU utilization was up to 100% on one core * Added the class SplineLookup, reusing small portions of code from Qwt 6.1 * Re-added the splines in WPrime and RideFile (resampling), using the new interface of QwtSpline * Appveyor: qwt in cache-section now depends on qwt/qwtconfig.prin.in for refresh on version change
38 lines
1010 B
C++
38 lines
1010 B
C++
/*****************************************************************************
|
|
* Qwt Examples - Copyright (C) 2002 Uwe Rathmann
|
|
* This file may be used under the terms of the 3-clause BSD License
|
|
*****************************************************************************/
|
|
|
|
#pragma once
|
|
|
|
#include <QwtSeriesData>
|
|
#include <QVector>
|
|
|
|
class CircularBuffer : public QwtSeriesData< QPointF >
|
|
{
|
|
public:
|
|
CircularBuffer( double interval = 10.0, size_t numPoints = 1000 );
|
|
void fill( double interval, size_t numPoints );
|
|
|
|
void setReferenceTime( double );
|
|
double referenceTime() const;
|
|
|
|
virtual size_t size() const QWT_OVERRIDE;
|
|
virtual QPointF sample( size_t index ) const QWT_OVERRIDE;
|
|
|
|
virtual QRectF boundingRect() const QWT_OVERRIDE;
|
|
|
|
void setFunction( double ( * y )( double ) );
|
|
|
|
private:
|
|
double ( * m_y )( double );
|
|
|
|
double m_referenceTime;
|
|
double m_interval;
|
|
QVector< double > m_values;
|
|
|
|
double m_step;
|
|
int m_startIndex;
|
|
double m_offset;
|
|
};
|