18 #ifndef QGSMESHLAYERRENDERER_H 19 #define QGSMESHLAYERRENDERER_H 55 struct CORE_NO_EXPORT QgsMeshLayerRendererCache
57 int mDatasetGroupsCount = 0;
61 QVector<double> mScalarDatasetValues;
63 bool mScalarDataOnVertices =
true;
64 double mScalarDatasetMinimum = std::numeric_limits<double>::quiet_NaN();
65 double mScalarDatasetMaximum = std::numeric_limits<double>::quiet_NaN();
67 std::unique_ptr<QgsMesh3dAveragingMethod> mScalarAveragingMethod;
72 QVector<double> mVectorDatasetValuesMag;
73 double mVectorDatasetMagMinimum = std::numeric_limits<double>::quiet_NaN();
74 double mVectorDatasetMagMaximum = std::numeric_limits<double>::quiet_NaN();
75 double mVectorDatasetGroupMagMinimum = std::numeric_limits<double>::quiet_NaN();
76 double mVectorDatasetGroupMagMaximum = std::numeric_limits<double>::quiet_NaN();
77 bool mVectorDataOnVertices =
true;
78 std::unique_ptr<QgsMesh3dAveragingMethod> mVectorAveragingMethod;
97 bool render()
override;
101 void renderMesh(
const QgsMeshRendererMeshSettings &settings,
const QVector<QgsMeshFace> &faces,
const QList<int> &facesInExtent );
102 void renderScalarDataset();
103 void renderVectorDataset();
106 void calculateOutputSize();
110 std::unique_ptr<QgsMeshLayerRendererFeedback>
mFeedback;
124 bool mScalarDataOnVertices =
true;
125 double mScalarDatasetMinimum = std::numeric_limits<double>::quiet_NaN();
126 double mScalarDatasetMaximum = std::numeric_limits<double>::quiet_NaN();
131 double mVectorDatasetMagMinimum = std::numeric_limits<double>::quiet_NaN();
132 double mVectorDatasetMagMaximum = std::numeric_limits<double>::quiet_NaN();
133 double mVectorDatasetGroupMagMinimum = std::numeric_limits<double>::quiet_NaN();
134 double mVectorDatasetGroupMagMaximum = std::numeric_limits<double>::quiet_NaN();
135 bool mVectorDataOnVertices =
true;
145 #endif // QGSMESHLAYERRENDERER_H A rectangle specified with double values.
Triangular/Derived Mesh is mesh with vertices in map coordinates.
QgsMeshRendererSettings mRendererSettings
Represents a mesh renderer settings for mesh object.
Use data defined on face centers, do not interpolate to vertices.
QgsMeshDataBlock is a block of integers/doubles that can be used to retrieve: active flags (e...
QVector< double > mScalarDatasetValues
Implementation of threaded rendering for mesh layers.
QgsMeshDataBlock mVectorDatasetValues
QVector< double > mVectorDatasetValuesMag
QgsTriangularMesh mTriangularMesh
Base class for feedback objects to be used for cancellation of something running in a worker thread...
Represents all mesh renderer settings.
DataInterpolationMethod
Interpolation of value defined on vertices from datasets with data defined on faces.
QgsRectangle mLayerExtent
std::unique_ptr< QgsMeshLayerRendererFeedback > mFeedback
feedback class for cancellation
Contains information about the context of a rendering operation.
Mesh - vertices and faces.
QgsMeshDatasetIndex is index that identifies the dataset group (e.g.
Base class for utility classes that encapsulate information necessary for rendering of map layers...
Represents a mesh layer supporting display of data on structured or unstructured meshes.
QgsMeshDataBlock mScalarActiveFaceFlagValues
Feedback object tailored for raster block reading.