24 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
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
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
Martin Dobias
1af35b294e Moved new snapping alg as another mode of "Snap geometries" processing alg 2018-09-13 16:24:37 +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
Denis Rouzaud
8b130f1c14 move auto generated sip file in dedicated folder (server+analysis) 2018-05-14 10:41:52 -04:00