- fix issue when deleting the repeated first+last vertex of polygon's ring
- make deletion aware of topological editing (also delete other vertices at the same position)
- fix issue with dragging not being stopped when deleting multiple vertices
- make deletion in node editor follow the same code path
- unit tests for topological editing (moving / deleting vertices)
Allows attribute tables in templates to reattach to matching layers
when loaded in a different project to the project the template was
created in.
On behalf of Faunalia, sponsored by ENEL
QgsRange classes represent a range of values of some element
type. For instance, ranges of QDateTime might be used to
represent the ranges of timestamp ranges.
Ranges can indicate whether the upper and lower values are
inclusive or exclusive. The inclusivity or exclusivity of
bounds is considered when determining things like whether
ranges overlap or during calculation of range intersections.
Includes typedefs for QgsDoubleRange, QgsIntRange, QgsDateRange.
- setEllipsoidalMode() was removed. Ellipsoidal calculations are
now enabled whenever a valid ellipsoid() has been set. Set the
ellipsoid to 'NONE' to disable ellipsoidal calculations.
- ellipsoidalEnabled() was removed. Ellipsoidal calculations
are now enabled whenever a valid ellipsoid() is set. Check
willUseEllipsoid() to determine whether ellipsoidal
calculations will be performed.
- sourceCrs() and setSourceCrs() now always take and return
QgsCoordinateReferenceSystem objects. All string/ID based CRS
methods were removed.
- geographic() was removed. This was only used internally
in one place, so was replaced with sourceCrs().isGeographic() instead.
- some largely overlapping measurement functions were consolidated
There's no complex member variables here - the default implementations
should be fine (actually faster, since they won't require
recalculation of the derived parameters)
- remove methods which accept a QgsGeometry pointer, leave
duplicate methods which accept QgsGeometry reference (caller
should handle null geometry pointers in an acceptable
way instead of just returning 0 measurements)
- make protected members private. This class isn't designed
to be subclassed
- remove some methods not exposed to bindings and not used
anywhere