245 Commits

Author SHA1 Message Date
Matthias Kuhn
02ec785e1b
Fix deadlock in geometry validation
Fix a deadlock in geometry validation. This happens when the mainthread "waits for finished" of a checker thread.

What happened in this case was, that the main thread canceled the feedback and waited for any jobs to finish.
If a job was waiting for a feature source (or something else to be executed on the main thread) this resulted in a mighty deadlock.

What we do here is that we regularly check if we ought to cancel while waiting for our slot on the main thread and can bail out if we should cancel before the main thread gets around to take care of our function.
The difference is, we still execute the code on the background thread and make sure that the main thread is not doing anything during this time to avoid working on the same data structures in parallel.
2018-10-29 15:05:51 +01:00
Matthias Kuhn
3d31d72442
Fix python bindings 2018-10-15 16:05:59 +02:00
Matthias Kuhn
36e83f31c0
Tag geometry check classes as technology preview 2018-10-15 14:29:00 +02:00
Denis Rouzaud
d4ac9a7c00
do not zoom to feature if no extent 2018-10-15 14:28:04 +02:00
Matthias Kuhn
6df73d6d07
QgsVectorLayerFeaturePool needs to be aware of geometry changes 2018-10-15 14:28:03 +02:00
Matthias Kuhn
6a94033487
Make feedback a required parameter for geometry checks 2018-10-15 14:28:02 +02:00
Matthias Kuhn
4607930ece
Allow resolving errors 2018-10-15 14:27:59 +02:00
Denis Rouzaud
550de156c5
make context const 2018-10-15 14:27:58 +02:00
Denis Rouzaud
3817df69b2
Revert "QgsGeometryCheckError class requires context in constructor (not inherited classes yet)"
This reverts commit 73c89aee8c2f5ca6d2ce5a621b1ffad9f08bba02.
2018-10-15 14:27:57 +02:00
Denis Rouzaud
b0810b180d
QgsGeometryCheckError class requires context in constructor (not inherited classes yet) 2018-10-15 14:27:57 +02:00
Denis Rouzaud
711ec1de47 forward declaration of QgsProject 2018-10-08 13:01:16 -08:00
Juergen E. Fischer
e3e9297633 sip fix for xenial 2018-10-05 01:37:32 +02:00
Juergen E. Fischer
2a974e304c fix build on xenial & stretch 2018-10-04 17:03:12 +02:00
Matthias Kuhn
10b83d68fb
Make use of implicitly shared geometry 2018-09-30 16:54:54 +02:00
Matthias Kuhn
6c5f978b97
Make QgsGeometryCheck::CheckType available in factory 2018-09-30 16:21:16 +02:00
Matthias Kuhn
9a19ba3c28
Dox and bindings 2018-09-30 10:42:11 +02:00
Matthias Kuhn
113edccaa2
Cleanup 2018-09-30 10:42:11 +02:00
Matthias Kuhn
f0ddef4bed
Dox 2018-09-30 10:35:45 +02:00
Matthias Kuhn
7ba19dd05f
Cleanup leftover file 2018-09-28 15:26:08 +02:00
Matthias Kuhn
0e52074e58
Remove duplicate flags and rename is valid check 2018-09-28 14:53:11 +02:00
Matthias Kuhn
903e94331f
Doxygen 2018-09-28 13:59:42 +02:00
Matthias Kuhn
bee5470e10
Python bindings for QgsGeometryCheck and co
Adds

 - python bindings
 - geometry check factory
 - geometry check registry
 - QgsFeedback for geometry checks (lots of potential still)
 - An IsValid geometry check
 - Splits classes into their own files
 - Decouples feature pools from the configuration context
2018-09-28 13:33:24 +02:00
Nyall Dawson
f29c48b99b Dox 2018-09-26 04:27:08 +10:00
Nyall Dawson
fd1d6c1037 Add more descriptive error messages for raster calculation failure
With unit tests
2018-09-26 04:27:08 +10:00
Nyall Dawson
f4bbb147b2 Dox++ 2018-09-26 04:27:08 +10:00
Martin Dobias
1af35b294e Moved new snapping alg as another mode of "Snap geometries" processing alg 2018-09-13 16:24:37 +02:00
Alessandro Pasotti
6ecf16e69f [opencl] Fix doxy comment 2018-08-08 13:26:04 +02:00
Alessandro Pasotti
4af52f221c [opencl] Update CMakeList and sipify 2018-08-08 11:18:05 +02:00
Alessandro Pasotti
44adfe53df [opencl] Final rebase before merge 2018-08-08 10:08:14 +02:00
Alessandro Pasotti
e79f6d1a1c Fix documentation for ninecell filters 2018-08-08 09:40:02 +02:00
Alessandro Pasotti
8689c401a2 [opencl] Fix small OpenCL alg issues
From comparison tests with CPU results

+ some minor speed improvements
2018-08-08 09:39:40 +02:00
Alessandro Pasotti
be21ea8e5a Bindings for 9cell filter 2018-08-08 09:38:43 +02:00
Alessandro Pasotti
583c7ae287 More updates for opencl 2018-08-08 09:29:33 +02:00
Alessandro Pasotti
dc4b1da0a4 [opencl] Fix small OpenCL alg issues
From comparison tests with CPU results

+ some minor speed improvements
2018-08-08 09:24:40 +02:00
Alessandro Pasotti
c4eebc72a7 Bindings for 9cell filter 2018-08-08 09:22:14 +02:00
Alessandro Pasotti
9068fe46d8 More updates for opencl 2018-08-08 09:18:32 +02:00
Nyall Dawson
6bf7c0eb92 Better constructor, dox 2018-06-08 10:13:13 +10:00
Nyall Dawson
e9bf7f17c7 Add thread safe method of constructing QgsZonalStatistics,
using a QgsRasterInterface instead of a QgsRasterLayer
2018-06-08 10:13:13 +10:00
Nyall Dawson
2ed144ac59 Apply clang-tidy readability-avoid-const-params-in-decls fixit
Checks whether a function declaration has parameters that are
top level const.

const values in declarations do not affect the signature of a
function, so they should not be put there.
2018-06-05 10:19:13 +10:00
Denis Rouzaud
e5b02cd2a8 use dedicated files for auto additions 2018-06-03 11:07:09 -08:00
Nyall Dawson
4c3a9ef7be Ensure that class \brief comes before \since (#7081)
Otherwise it breaks the Python docstrings, which require
the brief to come first
2018-05-28 04:03:46 -08:00
Nyall Dawson
f8bc97030b Remove extra space added before first line of docstring 2018-05-28 08:22:11 +10:00
Nyall Dawson
ea0c1d8cbc Typo 2018-05-28 08:22:11 +10:00
Nyall Dawson
0e75f6ef85 Don't indent multiline versionadded/deprecated tags
Turns out there isn't any valid ones anyway - the only
multiline versionadded tags are due to incorrect ordering
of brief/since tags (which is fixed in a different PR)
2018-05-27 18:54:09 +10:00
Nyall Dawson
9f650fead9 Fix incorrect param docstring when doxygen \param has extra
trailing spaces or uses tabs
2018-05-27 18:54:09 +10:00
Nyall Dawson
3b5ada15f7 Move class since annotation to after brief
Lots of classes do this, but it messes with the python docstrings.

TODO: add a unit test preventing this behavior
2018-05-27 18:54:09 +10:00
Nyall Dawson
38850bdb94 [pyqgis] Ensure that multiline param tags are indented for additional lines 2018-05-27 18:54:09 +10:00
Nyall Dawson
c864d22d1f Add "get ..." to doxygen compliance blacklist
Should be "gets ..." for consistent tense, or better yet
"returns ..." for consistency.
2018-05-27 14:05:06 +10:00
Nyall Dawson
1c615c15cc More documentation compliance
Use Qt style "returns .." tense instead of "return ..", and lock
this in with a documentation compliance unit test
2018-05-25 15:09:00 +10:00
Denis Rouzaud
fca72fa7d1 put back module sip files 2018-05-14 11:02:28 -04:00