本文整理汇总了C++中CurveData::append方法的典型用法代码示例。如果您正苦于以下问题:C++ CurveData::append方法的具体用法?C++ CurveData::append怎么用?C++ CurveData::append使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CurveData
的用法示例。
在下文中一共展示了CurveData::append方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: appendPoint
void IncrementalPlot::appendPoint( const QPointF &point )
{
CurveData *data = static_cast<CurveData *>( d_curve->data() );
data->append( point );
const bool doClip = !canvas()->testAttribute( Qt::WA_PaintOnScreen );
// if ( doClip )
// {
// /*
// Depending on the platform setting a clip might be an important
// performance issue. F.e. for Qt Embedded this reduces the
// part of the backing store that has to be copied out - maybe
// to an unaccelerated frame buffer device.
// */
// const QwtScaleMap xMap = canvasMap( d_curve->xAxis() );
// const QwtScaleMap yMap = canvasMap( d_curve->yAxis() );
// QRegion clipRegion;
// const QSize symbolSize = d_curve->symbol()->size();
// QRect r( 0, 0, symbolSize.width() + 2, symbolSize.height() + 2 );
// const QPointF center =
// QwtScaleMap::transform( xMap, yMap, point );
// r.moveCenter( center.toPoint() );
// clipRegion += r;
// d_directPainter->setClipRegion( clipRegion );
// }
d_directPainter->drawSeries( d_curve,
data->size() - 1, data->size() - 1 );
}
示例2:
void Wykres2d::aktualizuj()
{
CurveData *data = static_cast<CurveData *> (plot2dCurve->data());
data->clear();
for (int i = 0; i < punkty.size(); i++) {
data->append(punkty[i]);
}
plot2d->replot();
}
示例3: point
void Plot::appendPoint1(double u)
{
double elapsed = d_clock.elapsed() / 1000.0;
qDebug() << "d_clock1: " << elapsed;
qDebug() << "udouble1: " << u;
QPointF point(elapsed,(u*5/1024));
CurveData *data = static_cast<CurveData *>( d_curve1->data() );
data->append(point);
RecToFile1(elapsed,u);
const int numPoints = data->size();
if ( numPoints > d_paintedPoints1 )
{
const bool doClip = !canvas()->testAttribute( Qt::WA_PaintOnScreen );
if ( doClip )
{
/*
Depending on the platform setting a clip might be an important
performance issue. F.e. for Qt Embedded this reduces the
part of the backing store that has to be copied out - maybe
to an unaccelerated frame buffer device.
*/
const QwtScaleMap xMap = canvasMap( d_curve1->xAxis() );
const QwtScaleMap yMap = canvasMap( d_curve1->yAxis() );
QRectF br = qwtBoundingRect( *data,
d_paintedPoints1 - 1, numPoints - 1 );
const QRect clipRect = QwtScaleMap::transform( xMap, yMap, br ).toRect();
d_directPainter0->setClipRegion( clipRect );
}
d_directPainter0->drawSeries(d_curve1,
d_paintedPoints1 - 1, numPoints - 1);
d_paintedPoints1 = numPoints;
}
}
示例4: QwtPlot
BrainPlot::BrainPlot(QWidget *parent, int nChannels, int Length, int Amplitude):
QwtPlot( parent ),
d_curves( nChannels ),
d_zeros( nChannels )
{
/*Set some attributes*/
minusExpectedAmplitude = -Amplitude;
plotLength = Length;
this->nChannels = nChannels;
/*Start sample counter*/
sample = 0;
/*Painter*/
d_directPainter = new QwtPlotDirectPainter( this );
if ( QwtPainter::isX11GraphicsSystem() )
{
#if QT_VERSION < 0x050000
canvas()->setAttribute( Qt::WA_PaintOutsidePaintEvent, true );
#endif
canvas()->setAttribute( Qt::WA_PaintOnScreen, true );
}
/*Activates the legend for channel tracking*/
QwtLegend *legend = new QwtLegend;
legend->setDefaultItemMode( QwtLegendData::ReadOnly);
insertLegend( legend, QwtPlot::LeftLegend );
/*Instantiate the reference lines and the data curves for each channel*/
int Hfactor = 360/(nChannels+1);//different colors for each curve
char name[15];
for(int c = 0; c < nChannels; c++) {
/*Curve*/
sprintf(name, "Channel %d", c+1);
d_curves[c] = new QwtPlotCurve( name);
d_curves[c]->setData( new CurveData(plotLength,
minusExpectedAmplitude*(2*c+1)) );
d_curves[c]->setPen( QColor::fromHsv ( Hfactor*c, 255, 255));
d_curves[c]->setStyle( QwtPlotCurve::Lines );
d_curves[c]->setSymbol( new QwtSymbol( QwtSymbol::NoSymbol));
d_curves[c]->attach( this );
/*Reference line*/
d_zeros[c] = new QwtPlotCurve;
d_zeros[c]->setData( new CurveData() );
d_zeros[c]->setPen( QColor::fromHsv ( Hfactor*c, 255, 140));
d_zeros[c]->setStyle( QwtPlotCurve::Lines );
d_zeros[c]->setSymbol( new QwtSymbol( QwtSymbol::NoSymbol));
d_zeros[c]->setItemAttribute(QwtPlotItem::Legend, false);
d_zeros[c]->attach( this );
/*Draw reference lines*/
CurveData *data = static_cast<CurveData *>( d_zeros[c]->data() );
data->append(QPointF(0, minusExpectedAmplitude*(2*c+1)));
data->append(QPointF(plotLength, minusExpectedAmplitude*(2*c+1)));
d_directPainter->drawSeries( d_zeros[c], 0, 1);
}
/*Sweeping line*/
d_sweep = new QwtPlotCurve;
d_sweep->setData( new CurveData() );
d_sweep->setPen( Qt::black, plotLength/100, Qt::SolidLine);
d_sweep->setStyle( QwtPlotCurve::Lines );
d_sweep->setSymbol( new QwtSymbol( QwtSymbol::NoSymbol));
d_sweep->setItemAttribute(QwtPlotItem::Legend, false);
d_sweep->attach( this );
CurveData *data = static_cast<CurveData *>( d_sweep->data() );
data->append(QPointF(0, plotLength));
data->append(QPointF(0, 2*nChannels*minusExpectedAmplitude));
/*Axis*/
setAxisScale( xBottom, 0, plotLength );
setAxisScale( yLeft, 2*nChannels*minusExpectedAmplitude, 0 );
enableAxis(xBottom, false);
enableAxis(yLeft, false);
/*Frame*/
setFrameStyle( QFrame::NoFrame );
setLineWidth( 0 );
/*Canvas*/
plotLayout()->setAlignCanvasToScales( true );
plotLayout()->setCanvasMargin(100, QwtPlot::xBottom);
plotLayout()->setCanvasMargin(100, QwtPlot::xTop);
setCanvasBackground( Qt::black );
/*Grid*/
QwtPlotGrid *grid = new QwtPlotGrid;
grid->setMajorPen( Qt::gray, 0, Qt::DotLine );
grid->setMinorPen( Qt::gray, 0, Qt::DotLine );
grid->enableYMin(true);
grid->attach( this );
/*Optimizaion for real-time data collecting*/
setAutoReplot( false );
/*Show*/
//.........这里部分代码省略.........