QGIS API Documentation 4.3.0-Master (bd2f5e21fd1)
Loading...
Searching...
No Matches
QgsVectorFieldEngine Class Reference

Responsible for rendering vector field data. More...

#include <qgsvectorfieldengine.h>

Public Member Functions

 QgsVectorFieldEngine (const QgsVectorFieldEngine &)=delete
 QgsVectorFieldEngine (double datasetMagMaximumValue, double datasetMagMinimumValue, const QgsVectorFieldSettings &settings, QgsRenderContext &context, QSize size)
 Ctor.
 ~QgsVectorFieldEngine ()
 Dtor.
void drawGlyph (const QgsPointXY &lineStart, double xVal, double yVal, double magnitude)
 Draws a single glyph at lineStart, in painter coordinates, using the symbology of the settings the engine was constructed with.
void drawGlyphs (std::unique_ptr< QgsVectorFieldValueSource > source, const QgsPointXY &anchor, QgsFeedback *feedback=nullptr)
 Draws one glyph per position of the placement grid described by the settings the engine was constructed with, sampling the vector field from source, which the engine takes ownership of.
void drawStreamlines (std::unique_ptr< QgsVectorFieldValueSource > source, QgsRasterBlockFeedback *feedback=nullptr)
 Integrates and draws streamlines over the whole rendered extent, sampling the vector field from source, which the engine takes ownership of.
void drawTraces (std::unique_ptr< QgsVectorFieldValueSource > source)
 Seeds particles over the whole rendered extent, moves them one time step and draws their traces, sampling the vector field from source, which the engine takes ownership of.
double glyphExtentBuffer () const
 Returns the distance, in painter units, by which the rendered extent must be grown so that glyphs centered just outside of it are still drawn.
QgsVectorFieldEngine & operator= (const QgsVectorFieldEngine &)=delete

Detailed Description

Responsible for rendering vector field data.

Note
Not available in Python bindings
Since
QGIS 4.4

Definition at line 45 of file qgsvectorfieldengine.h.

Constructor & Destructor Documentation

◆ QgsVectorFieldEngine() [1/2]

QgsVectorFieldEngine::QgsVectorFieldEngine ( double datasetMagMaximumValue,
double datasetMagMinimumValue,
const QgsVectorFieldSettings & settings,
QgsRenderContext & context,
QSize size )

Ctor.

Definition at line 38 of file qgsvectorfieldengine.cpp.

◆ ~QgsVectorFieldEngine()

QgsVectorFieldEngine::~QgsVectorFieldEngine ( )
default

Dtor.

◆ QgsVectorFieldEngine() [2/2]

QgsVectorFieldEngine::QgsVectorFieldEngine ( const QgsVectorFieldEngine & )
delete

Member Function Documentation

◆ drawGlyph()

void QgsVectorFieldEngine::drawGlyph ( const QgsPointXY & lineStart,
double xVal,
double yVal,
double magnitude )

Draws a single glyph at lineStart, in painter coordinates, using the symbology of the settings the engine was constructed with.

Does nothing for the symbologies which are not drawn glyph by glyph, see drawStreamlines() and drawTraces().

Definition at line 116 of file qgsvectorfieldengine.cpp.

◆ drawGlyphs()

void QgsVectorFieldEngine::drawGlyphs ( std::unique_ptr< QgsVectorFieldValueSource > source,
const QgsPointXY & anchor,
QgsFeedback * feedback = nullptr )

Draws one glyph per position of the placement grid described by the settings the engine was constructed with, sampling the vector field from source, which the engine takes ownership of.

The grid is laid out from anchor, a point which does not depend on how the render is split into blocks, so that the same pattern is drawn across block boundaries, and falls back to the layout of source itself when the settings do not ask for a user defined grid.

Does nothing for the symbologies which are not drawn glyph by glyph, see drawStreamlines() and drawTraces().

Definition at line 166 of file qgsvectorfieldengine.cpp.

◆ drawStreamlines()

void QgsVectorFieldEngine::drawStreamlines ( std::unique_ptr< QgsVectorFieldValueSource > source,
QgsRasterBlockFeedback * feedback = nullptr )

Integrates and draws streamlines over the whole rendered extent, sampling the vector field from source, which the engine takes ownership of.

feedback is used to interrupt the rendering of the color ramp background image.

Definition at line 225 of file qgsvectorfieldengine.cpp.

◆ drawTraces()

void QgsVectorFieldEngine::drawTraces ( std::unique_ptr< QgsVectorFieldValueSource > source)

Seeds particles over the whole rendered extent, moves them one time step and draws their traces, sampling the vector field from source, which the engine takes ownership of.

Definition at line 258 of file qgsvectorfieldengine.cpp.

◆ glyphExtentBuffer()

double QgsVectorFieldEngine::glyphExtentBuffer ( ) const

Returns the distance, in painter units, by which the rendered extent must be grown so that glyphs centered just outside of it are still drawn.

Returns 0 for the symbologies which are not drawn glyph by glyph.

Definition at line 77 of file qgsvectorfieldengine.cpp.

◆ operator=()

QgsVectorFieldEngine & QgsVectorFieldEngine::operator= ( const QgsVectorFieldEngine & )
delete

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