Skip to content

Commit 2f43deb

Browse files
blazeknyalldawson
authored andcommitted
closestSegmentWithContext() doc and test fix
1 parent 07fd713 commit 2f43deb

File tree

3 files changed

+13
-9
lines changed

3 files changed

+13
-9
lines changed

python/core/geometry/qgsgeometry.sip

+1-1
Original file line numberDiff line numberDiff line change
@@ -500,7 +500,7 @@ Returns true if WKB of the geometry is of WKBMulti* type
500500
\param minDistPoint Receives the nearest point on the segment
501501
\param afterVertex Receives index of the vertex after the closest segment. The vertex
502502
before the closest segment is always afterVertex - 1
503-
\param leftOf Out: Returns if the point lies on the left of right side of the segment ( < 0 means left, > 0 means right )
503+
\param leftOf Out: Returns if the point lies on the left of right side of the segment ( > 0 means left, < 0 means right )
504504
\param epsilon epsilon for segment snapping
505505
:return: The squared Cartesian distance is also returned in sqrDist, negative number on error
506506
:rtype: float

src/core/geometry/qgsgeometry.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -555,7 +555,7 @@ class CORE_EXPORT QgsGeometry
555555
* \param minDistPoint Receives the nearest point on the segment
556556
* \param afterVertex Receives index of the vertex after the closest segment. The vertex
557557
* before the closest segment is always afterVertex - 1
558-
* \param leftOf Out: Returns if the point lies on the left of right side of the segment ( < 0 means left, > 0 means right )
558+
* \param leftOf Out: Returns if the point lies on the left of right side of the segment ( > 0 means left, < 0 means right )
559559
* \param epsilon epsilon for segment snapping
560560
* \returns The squared Cartesian distance is also returned in sqrDist, negative number on error
561561
*/

tests/src/python/test_qgsgeometry.py

+11-7
Original file line numberDiff line numberDiff line change
@@ -499,10 +499,11 @@ def testClosestVertex(self):
499499
self.assertEqual(afterVertex, 5)
500500
self.assertEqual(dist, 1)
501501

502-
(dist, minDistPoint, afterVertex) = polyline.closestSegmentWithContext(QgsPointXY(6, 2))
502+
(dist, minDistPoint, afterVertex, leftOf) = polyline.closestSegmentWithContext(QgsPointXY(6, 2))
503503
self.assertEqual(dist, 1)
504504
self.assertEqual(minDistPoint, QgsPointXY(5, 2))
505505
self.assertEqual(afterVertex, 4)
506+
self.assertTrue(leftOf > 0)
506507

507508
(point, atVertex, beforeVertex, afterVertex, dist) = polyline.closestVertex(QgsPointXY(6, 0))
508509
self.assertEqual(point, QgsPointXY(5, 0))
@@ -511,7 +512,7 @@ def testClosestVertex(self):
511512
self.assertEqual(afterVertex, 1)
512513
self.assertEqual(dist, 1)
513514

514-
(dist, minDistPoint, afterVertex) = polyline.closestSegmentWithContext(QgsPointXY(6, 0))
515+
(dist, minDistPoint, afterVertex, leftOf) = polyline.closestSegmentWithContext(QgsPointXY(6, 0))
515516
self.assertEqual(dist, 1)
516517
self.assertEqual(minDistPoint, QgsPointXY(5, 0))
517518
self.assertEqual(afterVertex, 1)
@@ -523,7 +524,7 @@ def testClosestVertex(self):
523524
self.assertEqual(afterVertex, 2)
524525
self.assertEqual(dist, 1)
525526

526-
(dist, minDistPoint, afterVertex) = polyline.closestSegmentWithContext(QgsPointXY(0, 1))
527+
(dist, minDistPoint, afterVertex, leftOf) = polyline.closestSegmentWithContext(QgsPointXY(0, 1))
527528
self.assertEqual(dist, 0)
528529
self.assertEqual(minDistPoint, QgsPointXY(0, 1))
529530
self.assertEqual(afterVertex, 2)
@@ -544,7 +545,7 @@ def testClosestVertex(self):
544545
self.assertEqual(afterVertex, 8)
545546
self.assertEqual(dist, 1)
546547

547-
(dist, minDistPoint, afterVertex) = polyline.closestSegmentWithContext(QgsPointXY(7, 0))
548+
(dist, minDistPoint, afterVertex, leftOf) = polyline.closestSegmentWithContext(QgsPointXY(7, 0))
548549
self.assertEqual(dist, 1)
549550
self.assertEqual(minDistPoint, QgsPointXY(6, 0))
550551
self.assertEqual(afterVertex, 9)
@@ -566,11 +567,12 @@ def testClosestVertex(self):
566567
self.assertEqual(afterVertex, 3)
567568
assert abs(dist - 0.1) < 0.00001, "Expected: %f; Got:%f" % (dist, 0.1)
568569

569-
(dist, minDistPoint, afterVertex) = polygon.closestSegmentWithContext(QgsPointXY(0.7, 1.1))
570+
(dist, minDistPoint, afterVertex, leftOf) = polygon.closestSegmentWithContext(QgsPointXY(0.7, 1.1))
570571
self.assertEqual(afterVertex, 2)
571572
self.assertEqual(minDistPoint, QgsPointXY(1, 1))
572573
exp = 0.3 ** 2 + 0.1 ** 2
573574
assert abs(dist - exp) < 0.00001, "Expected: %f; Got:%f" % (exp, dist)
575+
self.assertTrue(leftOf > 0)
574576

575577
# 3-+-+-2
576578
# | |
@@ -592,11 +594,12 @@ def testClosestVertex(self):
592594
self.assertEqual(afterVertex, 9)
593595
assert abs(dist - 0.02) < 0.00001, "Expected: %f; Got:%f" % (dist, 0.02)
594596

595-
(dist, minDistPoint, afterVertex) = polygon.closestSegmentWithContext(QgsPointXY(1.2, 1.9))
597+
(dist, minDistPoint, afterVertex, leftOf) = polygon.closestSegmentWithContext(QgsPointXY(1.2, 1.9))
596598
self.assertEqual(afterVertex, 8)
597599
self.assertEqual(minDistPoint, QgsPointXY(1.2, 2))
598600
exp = 0.01
599601
assert abs(dist - exp) < 0.00001, "Expected: %f; Got:%f" % (exp, dist)
602+
self.assertTrue(leftOf > 0)
600603

601604
# 5-+-4 0-+-9
602605
# | | | |
@@ -616,11 +619,12 @@ def testClosestVertex(self):
616619
self.assertEqual(afterVertex, 13)
617620
assert abs(dist - 0.02) < 0.00001, "Expected: %f; Got:%f" % (dist, 0.02)
618621

619-
(dist, minDistPoint, afterVertex) = polygon.closestSegmentWithContext(QgsPointXY(4.1, 1.1))
622+
(dist, minDistPoint, afterVertex, leftOf) = polygon.closestSegmentWithContext(QgsPointXY(4.1, 1.1))
620623
self.assertEqual(afterVertex, 12)
621624
self.assertEqual(minDistPoint, QgsPointXY(4, 1))
622625
exp = 0.02
623626
assert abs(dist - exp) < 0.00001, "Expected: %f; Got:%f" % (exp, dist)
627+
self.assertTrue(leftOf > 0)
624628

625629
def testAdjacentVertex(self):
626630
# 2-+-+-+-+-3

0 commit comments

Comments
 (0)