176 Commits

Author SHA1 Message Date
Nyall Dawson
e7b08d520e Expand geometry test coverage 2017-09-22 09:54:23 +10:00
Nyall Dawson
c77afeda9a Expand geometry unit test coverage 2017-09-22 09:54:23 +10:00
Nyall Dawson
38cc5703d7 Improve test cases 2017-09-19 21:18:06 +10:00
Nyall Dawson
6f5d9c94a6 Fix some leaks in geometry tests (valgrind noise) 2017-09-19 20:36:16 +10:00
Nyall Dawson
9526d487ad Astyle 2017-09-19 19:39:54 +10:00
Nyall Dawson
b744820bc3 Boost test coverage of geometry classes 2017-09-19 17:22:33 +10:00
Nyall Dawson
1540448334 Boost test coverage of geometry classes 2017-09-19 17:22:33 +10:00
Nyall Dawson
bb425e4540 Cleaner signature for QgsAbstractGeometry::closestSegment 2017-09-19 17:22:33 +10:00
Nyall Dawson
1f40f62011 Expand geometry test coverage 2017-09-19 17:22:33 +10:00
Nyall Dawson
fd3a38fcd8 More tests 2017-09-19 17:22:33 +10:00
Nyall Dawson
5bb359db90 Boost test coverage of geometry classes 2017-09-19 17:22:33 +10:00
Nyall Dawson
9b6e79cd18 Expand QgsTriangle test coverage 2017-09-19 17:22:32 +10:00
Nyall Dawson
a15340fc2c Extend geometry test coverage 2017-09-19 17:22:32 +10:00
Nyall Dawson
d3db082cd2 Extend unit tests for QgsPolygonV2, QgsPoint 2017-09-19 17:22:32 +10:00
Nyall Dawson
6b07b9bbfb Extend geometry unit test coverage 2017-09-19 17:22:32 +10:00
Nyall Dawson
328fc9cb8d Consistently use unsigned int for QgsRegularPolygon 2017-09-19 17:22:32 +10:00
Nyall Dawson
700f9b2ef8 Condense qgstestutils.h and qgstest.h into a single file 2017-09-04 10:38:18 +10:00
lbartoletti
e30f7044c9 [FEATURE][Processing] Minimal enclosing circle 2017-09-03 07:37:53 +10:00
Nyall Dawson
e68835f12e Fix some possible leaks in tests 2017-09-01 08:00:59 +10:00
Nyall Dawson
21a3b8a4f3 Use QGSCOMPARENEAR instead of QVERIFY( qgsDoubleNear(... ) )
QGSCOMPARENEAR gives better debugging output when the
test fails
2017-08-29 12:39:59 +10:00
Sandro Santilli
650cf6a3fd Remove line segmentation test checking for control point containement
There are more tests in dedicated file (testqgscurve.cpp)
2017-08-25 23:06:52 +02:00
Sandro Santilli
48c953991e Refactor curveToLine to emit equidistant segments and fix some issues
Fixes #16717
Fixes #16722

Include tests
2017-08-25 23:06:52 +02:00
Nyall Dawson
d3854e9e5a Remove use of some other q* functions which are implemented in std 2017-08-25 03:33:50 +10:00
Nyall Dawson
b5ca4b4ea8 (q)sqrt -> std::sqrt 2017-08-25 03:22:15 +10:00
Nyall Dawson
fec03ca423 (q)sin -> std::sin 2017-08-25 03:18:05 +10:00
Nyall Dawson
2e5d1abbb1 (q)cos -> std::cos 2017-08-25 03:05:22 +10:00
Nyall Dawson
e4dab7c5c7 Fix intermittently failing QgsGeometry asGML tests 2017-08-17 17:53:36 +10:00
Nyall Dawson
d81a1a3b5f Return std::unique_ptrs where possible
When a class isn't exposed to Python, we should return a
std::unique_ptr whenever a returned pointer value is owned
by the caller.
2017-08-17 16:28:18 +10:00
Juergen E. Fischer
4f9a9e0360 s/( )/()/; s/== /== /; s/!= /!= /; 2017-07-19 09:19:37 +02:00
Nyall Dawson
38a13ff5af Make pole of inaccessibility calculation handle multipolygons 2017-07-17 07:24:33 +10:00
rldhont
aa24896ce1 Fix GML2 after GML3 improvements 2017-07-07 13:01:31 +02:00
rldhont
fe8522f811 [Geometry] Polygon::asGml: fix outer and add tests 2017-07-04 14:07:59 +02:00
Matthias Kuhn
e7f50524b8 Make QgsLineString Z and M values NaN if unspecified 2017-06-26 08:21:11 +02:00
Nyall Dawson
b620b6e00e Add method to QgsGeometryFactory to create a multigeometry
from any wkb type

Eg calling QgsGeometryFactory::createCollectionOfType( QgsWkbTypes::PolygonM )
will return a new QgsMultiPolygonV2 with M values.
2017-06-14 21:15:48 +10:00
Matthias Kuhn
21dae496a9 Fix geometry tests for NaN 2017-06-14 07:37:31 +02:00
Martin Dobias
2964c33d63 Reshape tool: use default Z value for 3D geometries 2017-06-08 21:56:21 +02:00
Matthias Kuhn
2bbadbacb7 Rename qgspoint.h and qgspointv2.h
To qgspointxy.h
And qgspoint.h
2017-06-02 19:53:37 +02:00
Matthias Kuhn
a9d7630a69 Rename QgsPointV2 to QgsPoint and QgsPoint to QgsPointXY
Because 3D coordinates should be the default.

References https://github.com/qgis/qgis3.0_api/issues/36
2017-06-02 19:53:37 +02:00
Martin Dobias
e001d5c70a Add QgsGeometry::isSimple() - useful for self-intersection checks 2017-05-18 09:02:41 +08:00
lbartoletti
bc0c3a22b0 Add inclination method for QgsPointV2 (#4536) 2017-05-13 17:29:50 +10:00
lbartoletti
13c1318a5f New geometry class: QgsRegularPolygon (#4502) 2017-05-10 22:23:28 +10:00
Nyall Dawson
e861f33b54 Fix memory leak 2017-04-30 09:23:01 +10:00
Juergen E. Fischer
b29a10eeb7 hub.qgis.org moved to issues.qgis.org 2017-04-29 23:34:27 +02:00
lbartoletti
84471f2e6d New classes for circle and ellipse. 2017-04-27 10:25:29 +10:00
Nyall Dawson
51035cfb67 Add optimised constructors for QgsLineString
Instead of requiring all linestrings to be constructed by
first creating QgsPointSequence (requiring creation or
conversion of points to QgsPointV2), allow construction
of LineStrings directly from vectors of values (fastest!)
or lists of QgsPoint.

Likely results in speedups for lots of geometry operations,
but using the same layer as earlier tested for densify
improvements the densify operation time dropped further
from 25 seconds to 15 seconds.
2017-03-25 20:44:31 +10:00
lbartoletti
fb3d07f3f5 [FEATURE] New class for triangle
Adds a new geometry class for Triangle geometries

Methods include orthocenter, bisectors, medians, medial, circumscribed (center,
radius), inscribed (center, radius)

Also adds make_triangle expression function for creating triangles
2017-03-21 18:50:47 +10:00
Nyall Dawson
51c1d67091 Fix Coverity null pointer dereference warning 2017-03-21 15:32:56 +10:00
Juergen E. Fischer
b9162dccdf scripts/astyle-all.sh run 2017-03-03 15:37:12 +01:00
Marco Hugentobler
08c2e66b88 Add unit test if circular arc segmentation produces the same vertices in both directions 2017-02-22 11:59:40 +01:00
Denis Rouzaud
7812d4fb17 remove the-prefix from source code
this might result in variables having the same name as some methods
2017-02-21 18:14:58 +01:00