120 Commits

Author SHA1 Message Date
Martin Dobias
7cbf80ff5c
Merge pull request #38309 from vcloarec/TINMeshCreaton
TIN Mesh creation
2020-09-11 13:41:19 +02:00
vcloarec
d2f4c40f8a TIN Mesh creation 2020-09-10 14:03:11 -04:00
rldhont
45e9ecb1c2 Trust layer metadata propagation
The trust flag at the projetc level is only used to read vector layer extent from xml, not from provider.

This flag was not available at the vector layer and data provider level.

We propose a new QgsMapLayer reading flag to propagate the trust layer metadata prohect's read flag an d a new provider options to trust datasource config.
Trusting the datasource config means that the provider can use estimated metadata, the primary key is unique and the detectable geometry type and srid are the same as the requested.
2020-09-09 09:35:32 +02:00
Nyall Dawson
d1bc82ca7b Misc typo fixes 2020-08-31 11:38:02 +10:00
vcloarec
4ee10b5f88 fix typo and SIP 2020-08-10 08:28:24 +10:00
Vincent Cloarec
de68f83cc3
Virtual dataset groups for mesh layer (#37605)
[FEATURE] Introduces mesh virtual datasets

With the mesh calculator the user can choose to create those "virtual" dataset groups that will be added to the layer. Then, for these dataset groups, values are not stored in memory but each dataset is calculated when needed whit the formula entered in the mesh calculator.

Those virtual dataset groups are saved with the project.

If needed, the user can remove them or can persist them on files to make them persistent.

Co-authored-by: Étienne Trimaille <gustrimaille@yahoo.fr>
2020-07-23 07:39:28 +02:00
Peter Petrik
d9f18ccb9c
Fix spelling (#37849)
fix the spelling errors
2020-07-21 12:51:48 +02:00
Harrissou Sant-anna
5c83cd07cc Move some cpp code samples to python 2020-07-21 10:13:45 +10:00
Denis Rouzaud
66b0f1d60c correctly remove title + slash 2020-07-09 16:22:06 +02:00
Denis Rouzaud
3fdbfe3602 sipify them all…
… oh there is only 2
2020-07-09 16:13:19 +02:00
Vincent Cloarec
6be16a5bfe
Memory dataset group and possibility to persist it (#37389)
[FEATURE] Introduces memory dataset groups for mesh layer. These dataset groups are temporary and are not kept when the project is closed.

Memory dataset groups can be created from the mesh calculator with a new option.

Allows the possibility to remove or save these memory dataset groups to a file with specified driver.
2020-07-01 10:18:27 +02:00
Peter Petrik
81d2e5658a fix sip 2020-06-15 08:54:04 +02:00
Vincent Cloarec
b5d61594ee
mesh layer expose datasetIndexAtTime() (#37197)
mesh layer expose datasetIndexAtTime()
2020-06-15 08:32:33 +02:00
Nyall Dawson
81a9db9f57 [sipify] Fix creation of cross references 2020-06-15 13:43:58 +10:00
Nyall Dawson
c795ddb1e9 Updates 2020-06-11 13:29:59 +10:00
vcloarec
9f75860425 fix sip 2020-06-08 09:20:45 +10:00
vcloarec
15132730af set time step when first loading meshlayer 2020-06-08 09:20:45 +10:00
vcloarec
267af1e7fb temporal match methods 2020-05-21 05:54:24 +10:00
Vincent Cloarec
838faf8a3f
[MESH][FEATURE] use only specified dataset group (#36334)
[MESH][FEATURE] Allow to select only specific subset of dataset groups in mesh layer tree 

This could be done in the mesh layer properties dialog in the source tab.
A new tree view displays all the available dataset groups from the data provider. The dataset groups can be checked/unckecked and renamed.
This widget provides also buttons to load extra dataset group from files, to expand/collpase the tree, to check/unchek all items and to reset to default from the provider (for now, only the original name).
Then only the checked dataset group will be displayed in the active dataset widget in renderer settings.
2020-05-14 09:56:48 +02:00
nirvn
9be36fdbf3 [temporal] Optimize canvas rendering by avoiding needless cache clearing 2020-05-10 14:02:11 +07:00
Nyall Dawson
702675ca64 Forward declare QgsMapLayerTemporalProperty subclasses instead of including in header
Speeds up recompilation time
2020-05-10 17:01:44 +10:00
Vincent Cloarec
0d9a15b751
Snap on mesh elements (#36171)
[API] [FEATURE] Add a method in API to snap on mesh elements (vertex, edge, face)
The method returns the position of the snapped point on the closest mesh element :
2020-05-05 13:31:49 +02:00
vcloarec
d28e3013f9 fix sip doc 2020-04-29 08:53:26 +10:00
vcloarec
56916581e1 fix sip 2020-04-29 08:53:26 +10:00
Vincent Cloarec
c2bc0f63e3
[MESH] fix mesh calculator saving for windows (#35963)
fix mesh calculator saving for windows (fix #35549)
2020-04-27 11:18:19 +02:00
Vincent Cloarec
f8fae3cf39
[FEATURE][MESH] 1D mesh width/color varying (#35926)
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>
2020-04-24 10:49:24 +02:00
Vincent Cloarec
17a95ef0a5
[MESH][FEATURE] update to MDAL 0.5.91 Multi meshes in one file (#35669)
Allow load of multiple (sub-)meshes from a single file. If file contains multiple meshes (e.g. UGRID file), user needs to select the meshes to load from the dialog.
2020-04-14 08:17:15 +02:00
Nyall Dawson
1c6ab3569b Sipify 2020-04-14 09:22:47 +10:00
Vincent Cloarec
75ddf3c7a6
[FEATURE][MESH] plug mesh layer to QGIS temporal framework (#35466)
[FEATURE] Use temporal controller for the mesh layer time handling.
2020-04-03 08:21:15 +02:00
Vincent Cloarec
34d44c08ed
[MESH] Resampling from vertex values to face values (#35264)
[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.
2020-03-24 10:03:54 +01:00
Vincent Cloarec
20a7ed44ac
[FEATURE][MESH] coloring mesh vector dataset with color ramp shader (#35216)
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.
2020-03-24 09:58:48 +01:00
Nyall Dawson
7994490336 Sipify 2020-03-21 08:32:39 +10:00
Alexander Bruy
4284cc19d9 fix mesh layer SIP bindings 2020-03-19 11:49:31 +02:00
Peter Petrik
0675c0b697
[FEATURE] Mesh 1D Renderer (#34848)
* 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.
2020-03-09 05:59:51 +01:00
Vincent Cloarec
27a70eab7c
[FEATURE] mesh simplification (#34532)
[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.
2020-02-25 08:05:49 +01:00
Peter Petrik
d211de2204
Other average methods 3d mesh (#33426)
[FEATURE] [MESH] add new 3d stacked mesh averaging methods (top, bottom, sigma, depth, height, elevation)

see https://fvwiki.tuflow.com/index.php?title=Depth_Averaging_Results for description of the methods. method can be selected for 3d stacked mesh dataset in the new widget added for QGIS 3.12 in the mesh layer styling dialog
2019-12-20 07:48:39 +01:00
Peter Petrik
e1068e61cb
Merge pull request #33388 from PeterPetrik/mesh3d_averaging_methods 2019-12-18 09:57:22 +01:00
Peter Petrik
a6bc4e3cdf fix doc 2019-12-18 07:51:07 +01:00
Vincent Cloarec
c252a3ad4c [mesh] Fixes time reference for mesh layer #32186 #33399 #31933 (#33410)
[FEATURE] [mesh] Load reference time from MDAL when available

Also adds combo box to let the user set the provider time unit. This is particularly useful when MDAL incorrectly recognised the time units in the raw dat format (for example format does nof follow spec and it is not possible to determine if time interval is in hours or days)

fix #32186 
fix #33399
fix #31933
2019-12-17 14:56:49 +01:00
Peter Petrik
2564b021d8 introduce way for plugins to retreive 3d stacked data values [API] 2019-12-13 16:30:14 +01:00
Peter Petrik
6febf38e10 [mesh] support active flag capability of MDAL. mesh layers for datasets that does not support active flags should not take less memory and load faster 2019-12-12 08:37:55 +01:00
Peter Petrik
b93dfdd0b3
[feature] Support datasets with data defined on faces in mesh calculator (#33248)
* [feature] support datasets with data defined on faces in mesh calculator, fix #30219, fix #30170

added "driver" and "group name" to the calculator interface.
MDAL now supports 3 drivers for storing results, so user must be able to choose appropriate driver and dataset group name (some drivers store multiple groups to 1 file)
2019-12-06 18:27:28 +01:00
Nyall Dawson
61903a766a Fix some build warnings, clazy warnings 2019-12-06 08:48:40 +10:00
Peter Petrik
7df4ec7f4a fix issues from 2nd review 2019-12-05 07:08:50 +01:00
Peter Petrik
d1dd68ae11 remove averaging settings class and expore averaging methods outside qgis core 2019-12-05 07:08:50 +01:00
Peter Petrik
a30bda6c3d [FEATURE] Initial implementation of QEP 158: Support of 3d stacked meshes in QGIS.
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.
2019-12-05 07:08:50 +01:00
Vincent Cloarec
7f415ca7a7 [FEATURE] Static particle traces for rendering mesh vector dataset (#33165)
* [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
2019-12-03 08:13:36 +01:00
Vincent Cloarec
6d4c995a28 [FEATURE] API for rendering frames for mesh vector dataset animation (particles) (#33110)
* [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.
2019-11-29 09:06:47 +01:00
Peter Petrik
23ae038da4
fix docs for streamlines (#33054) 2019-11-25 10:14:25 +01:00
Vincent Cloarec
938aa58df8 [FEATURE] Streamlines Renderer for vector dataset on mesh layer. (#32996)
* [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.
2019-11-25 08:54:11 +01:00