Public Member Functions

QwtArrayData Class Reference

Data class containing two QwtArray<double> objects. More...

#include <qwt_data.h>

Inheritance diagram for QwtArrayData:
Inheritance graph
[legend]
Collaboration diagram for QwtArrayData:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 QwtArrayData (const QMemArray< double > &x, const QMemArray< double > &y)
 QwtArrayData (const double *x, const double *y, vcl_size_t size)
QwtArrayDataoperator= (const QwtArrayData &)
 Assignment.
virtual QwtDatacopy () const
virtual vcl_size_t size () const
virtual double x (vcl_size_t i) const
virtual double y (vcl_size_t i) const
const QMemArray< double > & xData () const
const QMemArray< double > & yData () const
virtual QwtDoubleRect boundingRect () const

Detailed Description

Data class containing two QwtArray<double> objects.

Definition at line 119 of file qwt_data.h.


Constructor & Destructor Documentation

QwtArrayData::QwtArrayData ( const QMemArray< double > &  x,
const QMemArray< double > &  y 
)

Constructor

Parameters:
xArray of x values
yArray of y values
See also:
QwtPlotCurve::setData()

Definition at line 142 of file qwt_data.cpp.

Referenced by copy().

                                                             : 
    d_x(x), 
    d_y(y)
{
}
QwtArrayData::QwtArrayData ( const double *  x,
const double *  y,
vcl_size_t  size 
)

Constructor

Parameters:
xArray of x values
yArray of y values
sizeSize of the x and y arrays
See also:
QwtPlotCurve::setData()

Definition at line 157 of file qwt_data.cpp.

References x(), and y().

{
#if QT_VERSION >= 0x040000
    d_x.resize(size);
    qMemCopy(d_x.data(), x, size * sizeof(double));

    d_y.resize(size);
    qMemCopy(d_y.data(), y, size * sizeof(double));
#else
    d_x.detach();
    d_x.duplicate(x, size);

    d_y.detach();
    d_y.duplicate(y, size);
#endif
}

Member Function Documentation

QwtDoubleRect QwtArrayData::boundingRect (  ) const [virtual]

Returns the bounding rectangle of the data. If there is no bounding rect, like for empty data the rectangle is invalid: QwtDoubleRect::isValid() == false

Reimplemented from QwtData.

Definition at line 238 of file qwt_data.cpp.

References size().

{
    const size_t sz = size();

    if ( sz <= 0 )
        return QwtDoubleRect(1.0, 1.0, -2.0, -2.0); // invalid

    double minX, maxX, minY, maxY;
    QwtArray<double>::ConstIterator xIt = d_x.begin();
    QwtArray<double>::ConstIterator yIt = d_y.begin();
    QwtArray<double>::ConstIterator end = d_x.begin() + sz;
    minX = maxX = *xIt++;
    minY = maxY = *yIt++;

    while ( xIt < end )
    {
        const double xv = *xIt++;
        if ( xv < minX )
            minX = xv;
        if ( xv > maxX )
            maxX = xv;

        const double yv = *yIt++;
        if ( yv < minY )
            minY = yv;
        if ( yv > maxY )
            maxY = yv;
    }
    return QwtDoubleRect(minX, minY, maxX - minX, maxY - minY);
}
QwtData * QwtArrayData::copy (  ) const [virtual]
Returns:
Pointer to a copy (virtual copy constructor)

Implements QwtData.

Definition at line 228 of file qwt_data.cpp.

References QwtArrayData().

{ 
    return new QwtArrayData(d_x, d_y); 
}
QwtArrayData & QwtArrayData::operator= ( const QwtArrayData data )

Assignment.

Definition at line 175 of file qwt_data.cpp.

{
    if (this != &data)
    {
        d_x = data.d_x;
        d_y = data.d_y;
    }
    return *this;
}
vcl_size_t QwtArrayData::size (  ) const [virtual]
Returns:
Size of the data set

Implements QwtData.

Definition at line 186 of file qwt_data.cpp.

References qwtMin.

Referenced by boundingRect().

{ 
    return qwtMin(d_x.size(), d_y.size()); 
}
double QwtArrayData::x ( vcl_size_t  i ) const [virtual]

Return the x value of data point i

Parameters:
iIndex
Returns:
x X value of data point i

Implements QwtData.

Definition at line 197 of file qwt_data.cpp.

References int().

Referenced by QwtArrayData().

{ 
    return d_x[int(i)]; 
}
const QMemArray< double > & QwtArrayData::xData (  ) const
Returns:
Array of the x-values

Definition at line 214 of file qwt_data.cpp.

{
    return d_x;
}
double QwtArrayData::y ( vcl_size_t  i ) const [virtual]

Return the y value of data point i

Parameters:
iIndex
Returns:
y Y value of data point i

Implements QwtData.

Definition at line 208 of file qwt_data.cpp.

References int().

Referenced by QwtArrayData().

{ 
    return d_y[int(i)]; 
}
const QMemArray< double > & QwtArrayData::yData (  ) const
Returns:
Array of the y-values

Definition at line 220 of file qwt_data.cpp.

{
    return d_y;
}

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines