Classes | Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
QwtPlotVectorField Class Reference

A plot item, that represents a vector field. More...

#include <qwt_plot_vectorfield.h>

Inheritance diagram for QwtPlotVectorField:
Inheritance graph
[legend]

Classes

class  PrivateData
 

Public Types

enum  IndicatorOrigin { OriginHead, OriginTail, OriginCenter }
 
enum  MagnitudeMode { MagnitudeAsColor = 0x01, MagnitudeAsLength = 0x02 }
 
enum  PaintAttribute { FilterVectors = 0x01 }
 
- Public Types inherited from QwtPlotItem
enum  ItemAttribute { Legend = 0x01, AutoScale = 0x02, Margins = 0x04 }
 Plot Item Attributes. More...
 
enum  ItemInterest { ScaleInterest = 0x01, LegendInterest = 0x02 }
 Plot Item Interests. More...
 
enum  RenderHint { RenderAntialiased = 0x1 }
 Render hints. More...
 
enum  RttiValues {
  Rtti_PlotItem = 0, Rtti_PlotGrid, Rtti_PlotScale, Rtti_PlotLegend,
  Rtti_PlotMarker, Rtti_PlotCurve, Rtti_PlotSpectroCurve, Rtti_PlotIntervalCurve,
  Rtti_PlotHistogram, Rtti_PlotSpectrogram, Rtti_PlotGraphic, Rtti_PlotTradingCurve,
  Rtti_PlotBarChart, Rtti_PlotMultiBarChart, Rtti_PlotShape, Rtti_PlotTextLabel,
  Rtti_PlotZone, Rtti_PlotVectorField, Rtti_PlotUserItem = 1000
}
 Runtime type information. More...
 

Public Member Functions

virtual double arrowLength (double magnitude) const
 
virtual QRectF boundingRect () const QWT_OVERRIDE
 
QBrush brush () const
 
const QwtColorMapcolorMap () const
 
virtual void drawSeries (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const QWT_OVERRIDE
 
IndicatorOrigin indicatorOrigin () const
 
virtual QwtGraphic legendIcon (int index, const QSizeF &) const QWT_OVERRIDE
 
QwtInterval magnitudeRange () const
 
double magnitudeScaleFactor () const
 
double maxArrowLength () const
 
double minArrowLength () const
 
QPen pen () const
 
 QwtPlotVectorField (const QString &title=QString())
 
 QwtPlotVectorField (const QwtText &title)
 
QSizeF rasterSize () const
 
virtual int rtti () const QWT_OVERRIDE
 
void setBrush (const QBrush &)
 Assign a brush. More...
 
void setColorMap (QwtColorMap *)
 
void setIndicatorOrigin (IndicatorOrigin)
 
void setMagnitudeMode (MagnitudeMode, bool on=true)
 
void setMagnitudeRange (const QwtInterval &)
 
void setMagnitudeScaleFactor (double factor)
 Set the magnitudeScaleFactor. More...
 
void setMaxArrowLength (double)
 
void setMinArrowLength (double)
 
void setPaintAttribute (PaintAttribute, bool on=true)
 
void setPen (const QPen &)
 
void setRasterSize (const QSizeF &)
 
void setSamples (const QVector< QwtVectorFieldSample > &)
 
void setSamples (QwtVectorFieldData *)
 
void setSymbol (QwtVectorFieldSymbol *)
 
const QwtVectorFieldSymbolsymbol () const
 
bool testMagnitudeMode (MagnitudeMode) const
 
bool testPaintAttribute (PaintAttribute) const
 
virtual ~QwtPlotVectorField ()
 Destructor. More...
 
- Public Member Functions inherited from QwtPlotSeriesItem
virtual void draw (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect) const QWT_OVERRIDE
 Draw the complete series. More...
 
Qt::Orientation orientation () const
 
 QwtPlotSeriesItem (const QString &title=QString())
 
 QwtPlotSeriesItem (const QwtText &title)
 
void setOrientation (Qt::Orientation)
 
virtual void updateScaleDiv (const QwtScaleDiv &, const QwtScaleDiv &) QWT_OVERRIDE
 Update the item to changes of the axes scale division. More...
 
virtual ~QwtPlotSeriesItem ()
 Destructor. More...
 
- Public Member Functions inherited from QwtPlotItem
void attach (QwtPlot *plot)
 Attach the item to a plot. More...
 
void detach ()
 This method detaches a QwtPlotItem from any QwtPlot it has been associated with. More...
 
virtual void getCanvasMarginHint (const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, double &left, double &top, double &right, double &bottom) const
 Calculate a hint for the canvas margin. More...
 
void hide ()
 Hide the item. More...
 
bool isVisible () const
 
virtual void itemChanged ()
 
virtual void legendChanged ()
 
virtual QList< QwtLegendDatalegendData () const
 Return all information, that is needed to represent the item on the legend. More...
 
QSize legendIconSize () const
 
QRectF paintRect (const QwtScaleMap &, const QwtScaleMap &) const
 Calculate the bounding paint rectangle of 2 maps. More...
 
QwtPlotplot () const
 Return attached plot. More...
 
 QwtPlotItem ()
 
 QwtPlotItem (const QString &title)
 
 QwtPlotItem (const QwtText &title)
 
uint renderThreadCount () const
 
QRectF scaleRect (const QwtScaleMap &, const QwtScaleMap &) const
 Calculate the bounding scale rectangle of 2 maps. More...
 
void setAxes (QwtAxisId xAxis, QwtAxisId yAxis)
 
void setItemAttribute (ItemAttribute, bool on=true)
 
void setItemInterest (ItemInterest, bool on=true)
 
void setLegendIconSize (const QSize &)
 
void setRenderHint (RenderHint, bool on=true)
 
void setRenderThreadCount (uint numThreads)
 
void setTitle (const QString &title)
 
void setTitle (const QwtText &title)
 
virtual void setVisible (bool)
 
void setXAxis (QwtAxisId)
 
void setYAxis (QwtAxisId)
 
void setZ (double z)
 Set the z value. More...
 
void show ()
 Show the item. More...
 
bool testItemAttribute (ItemAttribute) const
 
bool testItemInterest (ItemInterest) const
 
bool testRenderHint (RenderHint) const
 
const QwtTexttitle () const
 
virtual void updateLegend (const QwtPlotItem *, const QList< QwtLegendData > &)
 Update the item to changes of the legend info. More...
 
QwtAxisId xAxis () const
 Return xAxis. More...
 
QwtAxisId yAxis () const
 Return yAxis. More...
 
double z () const
 
virtual ~QwtPlotItem ()
 Destroy the QwtPlotItem. More...
 
- Public Member Functions inherited from QwtAbstractSeriesStore
virtual ~QwtAbstractSeriesStore ()
 Destructor. More...
 
- Public Member Functions inherited from QwtSeriesStore< QwtVectorFieldSample >
QwtSeriesData< QwtVectorFieldSample > * data ()
 
const QwtSeriesData< QwtVectorFieldSample > * data () const
 
virtual QRectF dataRect () const QWT_OVERRIDE
 
virtual size_t dataSize () const QWT_OVERRIDE
 
 QwtSeriesStore ()
 Constructor The store contains no series. More...
 
QwtVectorFieldSample sample (int index) const
 
void setData (QwtSeriesData< QwtVectorFieldSample > *series)
 
virtual void setRectOfInterest (const QRectF &rect) QWT_OVERRIDE
 
QwtSeriesData< QwtVectorFieldSample > * swapData (QwtSeriesData< QwtVectorFieldSample > *series)
 
 ~QwtSeriesStore ()
 Destructor. More...
 

Protected Member Functions

virtual void dataChanged () QWT_OVERRIDE
 dataChanged() indicates, that the series has been changed. More...
 
virtual void drawSymbol (QPainter *, double x, double y, double vx, double vy) const
 
virtual void drawSymbols (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const
 
- Protected Member Functions inherited from QwtPlotItem
QwtGraphic defaultIcon (const QBrush &, const QSizeF &) const
 Return a default icon from a brush. More...
 
- Protected Member Functions inherited from QwtAbstractSeriesStore
virtual QRectF dataRect () const =0
 
virtual size_t dataSize () const =0
 

Private Member Functions

void init ()
 Initialize data members. More...
 

Private Attributes

PrivateDatam_data
 

Detailed Description

A plot item, that represents a vector field.

A vector field is a representation of a points with a given magnitude and direction as arrows. While the direction affects the direction of the arrow, the magnitude might be represented as a color or by the length of the arrow.

See also
QwtVectorFieldSymbol, QwtVectorFieldSample

Definition at line 30 of file qwt_plot_vectorfield.h.

Member Enumeration Documentation

◆ IndicatorOrigin

Depending on the origin the indicator symbol ( usually an arrow ) will be to the position of the corresponding sample.

Enumerator
OriginHead 

symbol points to the sample position

OriginTail 

The arrow starts at the sample position.

OriginCenter 

The arrow is centered at the sample position.

Definition at line 39 of file qwt_plot_vectorfield.h.

◆ MagnitudeMode

Depending on the MagnitudeMode the magnitude component will have an impact on the attributes of the symbol/arrow.

See also
setMagnitudeMode()
Enumerator
MagnitudeAsColor 

The magnitude will be mapped to a color using a color map

See also
magnitudeRange(), colorMap()
MagnitudeAsLength 

The magnitude will have an impact on the length of the arrow/symbol

See also
arrowLength(), magnitudeScaleFactor()

Definition at line 75 of file qwt_plot_vectorfield.h.

◆ PaintAttribute

Attributes to modify the rendering

See also
setPaintAttribute(), testPaintAttribute()
Enumerator
FilterVectors 

Definition at line 55 of file qwt_plot_vectorfield.h.

Constructor & Destructor Documentation

◆ QwtPlotVectorField() [1/2]

QwtPlotVectorField::QwtPlotVectorField ( const QString &  title = QString())
explicit

Constructor

Parameters
titleTitle of the curve

Definition at line 302 of file qwt_plot_vectorfield.cpp.

◆ QwtPlotVectorField() [2/2]

QwtPlotVectorField::QwtPlotVectorField ( const QwtText title)
explicit

Constructor

Parameters
titleTitle of the curve

Definition at line 292 of file qwt_plot_vectorfield.cpp.

◆ ~QwtPlotVectorField()

QwtPlotVectorField::~QwtPlotVectorField ( )
virtual

Destructor.

Definition at line 309 of file qwt_plot_vectorfield.cpp.

Member Function Documentation

◆ arrowLength()

double QwtPlotVectorField::arrowLength ( double  magnitude) const
virtual

Computes length of the arrow in screen coordinate units based on its magnitude.

Default implementation simply scales the vector using the magnitudeScaleFactor() If the result is not null, the length is then bounded into the interval [ minArrowLength(), maxArrowLength() ].

Re-implement this function to provide special handling for zero/non-zero magnitude arrows, or impose minimum/maximum arrow length limits.

Parameters
magnitudeMagnitude
Returns
Length of arrow to be drawn in dependence of vector magnitude.
See also
magnitudeScaleFactor, minArrowLength(), maxArrowLength()
Note
Has no effect when QwtPlotVectorField::MagnitudeAsLength is not enabled

Definition at line 726 of file qwt_plot_vectorfield.cpp.

◆ boundingRect()

QRectF QwtPlotVectorField::boundingRect ( ) const
virtual
Returns
An invalid bounding rect: QRectF(1.0, 1.0, -2.0, -2.0)
Note
A width or height < 0.0 is ignored by the autoscaler

Reimplemented from QwtPlotSeriesItem.

Definition at line 749 of file qwt_plot_vectorfield.cpp.

◆ brush()

QBrush QwtPlotVectorField::brush ( ) const
Returns
Brush used to fill the symbol
See also
setBrush(), pen()

Definition at line 379 of file qwt_plot_vectorfield.cpp.

◆ colorMap()

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

Definition at line 590 of file qwt_plot_vectorfield.cpp.

◆ dataChanged()

void QwtPlotVectorField::dataChanged ( )
protectedvirtual

dataChanged() indicates, that the series has been changed.

Reimplemented from QwtPlotSeriesItem.

Definition at line 1034 of file qwt_plot_vectorfield.cpp.

◆ drawSeries()

void QwtPlotVectorField::drawSeries ( QPainter *  painter,
const QwtScaleMap xMap,
const QwtScaleMap yMap,
const QRectF &  canvasRect,
int  from,
int  to 
) const
virtual

Draw a subset of the points

Parameters
painterPainter
xMapMaps x-values into pixel coordinates.
yMapMaps y-values into pixel coordinates.
canvasRectContents rectangle of the canvas
fromIndex of the first sample to be painted
toIndex of the last sample to be painted. If to < 0 the series will be painted to its last sample.

Implements QwtPlotSeriesItem.

Definition at line 807 of file qwt_plot_vectorfield.cpp.

◆ drawSymbol()

void QwtPlotVectorField::drawSymbol ( QPainter *  painter,
double  x,
double  y,
double  vx,
double  vy 
) const
protectedvirtual

Draw a arrow/symbols at a specific position

x, y, are paint device coordinates, while vx, vy are from the corresponding sample.

See also
setSymbol(), drawSeries()

Definition at line 975 of file qwt_plot_vectorfield.cpp.

◆ drawSymbols()

void QwtPlotVectorField::drawSymbols ( QPainter *  painter,
const QwtScaleMap xMap,
const QwtScaleMap yMap,
const QRectF &  canvasRect,
int  from,
int  to 
) const
protectedvirtual

Draw symbols

Parameters
painterPainter
xMapx map
yMapy map
canvasRectContents rectangle of the canvas
fromIndex of the first sample to be painted
toIndex of the last sample to be painted
See also
setSymbol(), drawSymbol(), drawSeries()

Definition at line 847 of file qwt_plot_vectorfield.cpp.

◆ indicatorOrigin()

QwtPlotVectorField::IndicatorOrigin QwtPlotVectorField::indicatorOrigin ( ) const
Returns
origin for the symbols/arrows

Definition at line 401 of file qwt_plot_vectorfield.cpp.

◆ init()

void QwtPlotVectorField::init ( )
private

Initialize data members.

Definition at line 317 of file qwt_plot_vectorfield.cpp.

◆ legendIcon()

QwtGraphic QwtPlotVectorField::legendIcon ( int  index,
const QSizeF &  size 
) const
virtual
Returns
Icon representing the vector fields on the legend
Parameters
indexIndex of the legend entry ( ignored as there is only one )
sizeIcon size
See also
QwtPlotItem::setLegendIconSize(), QwtPlotItem::legendData()

Reimplemented from QwtPlotItem.

Definition at line 770 of file qwt_plot_vectorfield.cpp.

◆ magnitudeRange()

QwtInterval QwtPlotVectorField::magnitudeRange ( ) const
Returns
min/max magnitudes to be used for color map lookups
See also
setMagnitudeRange(), colorMap()

Definition at line 645 of file qwt_plot_vectorfield.cpp.

◆ magnitudeScaleFactor()

double QwtPlotVectorField::magnitudeScaleFactor ( ) const
Returns
Scale factor used to calculate the arrow length from the magnitude

The length of the arrow in screen coordinate units is calculated by scaling the magnitude by the magnitudeScaleFactor.

Default implementation simply scales the vector using the magnitudeScaleFactor property. Re-implement this function to provide special handling for zero/non-zero magnitude arrows, or impose minimum/maximum arrow length limits.

Returns
Length of arrow to be drawn in dependence of vector magnitude.
See also
magnitudeScaleFactor
Note
Has no effect when QwtPlotVectorField::MagnitudeAsLength is not enabled

Definition at line 440 of file qwt_plot_vectorfield.cpp.

◆ maxArrowLength()

double QwtPlotVectorField::maxArrowLength ( ) const
Returns
maximum for the arrow length
See also
setMinArrowLength(), maxArrowLength(), arrowLength()
Note
Has no effect when QwtPlotVectorField::MagnitudeAsLength is not enabled

Definition at line 705 of file qwt_plot_vectorfield.cpp.

◆ minArrowLength()

double QwtPlotVectorField::minArrowLength ( ) const
Returns
minimum for the arrow length of non zero vectors
See also
setMinArrowLength(), maxArrowLength(), arrowLength()
Note
Has no effect when QwtPlotVectorField::MagnitudeAsLength is not enabled

Definition at line 675 of file qwt_plot_vectorfield.cpp.

◆ pen()

QPen QwtPlotVectorField::pen ( ) const
Returns
Pen used to draw the lines
See also
setPen(), brush()

Definition at line 351 of file qwt_plot_vectorfield.cpp.

◆ rasterSize()

QSizeF QwtPlotVectorField::rasterSize ( ) const
Returns
raster size used for filtering samples
See also
setRasterSize(), QwtPlotVectorField::FilterVectors

Definition at line 463 of file qwt_plot_vectorfield.cpp.

◆ rtti()

int QwtPlotVectorField::rtti ( ) const
virtual
Returns
QwtPlotItem::Rtti_PlotField

Reimplemented from QwtPlotItem.

Definition at line 503 of file qwt_plot_vectorfield.cpp.

◆ setBrush()

void QwtPlotVectorField::setBrush ( const QBrush &  brush)

Assign a brush.

Parameters
brushNew brush
See also
brush(), pen()
Note
the brush is ignored in MagnitudeAsColor mode

Definition at line 364 of file qwt_plot_vectorfield.cpp.

◆ setColorMap()

void QwtPlotVectorField::setColorMap ( QwtColorMap colorMap)

Change the color map

The color map is used to map the magnitude of a sample into a color using a known range for the magnitudes.

Parameters
colorMapColor Map
See also
colorMap(), magnitudeRange()

Definition at line 571 of file qwt_plot_vectorfield.cpp.

◆ setIndicatorOrigin()

void QwtPlotVectorField::setIndicatorOrigin ( IndicatorOrigin  origin)

Set the origin for the symbols/arrows

Parameters
originOrigin
See also
indicatorOrigin()

Definition at line 390 of file qwt_plot_vectorfield.cpp.

◆ setMagnitudeMode()

void QwtPlotVectorField::setMagnitudeMode ( MagnitudeMode  mode,
bool  on = true 
)

Specify a mode how to represent the magnitude a n arrow/symbol

Parameters
modeMode
onOn/Off
See also
testMagnitudeMode()

Definition at line 602 of file qwt_plot_vectorfield.cpp.

◆ setMagnitudeRange()

void QwtPlotVectorField::setMagnitudeRange ( const QwtInterval magnitudeRange)

Sets the min/max magnitudes to be used for color map lookups.

If invalid (min=max=0 or negative values), the range is determined from the current range of magnitudes in the vector samples.

See also
magnitudeRange(), colorMap()

Definition at line 632 of file qwt_plot_vectorfield.cpp.

◆ setMagnitudeScaleFactor()

void QwtPlotVectorField::setMagnitudeScaleFactor ( double  factor)

Set the magnitudeScaleFactor.

The length of the arrow in screen coordinate units is calculated by scaling the magnitude by the magnitudeScaleFactor.

Parameters
factorScale factor
See also
magnitudeScaleFactor(), arrowLength()
Note
Has no effect when QwtPlotVectorField::MagnitudeAsLength is not enabled

Definition at line 417 of file qwt_plot_vectorfield.cpp.

◆ setMaxArrowLength()

void QwtPlotVectorField::setMaxArrowLength ( double  length)

Set a maximum for the arrow length

Parameters
lengthMaximum for the arrow length in pixels
See also
maxArrowLength(), setMinArrowLength(), arrowLength()
Note
Has no effect when QwtPlotVectorField::MagnitudeAsLength is not enabled

Definition at line 688 of file qwt_plot_vectorfield.cpp.

◆ setMinArrowLength()

void QwtPlotVectorField::setMinArrowLength ( double  length)

Set a minimum for the arrow length of non zero vectors

Parameters
lengthMinimum for the arrow length in pixels
See also
minArrowLength(), setMaxArrowLength(), arrowLength()
Note
Has no effect when QwtPlotVectorField::MagnitudeAsLength is not enabled

Definition at line 658 of file qwt_plot_vectorfield.cpp.

◆ setPaintAttribute()

void QwtPlotVectorField::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 475 of file qwt_plot_vectorfield.cpp.

◆ setPen()

void QwtPlotVectorField::setPen ( const QPen &  pen)

Assign a pen

Parameters
penNew pen
See also
pen(), brush()
Note
the pen is ignored in MagnitudeAsColor mode

Definition at line 336 of file qwt_plot_vectorfield.cpp.

◆ setRasterSize()

void QwtPlotVectorField::setRasterSize ( const QSizeF &  size)

Set the raster size used for filtering samples

See also
rasterSize(), QwtPlotVectorField::FilterVectors

Definition at line 450 of file qwt_plot_vectorfield.cpp.

◆ setSamples() [1/2]

void QwtPlotVectorField::setSamples ( const QVector< QwtVectorFieldSample > &  samples)

Initialize data with an array of samples.

Parameters
samplesVector of points

Definition at line 541 of file qwt_plot_vectorfield.cpp.

◆ setSamples() [2/2]

void QwtPlotVectorField::setSamples ( QwtVectorFieldData data)

Assign a series of samples

setSamples() is just a wrapper for setData() without any additional value - beside that it is easier to find for the developer.

Parameters
dataData
Warning
The item takes ownership of the data object, deleting it when its not used anymore.

Definition at line 556 of file qwt_plot_vectorfield.cpp.

◆ setSymbol()

void QwtPlotVectorField::setSymbol ( QwtVectorFieldSymbol symbol)

Sets a new arrow symbol (implementation of arrow drawing code).

Parameters
symbolArrow symbol
See also
symbol(), drawSymbol()
Note
Ownership is transferred to QwtPlotVectorField.

Definition at line 516 of file qwt_plot_vectorfield.cpp.

◆ symbol()

const QwtVectorFieldSymbol * QwtPlotVectorField::symbol ( ) const
Returns
arrow symbol
See also
setSymbol(), drawSymbol()

Definition at line 532 of file qwt_plot_vectorfield.cpp.

◆ testMagnitudeMode()

bool QwtPlotVectorField::testMagnitudeMode ( MagnitudeMode  mode) const
Returns
True, when mode is enabled
See also
MagnitudeMode, setMagnitudeMode()

Definition at line 619 of file qwt_plot_vectorfield.cpp.

◆ testPaintAttribute()

bool QwtPlotVectorField::testPaintAttribute ( PaintAttribute  attribute) const
Returns
True, when attribute is enabled
See also
PaintAttribute, setPaintAttribute()

Definition at line 496 of file qwt_plot_vectorfield.cpp.

Member Data Documentation

◆ m_data

PrivateData* QwtPlotVectorField::m_data
private

Definition at line 162 of file qwt_plot_vectorfield.h.


The documentation for this class was generated from the following files:


plotjuggler
Author(s): Davide Faconti
autogenerated on Mon Nov 11 2024 03:23:51