Nyall Dawson
2d43dac0b5
Refine behavior of QgsGeometry equals tests
...
Before we had two checks - equals() and isGeosEqual() which
performed the exact same check (since equals() called the geos
equality test)
Since the geos equality test is a slow, topological test, which
considers two geometries equal if their component edges overlap,
but disregards ordering of vertices this is not always what we
want. There's also the issue that geos cannot consider m values
when testing the geometries, so two geometries with different
m values would be reported equal.
So, now calling QgsGeometry::equals performs a very fast, strict
equality test where geometries are only equal if the have exactly
the same vertices, type, and order.
And swap most code which was calling the slow geos test to instead
use the fast strict native test.
2018-01-05 09:59:22 +10:00
Nyall Dawson
13aa5211d1
Expand equality operators for QgsAbstractGeometry subclasses
2018-01-05 09:37:27 +10:00
Nyall Dawson
b904731259
Respect transform context in point locator
2018-01-04 15:04:42 +11:00
Nyall Dawson
8f15cdf680
Respect transform contexts when tracing
2018-01-04 15:04:42 +11:00
Nyall Dawson
d69f932c31
Reformat code
2018-01-04 12:27:38 +11:00
Nyall Dawson
71cdb8cf8e
Fix QgsVectorLayer::updateFeature cannot add geometry to feature
...
with no existing geometry
Fixes #17678
2018-01-04 12:27:38 +11:00
Nyall Dawson
5ecb5603df
Fix QgsVectorLayer::updateFeature returns true when errors occur
...
Refs #17678
2018-01-04 12:27:38 +11:00
Matthias Kuhn
6ed078c889
Merge pull request #5946 from DelazJ/nullMinMax
...
[needs-docs] Update min and max functions
2018-01-03 09:13:46 +01:00
Martin Dobias
6508543f5f
[3d] Fix tessellator crash with nearly collinear points ( fixes #17745 )
2018-01-01 22:28:40 +01:00
Matthias Kuhn
a650a03f19
Merge pull request #5853 from m-kuhn/valueRelationReadonly
...
Value relation widget: respect readonly state
2017-12-28 08:10:44 +01:00
Matthias Kuhn
375daf1879
PEP8
2017-12-28 07:54:07 +01:00
Harrissou Sant-anna
99abc8dfb5
Revert QVERIFY change
2017-12-28 12:12:55 +11:00
Matthias Kuhn
90acb5690e
Make ValueRelation test more stable
2017-12-28 00:02:16 +01:00
Matthias Kuhn
46a74a090a
Add test for enabled state of relation value widget
2017-12-27 22:04:40 +01:00
Matthias Kuhn
0c292a0207
Add some more min/max tests
2017-12-27 21:46:11 +01:00
Matthias Kuhn
2e1b9ae0e4
Improve test output
2017-12-27 21:43:20 +01:00
Harrissou Sant-anna
c063710352
Add more tests
2017-12-27 21:43:20 +01:00
Harrissou Sant-anna
49a3af0034
Adding tests to min and max functions
2017-12-27 21:43:20 +01:00
Matthias Kuhn
d01f94f7ef
Avoid crash with represent_value exp function
...
represent_value would crash when it was called via evaluate without any context specified.
2017-12-27 20:40:41 +01:00
Matthias Kuhn
a4141c7f03
Expression tests: change Q_ASSERT to QVERIFY
2017-12-27 19:53:10 +01:00
Matthias Kuhn
e552b9b2de
Replace Q_ASSERT with QVERIFY in tests
...
Q_ASSERT's are only evaluated in debug mode. However, tests should trigger in debug or release mode.
2017-12-27 18:28:49 +01:00
Nyall Dawson
4ff72de62e
Merge pull request #5858 from lbartoletti/segment_intersection
...
Segment intersection
2017-12-22 21:43:13 +11:00
Nyall Dawson
e02ff050ad
Fix some issues with to_interval expression function
...
- incorrect regex for handling values with decimal point
- fix overflow with large intervals
2017-12-22 04:41:04 +11:00
Nyall Dawson
4643712a1e
Fix missing transform contexts for QgsDistanceArea
...
QgsDistanceArea.setSourceCrs() now requires a QgsTransformContext
argument.
2017-12-20 17:37:46 +10:00
Nyall Dawson
6528f1c307
Require a transform context when setting the destination crs for
...
a feature request
Forces correct datum handling for these requests, and removes
a few more uses of the deprecated/datum unaware transforms.
2017-12-20 12:32:20 +10:00
Sandro Santilli
336995dc30
Allow age expression to represent time intervals above 130 years ( #5914 )
...
Uses a 64bit integer instead of 32bit one for seconds,
meaning about 584 billions of years rather than 136...
Closes #17681
Includes test
2017-12-19 19:11:13 +01:00
Nyall Dawson
54acc80d14
Indentation
2017-12-19 13:00:49 +10:00
Nyall Dawson
2007792f77
Restore layered svg export option
2017-12-19 12:06:29 +10:00
Nyall Dawson
d06e12743f
Add unit test for svg export
2017-12-19 11:28:19 +10:00
Nyall Dawson
c7bd7b3d67
Add method to ensure file name string is safe
2017-12-19 10:59:27 +10:00
Nyall Dawson
7c8f4c3e12
Fix extensions not automatically added to new filenames in QgsFileWidget
...
Fixes a UX regression introduced by swapping dialogs to use
QgsFileWidget, where on some platforms the extension is not
automatically added for selected file names
2017-12-19 11:37:58 +11:00
Nyall Dawson
128e37eaf4
Add some extension and filter handling functions to QgsFileUtils
2017-12-19 11:37:58 +11:00
Nyall Dawson
48e6ec58e8
Merge pull request #5906 from nyalldawson/datum
...
Datum fixes and cleanups
2017-12-19 11:33:35 +11:00
Nyall Dawson
13a888d2f8
[ogr] Fix ExactIntersection flag should be ignored if filter rect
...
is not set
And add provider test case to ensure no other providers have this
issue
2017-12-19 11:29:53 +11:00
Nyall Dawson
a77b5b6517
Fix copy/paste error, update unit tests
2017-12-19 09:11:39 +10:00
Nyall Dawson
f216b188d6
Move all datum transform related methods to QgsDatumTransform
2017-12-19 08:47:02 +10:00
Nyall Dawson
25c3e135b0
Move datum transform structs out to their own header, to avoid
...
need to include private header file
2017-12-18 21:19:02 +10:00
Nyall Dawson
a5f7f410a1
Merge pull request #5897 from nyalldawson/layout_next
...
Misc layout fixes
2017-12-18 19:41:00 +11:00
Blottiere Paul
05b8bf7f21
Merge pull request #5876 from peppsac/fix_17694
...
Fix parameter name decoding when using POST + urlencoded
2017-12-18 08:21:22 +00:00
Nyall Dawson
200669aefa
Fix guide positioning when multiple pages are present
2017-12-18 17:39:45 +10:00
Nyall Dawson
a1128a52a4
Hide guides from layout exports
2017-12-18 16:45:10 +10:00
Nyall Dawson
0052eb830e
Add unit test for pdf exports
2017-12-18 16:33:26 +10:00
Nyall Dawson
8cb4893817
Fix creation of QgsCoordinateReferenceSystem from "user:xxxx" strings
...
Fixes #17254
2017-12-18 09:27:00 +10:00
Nyall Dawson
831732f3a3
Sipify
2017-12-17 14:18:36 +10:00
Nyall Dawson
662ec7a77c
Use unique_ptr over raw array
2017-12-17 14:14:48 +10:00
Nyall Dawson
5d6a509636
Restore data defined page orientation
2017-12-17 14:14:48 +10:00
Nyall Dawson
65f4c4acef
Port orientation decoding code from composer
2017-12-17 14:14:48 +10:00
Nyall Dawson
447a94909f
Fix items moving after altering page size or inserting/deleting pages
2017-12-17 14:14:48 +10:00
Nyall Dawson
f649f1f8a7
[layouts][needs-docs] Add control for whether pages should be
...
exported, including data defined setting
This replaces the 2.x data-defined "number of pages" setting.
Instead of requiring users to develop an expression to return
the number of pages, instead we allow individual pages to have
a data defined control of whether that page should be included
in the export.
This is more flexible, and works correctly with the mixed page
size model for layouts.
2017-12-17 14:14:48 +10:00
Nyall Dawson
ca37a1ebd7
Fix drawing of map items (grids, overviews) when rendering map item as a raster item
2017-12-17 14:14:31 +10:00