@@ -707,10 +707,42 @@ void TestQgsGeometryUtils::testSegmentIntersection()
707
707
QVERIFY ( isIntersect );
708
708
QVERIFY ( inter == QgsPoint ( 0 , 2 ) );
709
709
inter = QgsPoint ();
710
- intersection = QgsGeometryUtils::segmentIntersection ( QgsPoint ( 0 , 0 ), QgsPoint ( 0 , 5 ), QgsPoint ( 0 , 5 ), QgsPoint ( 1 , 5 ), inter, isIntersect, epsilon, true );
710
+ intersection = QgsGeometryUtils::segmentIntersection ( QgsPoint ( 0 , 2 ), QgsPoint ( 1 , 5 ), QgsPoint ( 0 , 0 ), QgsPoint ( 0 , 5 ), inter, isIntersect, epsilon, true );
711
711
QVERIFY ( intersection );
712
712
QVERIFY ( isIntersect );
713
- QVERIFY ( inter == QgsPoint ( 0 , 5 ) );
713
+ QVERIFY ( inter == QgsPoint ( 0 , 2 ) );
714
+
715
+ inter = QgsPoint ();
716
+ intersection = QgsGeometryUtils::segmentIntersection ( QgsPoint ( 1 , 5 ), QgsPoint ( 0 , 2 ), QgsPoint ( 0 , 0 ), QgsPoint ( 0 , 5 ), inter, isIntersect, epsilon );
717
+ QVERIFY ( !intersection );
718
+ QVERIFY ( isIntersect );
719
+ QVERIFY ( inter == QgsPoint ( 0 , 2 ) );
720
+ inter = QgsPoint ();
721
+ intersection = QgsGeometryUtils::segmentIntersection ( QgsPoint ( 1 , 5 ), QgsPoint ( 0 , 2 ), QgsPoint ( 0 , 0 ), QgsPoint ( 0 , 5 ), inter, isIntersect, epsilon, true );
722
+ QVERIFY ( intersection );
723
+ QVERIFY ( isIntersect );
724
+ QVERIFY ( inter == QgsPoint ( 0 , 2 ) );
725
+
726
+ inter = QgsPoint ();
727
+ intersection = QgsGeometryUtils::segmentIntersection ( QgsPoint ( 0 , 0 ), QgsPoint ( 0 , 5 ), QgsPoint ( 0 , 2 ), QgsPoint ( 1 , 5 ), inter, isIntersect, epsilon );
728
+ QVERIFY ( !intersection );
729
+ QVERIFY ( isIntersect );
730
+ QVERIFY ( inter == QgsPoint ( 0 , 2 ) );
731
+ inter = QgsPoint ();
732
+ intersection = QgsGeometryUtils::segmentIntersection ( QgsPoint ( 0 , 0 ), QgsPoint ( 0 , 5 ), QgsPoint ( 0 , 2 ), QgsPoint ( 1 , 5 ), inter, isIntersect, epsilon, true );
733
+ QVERIFY ( intersection );
734
+ QVERIFY ( isIntersect );
735
+ QVERIFY ( inter == QgsPoint ( 0 , 2 ) );
736
+
737
+ inter = QgsPoint ();
738
+ intersection = QgsGeometryUtils::segmentIntersection ( QgsPoint ( 0 , 0 ), QgsPoint ( 0 , 5 ), QgsPoint ( 1 , 5 ), QgsPoint ( 0 , 2 ), inter, isIntersect, epsilon );
739
+ QVERIFY ( !intersection );
740
+ QVERIFY ( isIntersect );
741
+ QVERIFY ( inter == QgsPoint ( 0 , 2 ) );
742
+ intersection = QgsGeometryUtils::segmentIntersection ( QgsPoint ( 0 , 0 ), QgsPoint ( 0 , 5 ), QgsPoint ( 1 , 5 ), QgsPoint ( 0 , 2 ), inter, isIntersect, epsilon, true );
743
+ QVERIFY ( intersection );
744
+ QVERIFY ( isIntersect );
745
+ QVERIFY ( inter == QgsPoint ( 0 , 2 ) );
714
746
// normal
715
747
inter = QgsPoint ();
716
748
intersection = QgsGeometryUtils::segmentIntersection ( QgsPoint ( 0 , -5 ), QgsPoint ( 0 , 5 ), QgsPoint ( 2 , 0 ), QgsPoint ( -1 , 0 ), inter, isIntersect, epsilon );
0 commit comments