Add files from zip

This commit is contained in:
2023-10-31 09:22:42 +01:00
parent 6bacdc5f6d
commit 4dae68036f
2788 changed files with 492537 additions and 0 deletions

View File

@@ -0,0 +1,120 @@
/*****************************************************************************
* Qwt Examples - Copyright (C) 2002 Uwe Rathmann
* This file may be used under the terms of the 3-clause BSD License
*****************************************************************************/
#include <QwtPlot>
#include <QwtVectorFieldSample>
#include <QwtPlotVectorField>
#include <QwtVectorFieldArrow>
#include <QwtPlotGrid>
#include <QwtLegend>
#include <QwtColorMap>
#include <QApplication>
#include <QPen>
namespace
{
class VectorField : public QwtPlotVectorField
{
public:
VectorField()
: QwtPlotVectorField( "Vector Field" )
{
setRenderHint( QwtPlotItem::RenderAntialiased, true );
setLegendIconSize( QSize( 20, 10 ) );
setMagnitudeScaleFactor( 1.0 );
#if 0
// test solid arrow
setSymbol( new QwtVectorFieldArrow() );
setPen( Qt::NoPen );
setBrush( Qt::black );
setMagnitudeScaleFactor( 2 );
#endif
#if 1
// test color map
QwtLinearColorMap* cm = new QwtLinearColorMap();
cm->setColorInterval( Qt::yellow, Qt::blue );
cm->addColorStop( 0.5, Qt::red );
setColorMap( cm );
setMagnitudeMode( MagnitudeAsColor, true );
#endif
#if 1
setIndicatorOrigin( QwtPlotVectorField::OriginHead );
#else
setIndicatorOrigin( QwtPlotVectorField::OriginTail );
#endif
#if 0
setRasterSize( QSizeF( 20, 20 ) );
#endif
setSamples( samples() );
}
private:
QVector< QwtVectorFieldSample > samples() const
{
const int dim = 10;
QVector< QwtVectorFieldSample > samples;
for ( int x = -dim; x < dim; x++ )
{
for ( int y = -dim; y < dim; y++ )
{
samples += QwtVectorFieldSample( x, y, y, -x );
}
}
return samples;
}
};
class Plot : public QwtPlot
{
public:
Plot()
{
setTitle( "Vector Field" );
setCanvasBackground( Qt::white );
insertLegend( new QwtLegend() );
QwtPlotGrid* grid = new QwtPlotGrid();
grid->attach( this );
VectorField* fieldItem = new VectorField();
fieldItem->attach( this );
const QRectF r = fieldItem->boundingRect();
#if 1
setAxisScale( QwtAxis::XBottom, r.left() - 1.0, r.right() + 1.0 );
#else
setAxisScale( QwtAxis::XBottom, r.right() + 1.0, r.left() - 1.0 );
#endif
#if 1
setAxisScale( QwtAxis::YLeft, r.top() - 1.0, r.bottom() + 1.0 );
#else
setAxisScale( QwtAxis::YLeft, r.bottom() + 1.0, r.top() - 1.0 );
#endif
}
};
}
int main( int argc, char* argv[] )
{
QApplication app( argc, argv );
Plot plot;
plot.resize( 600, 400 );
plot.show();
return app.exec();
}