Qwt User's Guide  6.1.6
QwtPointMapper Class Reference

A helper class for translating a series of points. More...

#include <qwt_point_mapper.h>

Public Types

enum  TransformationFlag { RoundPoints = 0x01, WeedOutPoints = 0x02 }
 Flags affecting the transformation process. More...
 
typedef QFlags< TransformationFlagTransformationFlags
 Flags affecting the transformation process. More...
 

Public Member Functions

 QwtPointMapper ()
 Constructor.
 
 ~QwtPointMapper ()
 Destructor.
 
void setFlags (TransformationFlags)
 
TransformationFlags flags () const
 
void setFlag (TransformationFlag, bool on=true)
 
bool testFlag (TransformationFlag) const
 
void setBoundingRect (const QRectF &)
 
QRectF boundingRect () const
 
QPolygonF toPolygonF (const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QwtSeriesData< QPointF > *series, int from, int to) const
 Translate a series of points into a QPolygonF. More...
 
QPolygon toPolygon (const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QwtSeriesData< QPointF > *series, int from, int to) const
 Translate a series of points into a QPolygon. More...
 
QPolygon toPoints (const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QwtSeriesData< QPointF > *series, int from, int to) const
 Translate a series of points into a QPolygon. More...
 
QPolygonF toPointsF (const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QwtSeriesData< QPointF > *series, int from, int to) const
 Translate a series into a QPolygonF. More...
 
QImage toImage (const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QwtSeriesData< QPointF > *series, int from, int to, const QPen &, bool antialiased, uint numThreads) const
 Translate a series into a QImage. More...
 

Detailed Description

A helper class for translating a series of points.

QwtPointMapper is a collection of methods and optimizations for translating a series of points into paint device coordinates. It is used by QwtPlotCurve but might also be useful for similar plot items displaying a QwtSeriesData<QPointF>.

Member Typedef Documentation

◆ TransformationFlags

Flags affecting the transformation process.

See also
setFlag(), setFlags()

Member Enumeration Documentation

◆ TransformationFlag

Flags affecting the transformation process.

See also
setFlag(), setFlags()
Enumerator
RoundPoints 

Round points to integer values.

WeedOutPoints 

Try to remove points, that are translated to the same position.

Member Function Documentation

◆ boundingRect()

QRectF QwtPointMapper::boundingRect ( ) const
Returns
Bounding rectangle
See also
setBoundingRect()

◆ flags()

QwtPointMapper::TransformationFlags QwtPointMapper::flags ( ) const
Returns
Flags affecting the transformation process
See also
setFlags(), setFlag()

◆ setBoundingRect()

void QwtPointMapper::setBoundingRect ( const QRectF &  rect)

Set a bounding rectangle for the point mapping algorithm

A valid bounding rectangle can be used for optimizations

Parameters
rectBounding rectangle
See also
boundingRect()

◆ setFlag()

void QwtPointMapper::setFlag ( TransformationFlag  flag,
bool  on = true 
)

Modify a flag affecting the transformation process

Parameters
flagFlag type
onValue
See also
flag(), setFlags()

◆ setFlags()

void QwtPointMapper::setFlags ( TransformationFlags  flags)

Set the flags affecting the transformation process

Parameters
flagsFlags
See also
flags(), setFlag()

◆ testFlag()

bool QwtPointMapper::testFlag ( TransformationFlag  flag) const
Returns
True, when the flag is set
Parameters
flagFlag type
See also
setFlag(), setFlags()

◆ toImage()

QImage QwtPointMapper::toImage ( const QwtScaleMap xMap,
const QwtScaleMap yMap,
const QwtSeriesData< QPointF > *  series,
int  from,
int  to,
const QPen &  pen,
bool  antialiased,
uint  numThreads 
) const

Translate a series into a QImage.

Parameters
xMapx map
yMapy map
seriesSeries of points to be mapped
fromIndex of the first point to be painted
toIndex of the last point to be painted
penPen used for drawing a point of the image, where a point is mapped to
antialiasedTrue, when the dots should be displayed antialiased
numThreadsNumber of threads to be used for rendering. If numThreads is set to 0, the system specific ideal thread count is used.
Returns
Image displaying the series

◆ toPoints()

QPolygon QwtPointMapper::toPoints ( const QwtScaleMap xMap,
const QwtScaleMap yMap,
const QwtSeriesData< QPointF > *  series,
int  from,
int  to 
) const

Translate a series of points into a QPolygon.

  • WeedOutPoints & boundingRect().isValid() All points that are mapped to the same position will be one point. Points outside of the bounding rectangle are ignored.
  • WeedOutPoints & !boundingRect().isValid() All consecutive points that are mapped to the same position will one point
  • !WeedOutPoints & boundingRect().isValid() Points outside of the bounding rectangle are ignored.
Parameters
xMapx map
yMapy map
seriesSeries of points to be mapped
fromIndex of the first point to be painted
toIndex of the last point to be painted
Returns
Translated polygon

◆ toPointsF()

QPolygonF QwtPointMapper::toPointsF ( const QwtScaleMap xMap,
const QwtScaleMap yMap,
const QwtSeriesData< QPointF > *  series,
int  from,
int  to 
) const

Translate a series into a QPolygonF.

  • WeedOutPoints & RoundPoints & boundingRect().isValid() All points that are mapped to the same position will be one point. Points outside of the bounding rectangle are ignored.
  • WeedOutPoints & RoundPoints & !boundingRect().isValid() All consecutive points that are mapped to the same position will one point
  • WeedOutPoints & !RoundPoints All consecutive points that are mapped to the same position will one point
  • !WeedOutPoints & boundingRect().isValid() Points outside of the bounding rectangle are ignored.

When RoundPoints is set all points are rounded to integers but returned as PolygonF - what only makes sense when the further processing of the values need a QPolygonF.

Parameters
xMapx map
yMapy map
seriesSeries of points to be mapped
fromIndex of the first point to be painted
toIndex of the last point to be painted
Returns
Translated polygon

◆ toPolygon()

QPolygon QwtPointMapper::toPolygon ( const QwtScaleMap xMap,
const QwtScaleMap yMap,
const QwtSeriesData< QPointF > *  series,
int  from,
int  to 
) const

Translate a series of points into a QPolygon.

When the WeedOutPoints flag is enabled consecutive points, that are mapped to the same position will be one point.

Parameters
xMapx map
yMapy map
seriesSeries of points to be mapped
fromIndex of the first point to be painted
toIndex of the last point to be painted
Returns
Translated polygon

◆ toPolygonF()

QPolygonF QwtPointMapper::toPolygonF ( const QwtScaleMap xMap,
const QwtScaleMap yMap,
const QwtSeriesData< QPointF > *  series,
int  from,
int  to 
) const

Translate a series of points into a QPolygonF.

When the WeedOutPoints flag is enabled consecutive points, that are mapped to the same position will be one point.

When RoundPoints is set all points are rounded to integers but returned as PolygonF - what only makes sense when the further processing of the values need a QPolygonF.

Parameters
xMapx map
yMapy map
seriesSeries of points to be mapped
fromIndex of the first point to be painted
toIndex of the last point to be painted
Returns
Translated polygon