15 Commits

Author SHA1 Message Date
Sandro Mani
2a92bfb2c9 [Geometry checker] Introduce QgsGeometryCheckerContext 2017-10-23 17:25:06 +02:00
Sandro Mani
31cc65df49 [Geometry checker] Initial multi-layer support 2017-10-23 17:25:06 +02:00
Matthias Kuhn
581b89e0ec Use pointers and not references to QgsAbstractGeometry
because using this more consistently throughout the codebase makes it
easier to maintain code.
We also do not want to call the copy constructor on them, using pointers
just makes this more obvious. Further, casting is also something
that's commonly done on pointers and not references.

And if you want a value or a reference, just use QgsGeometry, it's meant
to be handled like this.
2017-08-13 20:19:32 +02:00
Denis Rouzaud
2e7de50b42 run astyle on src/* 2017-03-03 09:09:37 +01:00
Nyall Dawson
3ed6f5b72a Replace deprecated qSort/qStableSort/qGreater/qLess with std:: algs 2017-02-07 12:47:00 +10:00
Nyall Dawson
231f6af0e1 Don't return const references to implicitly shared Qt classes
Instead return the inexpensive copies. Should provide extra safety
against issues like #14822

(refs #14822)
2017-01-14 15:53:45 +10:00
Juergen E. Fischer
0688621046 scripts/replacev2.sh run 2016-08-10 12:08:52 +02:00
Nyall Dawson
bd7d913379 Refine QgsFeature geometry getters/setters
All pointer based methods have been removed.

Now we have only:

  void setGeometry( const QgsGeometry& geom )

and

  QgsGeometry geometry() const

Benefits include avoiding a whole lot of tricky pointer lifetime
issues, potential memory leaks, and finally closing #777, which
has survived for over 9 years!...

Impacts on PyQGIS code:
- no more need for the messy
  g = QgsGeometry( feature.geometry() )
  workaround, just use g = feature.geometry() instead
- IMPORTANT: you can no longer test whether a feature has geometry
 using `if f.geometry():`, since QgsFeature::geometry() will
 *always* return an object. Instead, use
 `if not f.geometry().isEmpty():`, or preferably the new method
 `if not f.hasGeometry():`

Fix #777
2016-08-01 16:25:46 +10:00
Nyall Dawson
aceddae65a QgsFeature cleanup, part 1
Deprecate some QgsFeature methods which take or return pointers,
update other classes as required
2016-07-31 21:23:07 +10:00
Sandro Mani
54e424faf7 [Geometry checker] QgsGeomUtils -> QgsGeometryCheckerUtils 2016-07-14 16:41:35 +02:00
Juergen E. Fischer
6e66eef1ef add missing copyright headers 2016-06-03 10:33:09 +02:00
Nyall Dawson
566dd4bd43 Always pass QgsFeatureId by value, not reference
Since it's just a int64, it's faster to pass by value
2015-12-30 22:51:32 +11:00
Nyall Dawson
9319176a7c More clazy recommended optimisations:
- Use constFind instead of find where applicable
- Use midRef instead of mid
- const ref when using Q_FOREACH
- foreach->Q_FOREACH
2015-10-19 17:36:02 +11:00
Sandro Mani
6a6fe45297 Add snap-to-grid to QgsGeos 2015-10-07 23:33:56 +02:00
Sandro Mani
e9e638f6f4 Geometry Checker and Geometry Snapper plugins 2015-09-21 10:03:24 +02:00