66 Commits

Author SHA1 Message Date
Vincent Cloarec
761831e6ec
fix displaying enabled/disable mesh dataset group 2020-12-03 07:32:17 +10:00
Nyall Dawson
819fc50b0e Don't use generic "QgsMapLayer" class name in map layer Python repr
strings

Rather use actual layer subclass type, e.g. QgsVectorLayer
2020-11-12 16:05:52 +10:00
Vincent Cloarec
1fbba79a0f
Mesh export processes, first part : infrastructure and export vertices (#39664)
[processing] Infrastructure for QgsMeshLayer to add processing algorithms, dataset group paramater and dataset time parameter to allow the user to easily choose a dataset.
2020-11-03 06:05:28 +01:00
vcloarec
477e25058e level of detail for 3D mesh 2020-10-26 09:11:55 +10:00
Matthias Kuhn
42af1efa18 Fix a bunch of doc issues 2020-10-22 20:42:14 +02:00
Nyall Dawson
3c67e1acde [mesh] Use standard presentation for metadata/information tab on properties dialog 2020-10-19 19:15:08 +10:00
vcloarec
d2f4c40f8a TIN Mesh creation 2020-09-10 14:03:11 -04: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
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
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
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
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
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
a6bc4e3cdf fix doc 2019-12-18 07:51:07 +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
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
Nyall Dawson
3112332227 Rename variable for clarity 2019-10-09 15:01:51 +10:00
Nyall Dawson
cb06519d16 [api] Add API to indicate that individual layers may be loaded without any
CRS validation, regardless of the user's settings

This avoids hacks put in place in other parts of QGIS code or in plugins
to temporarily deactivate the CRS validation prompt, providing a supported,
stable method to indicate that when loading a particular layer no CRS
validation is required.
2019-10-09 15:01:51 +10:00
vcloarec
109049ea86 Implementation of QgsMeshLayer::reload() and QgsMdalProvider::reloadData()
Implementation of this override method permit to reload mesh end dataset groups when the data changed outside of the QGIS application.
2019-05-03 15:26:22 +02:00
Alessandro Pasotti
87998f7f7d Pass transformContext to raster writer 2019-04-17 10:06:41 +10:00
Alessandro Pasotti
394a189682 Fix class documentation 2019-04-17 10:06:41 +10:00
Alessandro Pasotti
b3a448a2b2 Do not store context in layer (but in provider) ...
... also use transform context in raster projector
and deprecate setCrs without context
2019-04-17 10:06:41 +10:00
Alessandro Pasotti
7b6f9c0dbc Restore default ctor for options and layer 2019-04-17 10:06:41 +10:00
Alessandro Pasotti
82f2cb18b2 Deprecate default ctor for mesh layer options 2019-04-17 10:06:41 +10:00
Alessandro Pasotti
470759833e coordinateTransformContext -> transformContext for consistency
I like "coordinateTransformContext" more btw.
2019-04-17 10:06:41 +10:00
Peter Petrik
37faa0d883
Add option to format time in mesh layer (#9452)
[feature] [mesh] #20731 add option to format time in mesh layer

There is new settings dialog that can be opened by button next to time slider. User can set reference time and time format (e.g. 2019-03-21 22:01:11).
2019-03-15 08:42:28 +01:00
uclaros
403a2e302e Ran scripts/astyle-all.sh and scripts/sipify_all.sh 2019-02-25 09:26:11 +10:00
Peter Petrik
cd9a84e11c [feature] [mesh] Mesh Calculator
Similarly to raster calculator, mesh calculator can take dataset groups from current mesh layer and
combine them with various aritmentic/logical operators to new dataset group.
2019-01-14 12:32:36 +01:00
Peter Petrik
11645ac744 implement simple cache for rendering of mesh layer 2018-09-24 11:04:50 +02:00
Denis Rouzaud
cb9774022f create dialog for saving different styles 2018-09-14 16:35:30 +10:00
Denis Rouzaud
15e0d873d9 select categories in copy style in legend menu entry
not working yet, just set the menu entries
QgsMapLayerStyle::StyleCategory has moved to QgsMapLayer to avoid making QgsMapLayerStyle a QObject and they are mostly used in QgsMapLayer
2018-09-14 16:35:30 +10:00
Denis Rouzaud
51e9be0575 add API to select section of layer style when reading/writing 2018-09-14 16:35:30 +10:00