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;
52 static QgsMeshVectorRenderer *makeVectorRenderer(
56 const QVector<double> &datasetValuesMag,
57 double datasetMagMaximumValue,
58 double datasetMagMinimumValue,
59 bool dataIsOnVertices,
74 class QgsMeshVectorArrowRenderer :
public QgsMeshVectorRenderer
80 const QVector<double> &datasetValuesMag,
81 double datasetMagMaximumValue,
82 double datasetMagMinimumValue,
83 bool dataIsOnVertices,
88 ~QgsMeshVectorArrowRenderer()
override;
97 void drawVectorDataOnVertices(
const QList<int> &trianglesInExtent );
99 void drawVectorDataOnFaces(
const QList<int> &trianglesInExtent );
101 void drawVectorDataOnGrid(
const QList<int> &trianglesInExtent );
103 void drawVectorArrow(
const QgsPointXY &lineStart,
double xVal,
double yVal,
double magnitude );
106 double &vectorLength,
121 double calcExtentBufferSize()
const;
125 const QVector<double> &mDatasetValuesMag;
126 double mMinMag = 0.0;
127 double mMaxMag = 0.0;
130 bool mDataOnVertices =
true;
139 #endif // QGSMESHVECTORRENDERER_H A rectangle specified with double values.
Triangular/Derived Mesh is mesh with vertices in map coordinates.
A class to represent a 2D point.
QgsMeshDataBlock is a block of integers/doubles that can be used to retrieve: active flags (e...
Represents a streamline renderer settings for vector datasets.
Contains information about the context of a rendering operation.