18#ifndef QGSMESHVECTORRENDERER_H
19#define QGSMESHVECTORRENDERER_H
35class QgsMeshLayerRendererFeedback;
39class QgsMeshVectorRenderer
43 QgsMeshVectorRenderer() =
default;
48 virtual ~QgsMeshVectorRenderer();
50 virtual void draw() = 0;
56 const QVector<double> &datasetValuesMag,
57 double datasetMagMaximumValue,
58 double datasetMagMinimumValue,
63 QgsMeshLayerRendererFeedback *feedBack,
75class QgsMeshVectorArrowRenderer :
public QgsMeshVectorRenderer
81 const QVector<double> &datasetValuesMag,
82 double datasetMagMaximumValue,
83 double datasetMagMinimumValue,
88 ~QgsMeshVectorArrowRenderer()
override;
97 void drawVectorDataOnVertices( );
99 void drawVectorDataOnFaces( );
101 void drawVectorDataOnEdges( );
103 void drawVectorDataOnPoints(
const QSet<int> indexesToRender,
const QVector<QgsMeshVertex> &points );
105 void drawVectorDataOnGrid( );
107 virtual void drawVector(
const QgsPointXY &lineStart,
double xVal,
double yVal,
double magnitude );
110 double &vectorLength,
125 double calcExtentBufferSize()
const;
129 const QVector<double> &mDatasetValuesMag;
130 double mMinMag = 0.0;
131 double mMaxMag = 0.0;
152class QgsMeshVectorWindBarbRenderer :
public QgsMeshVectorArrowRenderer
158 const QVector<double> &datasetValuesMag,
159 double datasetMagMaximumValue,
160 double datasetMagMinimumValue,
165 ~QgsMeshVectorWindBarbRenderer()
override;
168 void drawVector(
const QgsPointXY &lineStart,
double xVal,
double yVal,
double magnitude )
override;
Defines color interpolation for rendering mesh datasets.
A block of integers/doubles from a mesh dataset.
Represents a renderer settings for vector datasets.
A rectangle specified with double values.
Contains information about the context of a rendering operation.
A triangular/derived mesh with vertices in map coordinates.