85 Commits

Author SHA1 Message Date
Dmitry Shachnev
ae8b427fe9 Replace deprecated sipMappedType with sipTypeDef 2020-07-21 13:18:40 +10:00
Nyall Dawson
88583210a2 Minor cleanup: move guts of oriented minimum bounding box calculation to QgsInternalGeometryEngine 2020-07-16 08:44:51 +10:00
Nyall Dawson
33f31d826a Fix QgsGeometry::asQPolygonF doesn't handle multipolygon inputs
gracefully
2020-07-03 04:03:47 +10:00
Denis Rouzaud
7fb552d62d fix layout 2020-06-19 08:47:23 +10:00
Denis Rouzaud
044a05d828 run sipify 2020-06-19 08:47:23 +10:00
Matthias Kuhn
91f1485a6e
Merge pull request #36514 from lbartoletti/fix_interpolation_split
[BUGFIX] Fix interpolation on split geometry
2020-06-15 08:45:59 +02:00
Nyall Dawson
74400c7ff8 Some fixes to numbered list handling in dox/PyQGIS API 2020-06-15 13:43:58 +10:00
Nyall Dawson
81a9db9f57 [sipify] Fix creation of cross references 2020-06-15 13:43:58 +10:00
Nyall Dawson
e653711509 QgsGeometry::error() does not exist, should be lastError() 2020-06-15 13:43:58 +10:00
Nyall Dawson
a5101f2ade [sipify] Fix header formatting 2020-06-13 16:49:14 +10:00
Nyall Dawson
cedd73ee4d More list formatting fixes 2020-06-13 16:49:14 +10:00
lbartoletti
04c3c0124f add an explanation 2020-06-12 15:39:36 +02:00
lbartoletti
e69116fb34 revert changes in qgsgeometry.sip 2020-06-11 07:50:49 +02:00
Nyall Dawson
ae42850d08 Sipify 2020-06-11 13:29:59 +10:00
Nyall Dawson
c795ddb1e9 Updates 2020-06-11 13:29:59 +10:00
Nyall Dawson
d3a54eed6f Add flags to control geometry to WKB export behavior
With initial flag to force conversion of triangle types to polygons
2020-06-11 05:32:26 +10:00
Andrea Giudiceandrea
5075e4433b Fix QgsGeometry constParts() example code
it wrongly refers to parts() instead of constParts()
2020-05-26 06:54:23 +10:00
uclaros
24cda403da why u no sipify? 2020-05-20 05:01:20 +10:00
lbartoletti
bd7e9d6e11 [WIP][BUGFIX] Fix interpolation on split geometry 2020-05-18 11:56:07 +02:00
olivierdalang
68582a6e84 [tracing curves] experimental notice 2020-05-14 16:12:29 +02:00
olivierdalang
ab423ca2a4 Add "convert to curves" algorithm followup 2020-05-12 17:54:43 +02:00
Nyall Dawson
78c86ef6ca Move geometry handling guts of QgsVectorLayerUtils::makeFeaturesCompatible
to a new method in QgsGeometry
2020-04-07 17:05:44 +10:00
lbartoletti
364dc3fd4f
Fix multi split for multilinestring (#34510)
* Fix multi split for multilinestring
2020-03-20 13:23:11 +01:00
Nyall Dawson
2a7f9c32c7 Add missing const 2019-10-28 14:34:30 +10:00
Denis Rouzaud
2406837650
replace deprecated in by deprecated since (#32260) 2019-10-15 15:56:54 +02:00
Denis Rouzaud
758d7cff4a run sipify to update deprecation annotations 2019-10-15 13:17:38 +02:00
Nyall Dawson
d5749f8713 Deprecated QgsGeometry::createPolylineFromQPolygonF and
QgsGeometry::createPolygonFromQPolygonF

These were internal details which should never have been exposed
to public API
2019-10-07 07:03:34 +10:00
Nyall Dawson
eb59842f31 C++ API for generating random points inside geometry
Adds an optimised c++ method for generating random points inside
a polygon geometry, using a tessellation based approach to
avoid the inefficiencies of the brute force filtered-random-points-within-extent
approach.
2019-10-05 12:13:14 +10:00
lbartoletti
aa99f89caf deprecate methods in qgsvectorlayereditutils. Better deprecated dox. 2019-10-03 13:33:46 +10:00
lbartoletti
b75518fa15 update dox 2019-10-03 13:33:46 +10:00
lbartoletti
c1421455b8 fix dox and tests 2019-10-03 13:33:46 +10:00
lbartoletti
738e052b87 fix qgsgeometry 2019-10-03 13:33:46 +10:00
lbartoletti
2e529e1bd9 deprecate addTopologicalPoints methods with QgsPointXY
deprecate other methods
2019-10-03 13:33:46 +10:00
Nyall Dawson
77191597ff Spelling 2019-08-22 17:36:43 +10:00
Nyall Dawson
3583e7ad0c More explicit documentation of geometry classes, with warnings
that calculations are Cartesian only and point users to QgsDistanceArea
for ellipsoidal calculations

Fixes #31275
2019-08-22 17:36:43 +10:00
Alessandro Pasotti
63711510b6 Dear Qt, I love you but ...
... you are too slow and QJson API is so ugly.

Now using this wonderful json lib:
https://github.com/nlohmann/json

Results in release mode (QJson tests are not shown but
QJson was even slower than string concat).

PASS   : TestQgsJsonUtils::testExportAttributesJson(Use json)
RESULT : TestQgsJsonUtils::testExportAttributesJson():"Use json":
     0.0022 msecs per iteration (total: 75, iterations: 32768)
PASS   : TestQgsJsonUtils::testExportAttributesJson(Use old string concat)
RESULT : TestQgsJsonUtils::testExportAttributesJson():"Use old string concat":
     0.0032 msecs per iteration (total: 54, iterations: 16384)
PASS   : TestQgsJsonUtils::testExportFeatureJson(Use json)
RESULT : TestQgsJsonUtils::testExportFeatureJson():"Use json":
     0.011 msecs per iteration (total: 96, iterations: 8192)
PASS   : TestQgsJsonUtils::testExportFeatureJson(Use old string concat)
RESULT : TestQgsJsonUtils::testExportFeatureJson():"Use old string concat":
     0.015 msecs per iteration (total: 64, iterations: 4096)
PASS   : TestQgsJsonUtils::testExportGeomToJson(Use json)
RESULT : TestQgsJsonUtils::testExportGeomToJson():"Use json":
     0.76 msecs per iteration (total: 98, iterations: 128)
PASS   : TestQgsJsonUtils::testExportGeomToJson(Use old string concat)
RESULT : TestQgsJsonUtils::testExportGeomToJson():"Use old string concat":
     0.85 msecs per iteration (total: 55, iterations: 64)
PASS   : TestQgsJsonUtils::cleanupTestCase()
2019-04-18 17:04:30 +02:00
Alessandro Pasotti
64fdbe3d76 Added tests and doxy 2019-04-16 15:17:25 +02:00
Alessandro Pasotti
be8822ed8b Precision and 3d 2019-04-16 14:00:59 +02:00
Alessandro Pasotti
6967a21882 toJsonV2 2019-04-16 14:00:59 +02:00
Nyall Dawson
107b48a430 Add NULLPTR macro for use in doxygen comments
For the c++ api dox this expands to "\c nullptr" (the
\c directive indicates a code literal value), and for sipify/Python
it expands to ``None`` (`` is sphinx annotation for literal values)

Makes for nicer dox for both c++ and Python!
2019-02-27 09:41:11 +10:00
Nyall Dawson
b6d66becab Sipify 2019-02-27 09:41:11 +10:00
Nyall Dawson
4e04d02293 By default, validity check should treat ring self intersections as invalid
We use the OGC definition of validity to ensure consistent results
with PostGIS, GDAL, etc

Fixes #16418, fixes #21336
2019-02-27 06:05:26 +10:00
Nyall Dawson
35f613d45e Avoid firing up a thread for blocking GEOS based validity checks
It's an unnecessary expense. Also fix duplicate code.
2019-02-27 06:05:26 +10:00
Nyall Dawson
6dbe4ee5fb Add QgsGeometry::isGeosValid option to ignore self-touching rings 2019-02-27 06:05:26 +10:00
Matthias Kuhn
09407c1258
Merge pull request #9128 from m-kuhn/todo-qgis-4
Move QGIS 3 todos to QGIS 4
2019-02-08 08:02:17 +01:00
Matthias Kuhn
2fb37042a5
Fix TODO and docstrings 2019-02-07 14:36:43 +01:00
Matthias Kuhn
32b6599df0
Merge pull request #9074 from m-kuhn/til
Deprecate QgsGeometry::set for usage in Python
2019-02-07 09:07:14 +01:00
Matthias Kuhn
2400050878
Deprecate for sip 2019-02-06 13:09:23 +01:00
Nyall Dawson
384d310233 Minor improvements to PyQGIS returns for SIP_OUT params 2019-02-05 04:55:34 +11:00
Matthias Kuhn
612576ca8e
Deprecate QgsGeometry::set for usage in Python
When a new QgsAbstractGeometry is set on a geometry object, the previous child is deleted.
If the previous object was constructed by Python, it's wrapper will still be alive for
as long as the QgsGeometry is alive. If a new QgsAbstractGeometry is constructed at the same
memory address as the old one, the wrapper will be reused with wrong type (and other)
information, leading to all kind of weird issues.

See also https://www.riverbankcomputing.com/pipermail/pyqt/2019-January/041251.html
2019-02-03 19:47:01 +01:00