Qwt Polar User's Guide  1.1.1
 All Classes Functions Typedefs Enumerations Enumerator Pages
Public Types | Public Member Functions | Protected Member Functions | List of all members
QwtPolarSpectrogram Class Reference

An item, which displays a spectrogram. More...

#include <qwt_polar_spectrogram.h>

Inheritance diagram for QwtPolarSpectrogram:
Inheritance graph
[legend]

Public Types

enum  PaintAttribute { ApproximatedAtan = 0x01 }
 
typedef QFlags< PaintAttributePaintAttributes
 Paint attributes.
 
- Public Types inherited from QwtPolarItem
enum  RttiValues {
  Rtti_PolarItem = 0, Rtti_PolarGrid, Rtti_PolarMarker, Rtti_PolarCurve,
  Rtti_PolarSpectrogram, Rtti_PolarUserItem = 1000
}
 Runtime type information. More...
 
enum  ItemAttribute { Legend = 0x01, AutoScale = 0x02 }
 Plot Item Attributes. More...
 
enum  RenderHint { RenderAntialiased = 0x01 }
 Render hints. More...
 
typedef QFlags< ItemAttributeItemAttributes
 Item attributes.
 
typedef QFlags< RenderHintRenderHints
 Item attributes.
 

Public Member Functions

 QwtPolarSpectrogram ()
 Constructor.
 
virtual ~QwtPolarSpectrogram ()
 Destructor.
 
void setData (QwtRasterData *data)
 
const QwtRasterData * data () const
 
void setColorMap (QwtColorMap *)
 
const QwtColorMap * colorMap () const
 
void setPaintAttribute (PaintAttribute, bool on=true)
 
bool testPaintAttribute (PaintAttribute) const
 
virtual int rtti () const
 
virtual void draw (QPainter *painter, const QwtScaleMap &azimuthMap, const QwtScaleMap &radialMap, const QPointF &pole, double radius, const QRectF &canvasRect) const
 
virtual QwtInterval boundingInterval (int scaleId) const
 
- Public Member Functions inherited from QwtPolarItem
 QwtPolarItem (const QwtText &title=QwtText())
 
virtual ~QwtPolarItem ()
 Destroy the QwtPolarItem.
 
void attach (QwtPolarPlot *plot)
 Attach the item to a plot. More...
 
void detach ()
 This method detaches a QwtPolarItem from the QwtPolarPlot it has been associated with. More...
 
QwtPolarPlotplot () const
 
void setTitle (const QString &title)
 
void setTitle (const QwtText &title)
 
const QwtText & title () const
 
void setItemAttribute (ItemAttribute, bool on=true)
 
bool testItemAttribute (ItemAttribute) const
 
void setRenderHint (RenderHint, bool on=true)
 
bool testRenderHint (RenderHint) const
 
void setRenderThreadCount (uint numThreads)
 
uint renderThreadCount () const
 
double z () const
 
void setZ (double z)
 Set the z value. More...
 
void show ()
 Show the item.
 
void hide ()
 Hide the item.
 
virtual void setVisible (bool)
 
bool isVisible () const
 
virtual void itemChanged ()
 
virtual void legendChanged ()
 
virtual void updateScaleDiv (const QwtScaleDiv &, const QwtScaleDiv &, const QwtInterval &)
 Update the item to changes of the axes scale division. More...
 
virtual int marginHint () const
 
void setLegendIconSize (const QSize &)
 
QSize legendIconSize () const
 
virtual QList< QwtLegendData > legendData () const
 Return all information, that is needed to represent the item on the legend. More...
 
virtual QwtGraphic legendIcon (int index, const QSizeF &) const
 

Protected Member Functions

virtual QImage renderImage (const QwtScaleMap &azimuthMap, const QwtScaleMap &radialMap, const QPointF &pole, const QRect &rect) const
 Render an image from the data and color map. More...
 
virtual void renderTile (const QwtScaleMap &azimuthMap, const QwtScaleMap &radialMap, const QPointF &pole, const QPoint &imagePos, const QRect &tile, QImage *image) const
 Render a sub-rectangle of an image. More...
 

Detailed Description

An item, which displays a spectrogram.

A spectrogram displays threedimenional data, where the 3rd dimension ( the intensity ) is displayed using colors. The colors are calculated from the values using a color map.

See Also
QwtRasterData, QwtColorMap

Member Enumeration Documentation

Attributes to modify the drawing algorithm. The default setting disables ApproximatedAtan

See Also
setPaintAttribute(), testPaintAttribute()
Enumerator
ApproximatedAtan 

Use qwtFastAtan2 instead of atan2 for translating widget into polar coordinates.

Member Function Documentation

QwtInterval QwtPolarSpectrogram::boundingInterval ( int  scaleId) const
virtual

Interval, that is necessary to display the item This interval can be useful for operations like clipping or autoscaling

Parameters
scaleIdScale index
Returns
bounding interval ( == position )
See Also
position()

Reimplemented from QwtPolarItem.

const QwtColorMap * QwtPolarSpectrogram::colorMap ( ) const
Returns
Color Map used for mapping the intensity values to colors
See Also
setColorMap()
const QwtRasterData * QwtPolarSpectrogram::data ( ) const
Returns
Spectrogram data
See Also
setData()
void QwtPolarSpectrogram::draw ( QPainter *  painter,
const QwtScaleMap &  azimuthMap,
const QwtScaleMap &  radialMap,
const QPointF &  pole,
double  radius,
const QRectF &  canvasRect 
) const
virtual

Draw the spectrogram

Parameters
painterPainter
azimuthMapMaps azimuth values to values related to 0.0, M_2PI
radialMapMaps radius values into painter coordinates.
polePosition of the pole in painter coordinates
radiusRadius of the complete plot area in painter coordinates
canvasRectContents rect of the canvas in painter coordinates

Implements QwtPolarItem.

QImage QwtPolarSpectrogram::renderImage ( const QwtScaleMap &  azimuthMap,
const QwtScaleMap &  radialMap,
const QPointF &  pole,
const QRect &  rect 
) const
protectedvirtual

Render an image from the data and color map.

The area is translated into a rect of the paint device. For each pixel of this rect the intensity is mapped into a color.

Parameters
azimuthMapMaps azimuth values to values related to 0.0, M_2PI
radialMapMaps radius values into painter coordinates.
polePosition of the pole in painter coordinates
rectTarget rectangle of the image in painter coordinates
Returns
A QImage::Format_Indexed8 or QImage::Format_ARGB32 depending on the color map.
See Also
QwtRasterData::intensity(), QwtColorMap::rgb(), QwtColorMap::colorIndex()
void QwtPolarSpectrogram::renderTile ( const QwtScaleMap &  azimuthMap,
const QwtScaleMap &  radialMap,
const QPointF &  pole,
const QPoint &  imagePos,
const QRect &  tile,
QImage *  image 
) const
protectedvirtual

Render a sub-rectangle of an image.

renderTile() is called by renderImage() to render different parts of the image by concurrent threads.

Parameters
azimuthMapMaps azimuth values to values related to 0.0, M_2PI
radialMapMaps radius values into painter coordinates.
polePosition of the pole in painter coordinates
imagePosTop/left position of the image in painter coordinates
tileSub-rectangle of the tile in painter coordinates
imageImage to be rendered
See Also
setRenderThreadCount()
Note
renderTile needs to be reentrant
int QwtPolarSpectrogram::rtti ( ) const
virtual
void QwtPolarSpectrogram::setColorMap ( QwtColorMap *  colorMap)

Change the color map

Often it is useful to display the mapping between intensities and colors as an additional plot axis, showing a color bar.

Parameters
colorMapColor Map
See Also
colorMap(), QwtScaleWidget::setColorBarEnabled(), QwtScaleWidget::setColorMap()
void QwtPolarSpectrogram::setData ( QwtRasterData *  data)

Set the data to be displayed

Parameters
dataSpectrogram Data
See Also
data()
Warning
QwtRasterData::initRaster() is called each time before the image is rendered, but without any useful parameters. Also QwtRasterData::rasterHint() is not used.
void QwtPolarSpectrogram::setPaintAttribute ( PaintAttribute  attribute,
bool  on = true 
)

Specify an attribute how to draw the curve

Parameters
attributePaint attribute
onOn/Off
See Also
testPaintAttribute()
bool QwtPolarSpectrogram::testPaintAttribute ( PaintAttribute  attribute) const
Parameters
attributePaint attribute
Returns
True, when attribute has been set
See Also
setPaintAttribute()