qwt_raster_data.h
/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
* Qwt Widget Library
* Copyright (C) 1997 Josef Wilgen
* Copyright (C) 2002 Uwe Rathmann
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the Qwt License, Version 1.0
*****************************************************************************/
#ifndef QWT_RASTER_DATA_H
#define QWT_RASTER_DATA_H 1
#include "qwt_global.h"
#include "qwt_interval.h"
#include <qmap.h>
#include <qlist.h>
#include <qpolygon.h>
class QwtScaleMap;
class QWT_EXPORT QwtRasterData
{
public:
typedef QMap<double, QPolygonF> ContourLines;
enum ConrecFlag
{
IgnoreAllVerticesOnLevel = 0x01,
IgnoreOutOfRange = 0x02
};
typedef QFlags<ConrecFlag> ConrecFlags;
QwtRasterData();
virtual ~QwtRasterData();
virtual void setInterval( Qt::Axis, const QwtInterval & );
const QwtInterval &interval(Qt::Axis) const;
virtual QRectF pixelHint( const QRectF & ) const;
virtual void initRaster( const QRectF &, const QSize& raster );
virtual void discardRaster();
virtual double value( double x, double y ) const = 0;
virtual ContourLines contourLines( const QRectF &rect,
const QSize &raster, const QList<double> &levels,
ConrecFlags ) const;
class Contour3DPoint;
class ContourPlane;
private:
// Disabled copy constructor and operator=
QwtRasterData( const QwtRasterData & );
QwtRasterData &operator=( const QwtRasterData & );
QwtInterval d_intervals[3];
};
inline const QwtInterval &QwtRasterData::interval( Qt::Axis axis) const
{
return d_intervals[axis];
}
Q_DECLARE_OPERATORS_FOR_FLAGS( QwtRasterData::ConrecFlags )
#endif
QwtRasterData
QwtRasterData defines an interface to any type of raster data.
Definition: qwt_raster_data.h:33
QwtRasterData::interval
const QwtInterval & interval(Qt::Axis) const
Definition: qwt_raster_data.h:88
QwtRasterData::ConrecFlag
ConrecFlag
Flags to modify the contour algorithm.
Definition: qwt_raster_data.h:40
QwtRasterData::value
virtual double value(double x, double y) const =0
QwtRasterData::ConrecFlags
QFlags< ConrecFlag > ConrecFlags
Flags to modify the contour algorithm.
Definition: qwt_raster_data.h:49
QwtScaleMap
A scale map.
Definition: qwt_scale_map.h:31
QwtRasterData::ContourLines
QMap< double, QPolygonF > ContourLines
Contour lines.
Definition: qwt_raster_data.h:36
QwtInterval
A class representing an interval.
Definition: qwt_interval.h:27