18 #ifndef QGSMESHVECTORRENDERER_H
19 #define QGSMESHVECTORRENDERER_H
27 #include "qgis_core.h"
38 class QgsMeshVectorRenderer
42 QgsMeshVectorRenderer() =
default;
47 virtual ~QgsMeshVectorRenderer();
49 virtual void draw() = 0;
55 const QVector<double> &datasetValuesMag,
56 double datasetMagMaximumValue,
57 double datasetMagMinimumValue,
73 class QgsMeshVectorArrowRenderer :
public QgsMeshVectorRenderer
79 const QVector<double> &datasetValuesMag,
80 double datasetMagMaximumValue,
81 double datasetMagMinimumValue,
87 ~QgsMeshVectorArrowRenderer()
override;
96 void drawVectorDataOnVertices( );
98 void drawVectorDataOnFaces( );
100 void drawVectorDataOnEdges( );
102 void drawVectorDataOnPoints(
const QSet<int> indexesToRender,
const QVector<QgsMeshVertex> &points );
104 void drawVectorDataOnGrid( );
106 void drawVectorArrow(
const QgsPointXY &lineStart,
double xVal,
double yVal,
double magnitude );
109 double &vectorLength,
124 double calcExtentBufferSize()
const;
128 const QVector<double> &mDatasetValuesMag;
129 double mMinMag = 0.0;
130 double mMaxMag = 0.0;
148 #endif // QGSMESHVECTORRENDERER_H