#ifndef _CIRCULAR_BUFFER_H_ #define _CIRCULAR_BUFFER_H_ #include #include class CircularBuffer: public QwtSeriesData { 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; virtual QPointF sample( size_t i ) const; virtual QRectF boundingRect() const; void setFunction( double( *y )( double ) ); private: double ( *d_y )( double ); double d_referenceTime; double d_interval; QVector d_values; double d_step; int d_startIndex; double d_offset; }; #endif