Nyall Dawson
f387210e4a
Move QgsPolygonV2 equality operators up to QgsCurvePolygon
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
54c988f918
Make QgsAbstractGeometry::toCurveType pure virtual, and implement
...
for all geometry types
Previously this method would return nullptrs for many geometry
types
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
328fc9cb8d
Consistently use unsigned int for QgsRegularPolygon
2017-09-19 17:22:32 +10:00
Nyall Dawson
92d739619d
Fix memory leak in QgsEllipse
2017-09-19 17:22:32 +10:00
lbartoletti
5c3a72014a
fix qgsgeometry sip
2017-09-08 08:06:21 +02:00
lbartoletti
629f46d308
add overload methods
2017-09-08 08:06:21 +02:00
lbartoletti
e57c3b3974
Merge branch 'master' into regularShape_gui
2017-09-06 21:55:33 +02:00
Nyall Dawson
f1313af914
Add some more unit tests
2017-09-06 11:25:17 +10:00
Nyall Dawson
f12bb74b58
Add missing docs
2017-09-06 11:25:16 +10:00
Nyall Dawson
6ab7ebadec
Metatype Qgs(Referenced)Rectangle/PointXY
2017-09-06 11:25:16 +10:00
Nyall Dawson
1194b5abea
Use inheritance rather than composition for QgsReferencedGeometries
...
See https://github.com/qgis/QGIS/pull/4720#issuecomment-308652392
for discussion of the rationale
2017-09-06 11:25:16 +10:00
Denis Rouzaud
8053b96ec0
fix constructor and skip method with same python signature
2017-09-06 11:25:16 +10:00
Nyall Dawson
1a961e8045
Template based referenced geometry class
2017-09-06 11:25:16 +10:00
lbartoletti
e30f7044c9
[FEATURE][Processing] Minimal enclosing circle
2017-09-03 07:37:53 +10:00
Nyall Dawson
c2f8a8224b
Geometry error string is not shared
...
Instead move it to a private QgsGeometry member. It's copied
with QgsGeometry, but not the underlying private geometry
data.
This means the error string can be changed without detaching
(and copying) the geometry data.
Also make greater use of error string for all use of GEOS
functions.
2017-08-31 08:36:01 +10:00
Nyall Dawson
d8607222e0
Expose GEOS Hausdorff distance calculations to QgsGeometry
2017-08-31 08:02:44 +10:00
lbartoletti
9ae68e84bf
Merge branch 'master' into regularShape_gui
2017-08-16 20:05:41 +02:00
Matthias Kuhn
0683528d9a
More doxymentation
2017-08-14 10:52:43 +02:00
Matthias Kuhn
a4dac6ace2
Define params as /Out/
2017-08-14 08:58:59 +02:00
Denis Rouzaud
86e8da74cb
Return enum instead of int from QgsGeometry operations
2017-08-13 23:08:45 +02:00
Matthias Kuhn
b51a5f7b6f
Simplify QgsGeometryEngine code
2017-08-13 20:19:32 +02:00
Matthias Kuhn
e3787effc6
Doxymentation
2017-08-13 20:19:32 +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
Matthias Kuhn
d0f33d6d05
Expose makeValid() errors to QgsGeometry::error()
2017-08-13 12:18:55 +02:00
Matthias Kuhn
d9ad859a81
Fix misplaced SIP_TRANSFER
2017-08-13 10:28:42 +02:00
Matthias Kuhn
639d0640a9
NULL to nullptr
2017-08-12 19:26:20 +02:00
Matthias Kuhn
a6800d6a5a
Add qgsgeometry_cast
...
Because it
- is faster than dynamic_cast
- doesn't rely on RTTI
- encapsulates type checking in one place
2017-08-12 19:26:20 +02:00
Nyall Dawson
4ab4a1fcad
Spell check 'mitre' -> 'miter' (i.e. use en-us variation)
2017-08-07 18:08:57 +10:00
lbartoletti
7e01602319
- Fix crash for QgsMapToolCircle3Tangents when segment is not activated
...
or segments are parallels.
- Add preconditions for methods of QgsTriangle when is empty or invalid.
Tests and docs are updated.
2017-08-03 00:14:23 +02:00
Nyall Dawson
ecaee1a3f2
QgsGeometry::vertexAt now returns QgsPoint, not QgsPointXY
...
Since it's easy to convert from a QgsPoint to a QgsPointXY,
but impossible to recover the Z/M values lost by only
returning a QgsPointXY.
2017-07-28 11:48:50 +10:00
Juergen E. Fischer
4f9a9e0360
s/( )/()/; s/== /== /; s/!= /!= /;
2017-07-19 09:19:37 +02:00
Matthias Kuhn
2b2d5e3637
[FEATURE] Give access to geometry errors
...
When methods are called that use GEOS to create new geometries, the
result geometries now contain information about what has gone wrong in
case of an error.
In practice, this means it's possible to give more detailed information
in place (and not only in the message log) when things like processing
algorithms fail.
2017-07-17 08:38:01 +02:00
Harrissou Sant-anna
99ea2e8e8f
Use Cartesian instead of cartesian
2017-07-13 17:40:55 +02:00
Matthias Kuhn
9581fe0a10
[FEATURE] Add snapping results to default value calculation
...
... as @snapping_results variable
2017-07-07 12:58:55 +02:00
Ilya Zverev
80bc6d2674
Update SIP file for QgsRectangle
2017-06-26 16:28:54 +02:00
Matthias Kuhn
a3f14df367
Update docstrings
2017-06-26 08:21:11 +02:00
Matthias Kuhn
13775c2170
More generic closest point on line interpolation
2017-06-26 08:21:11 +02:00
Matthias Kuhn
75e5726fe4
Improve API docstrings
2017-06-26 08:21:11 +02:00
Radim Blazek
5c6e794b2d
nearest point measure in identify tool
2017-06-22 15:32:07 +02:00
Sandro Santilli
57bf9daaac
Document semantic of SegmentationToleranceType
...
.. and default of QgsCircularString::curveToLine
[ci skip]
2017-06-21 18:35:32 +02:00
Nyall Dawson
e74395d95b
[FEATURE] Subdivide algorithm for QgsGeometry
...
Subdivides the geometry. The returned geometry will be a collection
containing subdivided parts from the original geometry, where no
part has more then the specified maximum number of nodes.
2017-06-14 22:57:20 +10:00
Nyall Dawson
bde0c7267e
Expose GEOS clip by rect algorithm via QgsGeometry API
...
Performs a fast, non-robust intersection between the geometry and
a rectangle. The returned geometry may be invalid.
2017-06-14 22:02:01 +10:00
Matthias Kuhn
501081f863
Remove unrequired SIP_SKIP
2017-06-14 07:37:31 +02:00
Matthias Kuhn
37a306e3f2
Fix tests
2017-06-14 07:37:31 +02:00
Matthias Kuhn
96cf4b7026
Projecting a 2D point with inclination assumes 0 for Z
2017-06-14 07:37:31 +02:00