Introduce a renderer for 1D mesh edges that can vary width over the line. The line can also have different color based on the actual dataset value on the line's point.
Co-authored-by: Peter Petrik <zilolv@gmail.com>
[FEATURE] Implements resampling from values on vertices to values on faces with the neighbor average method. (note that resampling method for datasets defined on faces, e.g., the value on vertices is calculated from value on faces was added in the previous QGIS release)
The default method is set to "none" for resampling from vertices to faces and to "neighbor average" for resampling from faces to vertices. Then the default rendering is now always smooth.
fixes#33978 Allows user to color the mesh layer vector dataset (arrow, stream lines, traces) with color ramp shader depending on the magnitude of the vector.
* MDAL 0.5.90 : support for custom Logger and 1D meshes
* [FEATURE] [MESH] Support rendering of 1D meshes, see https://github.com/qgis/QGIS-Enhancement-Proposals/issues/164
1D mesh consist of edges (edge is straight line segment with 2 vertices) and the data that is defined on either
vertices or edges. Such data can be loaded by MDAL and rendered as mesh layer in QGIS.
[FEATURE] fix#31575 mesh layer speed rendering improvements (LOD)
As mesh layer could have millions of triangles, rendering could be very slow, especially when all the triangles are displayed in the view whereas triangles are too small to be viewed.
For those situations QGIS has an option to simplify the mesh. Simplification leads to one or more simplified mesh that represents levels of detail (LOD). When rendering the mesh, the appropriate level of detail is chosen to have an adequate rendering depending on the view.
Stacked 3D meshes store values on the volumes that are regularly stacked over base 2d mesh. User can select various 3d to 2d averaging/interpolation method to convert values on volumes (3d) to values on faces (2d) that can be shown in mesh layer. This is achieved by new tab in the mesh layer properties dialog.
* [FEATURE] Static particle traces for rendering mesh vector dataset
This PR permits to display directly in QGIS static particle traces for vector datasets in mesh layer without any plugin.
The user can choose in the mesh layer properties window :
- the color
- the size of the traces (line width)
- the count of particles
- the maximum length of the particle's tail
* [FEATURE] API for rendering frames for mesh vector dataset animation (particles)
Adds a renderer to generate frames that represent particle traces in a vector field of a mesh layer. The renderer cannot be chosen in the current GUI, however crayfish plugin can use API to generate avi/gif files with nice animations representing the movement of (random) particles in the mesh layer vector field.
* [FEATURE] Mesh streamlines
fix#29534
The vector field data set in a mesh layer can currently be only rendered with arrows. This PR adds a new feature to render vector field in mesh layers with streamlines.
The streamlines are seeded from start points. The seeding points can start from the vertices of the mesh, from a used grid or randomly. Streamlines could be coloured or width can be selected.
The mesh styling dialog now has new combo box for selection of resampling method for datesets defined on faces.
Also the analysis library has new class QgsMeshContours with export function for contour lines and contour polygons.
The min/max values were stored in the color ramp shader, but to my surprise
these values were never persisted or copied: pseudo-color raster renderer
has a separate storage for the min/max values, so we need that for mesh renderer
as well.
The QgsRasterShaderFunction is not really useful, and QgsColorRamp should not
be derived from it, making things just more confusing.
Until now there was just one scalar and vector configuration
for a mesh layer. It is however most useful to have different
rendering settings for each dataset group (quantity).
- Adding datasets to mesh layer from properties panel
- Information and source panel in properties panel
- Selection of active dataset (properties or styling panel)
- Styling of contours/scalars (properties or styling panel)
- Styling of mesh frame (properties or styling panel)
- Styling of vector arrows (properties or styling panel)
Rudimentary support of rendering of vector data (e.g. velocity) on mesh map layers.
Rendering can be adjusted by QgsMeshRenderer*Settings. Only in Python
API, no GUI widgets for styling present.