66732 Commits

Author SHA1 Message Date
Nyall Dawson
d51e752e04 Add utility function to extract wildcards from a filter string 2020-11-05 20:16:48 +10:00
Nyall Dawson
36cdb08ba3 Condense separate entries for PDAL/EPT point clouds in data source manager
to a single entry

Have just one "Point Cloud" tab in the manager, and make the widget
automatically pick the preferred (correct) provider based on the
file selected in the widget.

This avoids UI clutter and ensures that point clouds follow the
same pattern as vector/raster/mesh layers in the dialog
2020-11-05 20:16:48 +10:00
Nyall Dawson
7ef1afcb0c Add some tests for PDAL provider metadata 2020-11-05 20:16:48 +10:00
Nyall Dawson
fdcedb4ed0 PDAL provider should be preferred for las/laz files 2020-11-05 20:16:48 +10:00
Nyall Dawson
9f53f708bf Fix generation of point cloud file filter 2020-11-05 20:16:48 +10:00
Nyall Dawson
1225eb498a Don't show ept-build.json files in browser 2020-11-05 20:16:48 +10:00
Nyall Dawson
519222f1ad Ensure .tif.aux.xml, .png.aux.xml etc are also blocklisted 2020-11-05 20:16:48 +10:00
Nyall Dawson
67e1a8078d Use proper API to hide .aux.xml, .shp.xml and .tif.xml files from browser
instead of hardcoded lists
2020-11-05 20:16:48 +10:00
Nyall Dawson
04dc5f5e56 Add API for providers to test whether a particular URI should be
blocklisted and hidden from the QGIS interface, e.g. it is an internal
detail only (or sidecar file) and shouldn't be shown in things like the
browser panel

And adds blocklists for .aux.xml, .shp.xml and .tif.xml files for
the ogr/gdal providers
2020-11-05 20:16:48 +10:00
Nyall Dawson
4c9338b86c Catch pdal exceptions when creating data provider 2020-11-05 20:16:48 +10:00
Nyall Dawson
c9bee4a647 Cleanup FindPDAL.cmake, add search path for Fedora 2020-11-05 20:16:48 +10:00
Nyall Dawson
7717a20af7 Mark some QgsProviderMetadata methods as const 2020-11-05 20:16:48 +10:00
Nyall Dawson
cad2884e32 Don't show OGR or GDAL entries for files in browser wherever another
provider is the preferred provider for a particular file

In particular, this allows us to hide the OGR entry for ept.json
files in the browser, so that instead we ONLY see an entry for the
EPT point cloud provider for these files. (Besides being clutter,
the OGR item for the ept.json file cannot be opened as a vector
layer so is just noise!)

(In the rare chance that a user DOES need to open a geojson file called
"ept.json" they can still do this easily via the Data Source Manager)
2020-11-05 20:16:48 +10:00
Nyall Dawson
8abe4a1ec6 Refine API for QgsProviderRegistry tests for preferred provider
for a URI to better handle ties, add direct method to determine
whether a particular provider should defer handling of a certain
URI to another (better equipped) provider
2020-11-05 20:16:48 +10:00
Peter Petrik
4dd8f277de review items 2020-11-04 21:56:09 +01:00
Peter Petrik
706d579117 remove icons 2020-11-04 21:56:09 +01:00
Peter Petrik
3dec432cb6 [pointclouds] add basic structure for PDAL layer 2020-11-04 21:56:09 +01:00
Vincent Cloarec
b725a044ae
3D material color data defined (#39683) 2020-11-04 16:42:58 +01:00
Marco Bernasocchi
0e758df0b2
fix webp rendering in server (#39803)
* fix webp rendering in server

currently, qgis server always returns content-length=0
2020-11-04 15:22:05 +01:00
Nyall Dawson
b335617629 [3d] Default shadows to first available directional light, instead
of forcing users to explicitly select this light after enabling shadows
2020-11-04 18:49:33 +10:00
Nyall Dawson
8b7fe3174b Add since 2020-11-04 18:49:11 +10:00
Nyall Dawson
eb6e53d612 Ensure that ept provider is the preferred provider for ept.json files 2020-11-04 18:49:11 +10:00
Nyall Dawson
0ebe788877 Add API for providers to indicate their priority in opening a specified
URI

And add new method to QgsProviderRegistry to select the preferred
provider for opening a URI based on this
2020-11-04 18:49:11 +10:00
Nyall Dawson
4aa1c2f299 Add python repr for QgsProviderMetadata 2020-11-04 18:49:11 +10:00
Nyall Dawson
d34d61e36f Fix build on older qt versions 2020-11-04 18:49:11 +10:00
Nyall Dawson
8dc1f0cd97 Fix point cloud source select file dialog incorrectly filters to mesh layers 2020-11-04 18:49:11 +10:00
Nyall Dawson
b4d381de7a Use provider metadata to filter data items for ept provider 2020-11-04 18:49:11 +10:00
Nyall Dawson
74722b350c Add utility to determine whether a certain file name matches a given file filter string 2020-11-04 18:49:11 +10:00
Nyall Dawson
e5fe9bf423 Fix warnings in test 2020-11-04 18:49:11 +10:00
Nyall Dawson
a092a82289 Trivial tests for ept provider encode/decode uri 2020-11-04 18:49:11 +10:00
Nyall Dawson
4e1df35d0f Forward declare 2020-11-04 18:49:11 +10:00
Nyall Dawson
7771417a2d Improve docs 2020-11-04 18:49:11 +10:00
Nyall Dawson
e59bab7f2e Add QgsProviderRegistry::filePointCloudFilters() for retrieving filter string of all supported point cloud types 2020-11-04 18:49:11 +10:00
Nyall Dawson
6885a1604c Methods in QgsProviderRegistry should not be virtual -- this class
is not designed to be subclassed
2020-11-04 18:49:11 +10:00
Nyall Dawson
8ebab9444d Implement QgsProviderMetadata::filters() for EPT provider, start some
basic tests for ept provider
2020-11-04 18:49:11 +10:00
Nyall Dawson
f7b0a2d090 Add Point Clouds to QgsProviderMetadata::FilterType 2020-11-04 18:49:11 +10:00
Juergen E. Fischer
31bc1e8b5a fix build 2020-11-04 08:25:30 +01:00
Nyall Dawson
d446600111 Update for QCOMPARE sensitivity to numeric types 2020-11-04 16:33:47 +10:00
Nyall Dawson
e64537a9e5 More (significant) optimizations to ept point cloud decompression 2020-11-04 16:33:47 +10:00
Nyall Dawson
fc76c3247d Avoid multiple calls to QgsPointCloudAttributes::find for every point in cloud
and instead just find the desired attributes once before iterating over points

Results in a BIG speed up to EPT data decompression
2020-11-04 16:33:47 +10:00
Nyall Dawson
31fa79ee45 Big boost to QgsPointCloudAttributeCollection::find by internal cache 2020-11-04 16:33:47 +10:00
Nyall Dawson
0d772691b0 Avoid some unnecessary copies inside loop 2020-11-04 16:33:47 +10:00
Nyall Dawson
6310397ee4 Add tests for QgsPointCloudAttribute 2020-11-04 16:33:47 +10:00
Vincent Cloarec
d45790e05b
Other export mesh algorithms (#39783)
[processing] adds there new export mesh layer to vector layer algorithms :
- export faces
- export edges (1D mesh)
- export on grid
2020-11-04 06:57:30 +01:00
Nyall Dawson
a7d4bdd01e
Merge pull request #39790 from nyalldawson/vcloarec-fixGeometryValidator
Fix crash in geometry validator
2020-11-04 12:30:04 +10:00
Nyall Dawson
174d30c5d9 Fix potential crash on QGIS exit under rare circumstances
This is only triggered when a provider attached to a layer from the
current project does not implement provider metadata

Fixes #39776
2020-11-04 12:14:45 +10:00
Sandro Santilli
1fd572fbac Ignore .aux.xml files under control_images 2020-11-04 10:47:56 +10:00
Sandro Santilli
8723be6970 Speedup label placement when building against GEOS-3.9.0
Uses GEOSPreparedNearestPoints signature
See https://trac.osgeo.org/geos/ticket/1007
2020-11-04 10:47:56 +10:00
Nyall Dawson
c7ab2d207c More unit tests for geometry validation 2020-11-04 10:46:19 +10:00
Nyall Dawson
2f10e50078 Add unit test for #39770 2020-11-04 10:37:22 +10:00