Qwt User's Guide  6.2.0
QwtPolarSpectrogram Class Reference

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

#include <qwt_polar_spectrogram.h>

Inheritance diagram for QwtPolarSpectrogram:

Public Types

enum  PaintAttribute { ApproximatedAtan = 0x01 }
 
typedef QFlags< PaintAttributePaintAttributes
 
- 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
 
typedef QFlags< RenderHintRenderHints
 

Public Member Functions

 QwtPolarSpectrogram ()
 Constructor.
 
virtual ~QwtPolarSpectrogram ()
 Destructor.
 
void setData (QwtRasterData *data)
 
const QwtRasterDatadata () const
 
void setColorMap (QwtColorMap *)
 
const QwtColorMapcolorMap () const
 
void setPaintAttribute (PaintAttribute, bool on=true)
 
bool testPaintAttribute (PaintAttribute) const
 
virtual int rtti () const override
 
virtual void draw (QPainter *painter, const QwtScaleMap &azimuthMap, const QwtScaleMap &radialMap, const QPointF &pole, double radius, const QRectF &canvasRect) const override
 
virtual QwtInterval boundingInterval (int scaleId) const override
 
- 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 QwtTexttitle () 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< QwtLegendDatalegendData () 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 3-dimensional 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

Definition at line 28 of file qwt_polar_spectrogram.h.

Member Typedef Documentation

◆ PaintAttributes

An ORed combination of PaintAttribute values.

Definition at line 47 of file qwt_polar_spectrogram.h.

Member Enumeration Documentation

◆ PaintAttribute

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.

Definition at line 37 of file qwt_polar_spectrogram.h.

Member Function Documentation

◆ boundingInterval()

QwtInterval QwtPolarSpectrogram::boundingInterval ( int  scaleId) const
overridevirtual

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.

Definition at line 443 of file qwt_polar_spectrogram.cpp.

◆ colorMap()

const QwtColorMap * QwtPolarSpectrogram::colorMap ( ) const
Returns
Color Map used for mapping the intensity values to colors
See also
setColorMap()

Definition at line 137 of file qwt_polar_spectrogram.cpp.

◆ data()

const QwtRasterData * QwtPolarSpectrogram::data ( ) const
Returns
Spectrogram data
See also
setData()

Definition at line 106 of file qwt_polar_spectrogram.cpp.

◆ draw()

void QwtPolarSpectrogram::draw ( QPainter *  painter,
const QwtScaleMap azimuthMap,
const QwtScaleMap radialMap,
const QPointF &  pole,
double  radius,
const QRectF &  canvasRect 
) const
overridevirtual

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.

Definition at line 177 of file qwt_polar_spectrogram.cpp.

◆ renderImage()

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()

Definition at line 235 of file qwt_polar_spectrogram.cpp.

◆ renderTile()

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

Definition at line 343 of file qwt_polar_spectrogram.cpp.

◆ rtti()

int QwtPolarSpectrogram::rtti ( ) const
overridevirtual
Returns
QwtPolarItem::Rtti_PolarSpectrogram

Reimplemented from QwtPolarItem.

Definition at line 76 of file qwt_polar_spectrogram.cpp.

◆ setColorMap()

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()

Definition at line 122 of file qwt_polar_spectrogram.cpp.

◆ setData()

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.

Definition at line 91 of file qwt_polar_spectrogram.cpp.

◆ setPaintAttribute()

void QwtPolarSpectrogram::setPaintAttribute ( PaintAttribute  attribute,
bool  on = true 
)

Specify an attribute how to draw the curve

Parameters
attributePaint attribute
onOn/Off
See also
testPaintAttribute()

Definition at line 149 of file qwt_polar_spectrogram.cpp.

◆ testPaintAttribute()

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

Definition at line 162 of file qwt_polar_spectrogram.cpp.