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
54 lines
1.2 KiB
C++
54 lines
1.2 KiB
C++
/*****************************************************************************
|
|
* Qwt Examples - Copyright (C) 2002 Uwe Rathmann
|
|
* This file may be used under the terms of the 3-clause BSD License
|
|
*****************************************************************************/
|
|
|
|
#include "Plot.h"
|
|
|
|
#include <QwtMath>
|
|
#include <QApplication>
|
|
|
|
static inline double randomValue()
|
|
{
|
|
// a number between [ 0.0, 1.0 ]
|
|
return ( qwtRand() % 100000 ) / 100000.0;
|
|
}
|
|
|
|
class ScatterPlot : public Plot
|
|
{
|
|
public:
|
|
ScatterPlot()
|
|
{
|
|
setTitle( "Scatter Plot" );
|
|
|
|
// a million points
|
|
|
|
const int numPoints = 100000;
|
|
|
|
QPolygonF samples;
|
|
samples.reserve( numPoints );
|
|
|
|
for ( int i = 0; i < numPoints; i++ )
|
|
{
|
|
const double x = randomValue() * 24.0 + 1.0;
|
|
const double y = std::log( 10.0 * ( x - 1.0 ) + 1.0 )
|
|
* ( randomValue() * 0.5 + 0.9 );
|
|
|
|
samples += QPointF( x, y );
|
|
}
|
|
|
|
setSamples( samples );
|
|
}
|
|
};
|
|
|
|
int main( int argc, char* argv[] )
|
|
{
|
|
QApplication app( argc, argv );
|
|
|
|
ScatterPlot plot;
|
|
plot.resize( 800, 600 );
|
|
plot.show();
|
|
|
|
return app.exec();
|
|
}
|