@@ -1005,6 +1005,9 @@ void TestQgsGeometry::circularString()
1005
1005
QVERIFY ( l1.hasCurvedSegments () );
1006
1006
QCOMPARE ( l1.area (), 0.0 );
1007
1007
QCOMPARE ( l1.perimeter (), 0.0 );
1008
+ QgsPointSequence pts;
1009
+ l1.points ( pts );
1010
+ QVERIFY ( pts.empty () );
1008
1011
1009
1012
// setPoints
1010
1013
QgsCircularString l2;
@@ -1021,6 +1024,8 @@ void TestQgsGeometry::circularString()
1021
1024
QVERIFY ( l2.hasCurvedSegments () );
1022
1025
QCOMPARE ( l2.area (), 0.0 );
1023
1026
QCOMPARE ( l2.perimeter (), 0.0 );
1027
+ l2.points ( pts );
1028
+ QCOMPARE ( pts, QgsPointSequence () << QgsPoint ( 1.0 , 2.0 ) );
1024
1029
1025
1030
// setting first vertex should set linestring z/m type
1026
1031
QgsCircularString l3;
@@ -1030,6 +1035,8 @@ void TestQgsGeometry::circularString()
1030
1035
QVERIFY ( !l3.isMeasure () );
1031
1036
QCOMPARE ( l3.wkbType (), QgsWkbTypes::CircularStringZ );
1032
1037
QCOMPARE ( l3.wktTypeStr (), QString ( " CircularStringZ" ) );
1038
+ l3.points ( pts );
1039
+ QCOMPARE ( pts, QgsPointSequence () << QgsPoint ( QgsWkbTypes::PointZ, 1.0 , 2.0 , 3.0 ) );
1033
1040
1034
1041
QgsCircularString l4;
1035
1042
l4.setPoints ( QgsPointSequence () << QgsPoint ( QgsWkbTypes::PointM, 1.0 , 2.0 , 0.0 , 3.0 ) );
@@ -1038,6 +1045,8 @@ void TestQgsGeometry::circularString()
1038
1045
QVERIFY ( l4.isMeasure () );
1039
1046
QCOMPARE ( l4.wkbType (), QgsWkbTypes::CircularStringM );
1040
1047
QCOMPARE ( l4.wktTypeStr (), QString ( " CircularStringM" ) );
1048
+ l4.points ( pts );
1049
+ QCOMPARE ( pts, QgsPointSequence () << QgsPoint ( QgsWkbTypes::PointM, 1.0 , 2.0 , 0.0 , 3.0 ) );
1041
1050
1042
1051
QgsCircularString l5;
1043
1052
l5.setPoints ( QgsPointSequence () << QgsPoint ( QgsWkbTypes::PointZM, 1.0 , 2.0 , 3.0 , 4.0 ) );
@@ -1046,6 +1055,8 @@ void TestQgsGeometry::circularString()
1046
1055
QVERIFY ( l5.isMeasure () );
1047
1056
QCOMPARE ( l5.wkbType (), QgsWkbTypes::CircularStringZM );
1048
1057
QCOMPARE ( l5.wktTypeStr (), QString ( " CircularStringZM" ) );
1058
+ l5.points ( pts );
1059
+ QCOMPARE ( pts, QgsPointSequence () << QgsPoint ( QgsWkbTypes::PointZM, 1.0 , 2.0 , 3.0 , 4.0 ) );
1049
1060
1050
1061
// clear
1051
1062
l5.clear ();
@@ -1072,6 +1083,8 @@ void TestQgsGeometry::circularString()
1072
1083
QVERIFY ( !l8.isMeasure () );
1073
1084
QCOMPARE ( l8.wkbType (), QgsWkbTypes::CircularString );
1074
1085
QVERIFY ( l8.hasCurvedSegments () );
1086
+ l8.points ( pts );
1087
+ QCOMPARE ( pts, QgsPointSequence () << QgsPoint ( 1 , 2 ) << QgsPoint ( 2 , 3 ) << QgsPoint ( 3 , 4 ) );
1075
1088
1076
1089
// setPoints with empty list, should clear linestring
1077
1090
l8.setPoints ( QgsPointSequence () );
@@ -1082,34 +1095,44 @@ void TestQgsGeometry::circularString()
1082
1095
QCOMPARE ( l8.ringCount (), 0 );
1083
1096
QCOMPARE ( l8.partCount (), 0 );
1084
1097
QCOMPARE ( l8.wkbType (), QgsWkbTypes::CircularString );
1098
+ l8.points ( pts );
1099
+ QVERIFY ( pts.empty () );
1085
1100
1086
1101
// setPoints with z
1087
1102
l8.setPoints ( QgsPointSequence () << QgsPoint ( QgsWkbTypes::PointZ, 1 , 2 , 3 ) << QgsPoint ( QgsWkbTypes::PointZ, 2 , 3 , 4 ) );
1088
1103
QCOMPARE ( l8.numPoints (), 2 );
1089
1104
QVERIFY ( l8.is3D () );
1090
1105
QVERIFY ( !l8.isMeasure () );
1091
1106
QCOMPARE ( l8.wkbType (), QgsWkbTypes::CircularStringZ );
1107
+ l8.points ( pts );
1108
+ QCOMPARE ( pts, QgsPointSequence () << QgsPoint ( QgsWkbTypes::PointZ, 1 , 2 , 3 ) << QgsPoint ( QgsWkbTypes::PointZ, 2 , 3 , 4 ) );
1092
1109
1093
1110
// setPoints with m
1094
1111
l8.setPoints ( QgsPointSequence () << QgsPoint ( QgsWkbTypes::PointM, 1 , 2 , 0 , 3 ) << QgsPoint ( QgsWkbTypes::PointM, 2 , 3 , 0 , 4 ) );
1095
1112
QCOMPARE ( l8.numPoints (), 2 );
1096
1113
QVERIFY ( !l8.is3D () );
1097
1114
QVERIFY ( l8.isMeasure () );
1098
1115
QCOMPARE ( l8.wkbType (), QgsWkbTypes::CircularStringM );
1116
+ l8.points ( pts );
1117
+ QCOMPARE ( pts, QgsPointSequence () << QgsPoint ( QgsWkbTypes::PointM, 1 , 2 , 0 , 3 ) << QgsPoint ( QgsWkbTypes::PointM, 2 , 3 , 0 , 4 ) );
1099
1118
1100
1119
// setPoints with zm
1101
1120
l8.setPoints ( QgsPointSequence () << QgsPoint ( QgsWkbTypes::PointZM, 1 , 2 , 4 , 5 ) << QgsPoint ( QgsWkbTypes::PointZM, 2 , 3 , 4 , 5 ) );
1102
1121
QCOMPARE ( l8.numPoints (), 2 );
1103
1122
QVERIFY ( l8.is3D () );
1104
1123
QVERIFY ( l8.isMeasure () );
1105
1124
QCOMPARE ( l8.wkbType (), QgsWkbTypes::CircularStringZM );
1125
+ l8.points ( pts );
1126
+ QCOMPARE ( pts, QgsPointSequence () << QgsPoint ( QgsWkbTypes::PointZM, 1 , 2 , 4 , 5 ) << QgsPoint ( QgsWkbTypes::PointZM, 2 , 3 , 4 , 5 ) );
1106
1127
1107
1128
// setPoints with MIXED dimensionality of points
1108
1129
l8.setPoints ( QgsPointSequence () << QgsPoint ( QgsWkbTypes::PointZM, 1 , 2 , 4 , 5 ) << QgsPoint ( QgsWkbTypes::PointM, 2 , 3 , 0 , 5 ) );
1109
1130
QCOMPARE ( l8.numPoints (), 2 );
1110
1131
QVERIFY ( l8.is3D () );
1111
1132
QVERIFY ( l8.isMeasure () );
1112
1133
QCOMPARE ( l8.wkbType (), QgsWkbTypes::CircularStringZM );
1134
+ l8.points ( pts );
1135
+ QCOMPARE ( pts, QgsPointSequence () << QgsPoint ( QgsWkbTypes::PointZM, 1 , 2 , 4 , 5 ) << QgsPoint ( QgsWkbTypes::PointZM, 2 , 3 , 0 , 5 ) );
1113
1136
1114
1137
// test point
1115
1138
QCOMPARE ( l8.pointN ( 0 ), QgsPoint ( QgsWkbTypes::PointZM, 1 , 2 , 4 , 5 ) );
@@ -2542,6 +2565,9 @@ void TestQgsGeometry::lineString()
2542
2565
QVERIFY ( !l8.isMeasure () );
2543
2566
QCOMPARE ( l8.wkbType (), QgsWkbTypes::LineString );
2544
2567
QVERIFY ( !l8.hasCurvedSegments () );
2568
+ QgsPointSequence pts;
2569
+ l8.points ( pts );
2570
+ QCOMPARE ( pts, QgsPointSequence () << QgsPoint ( 1 , 2 ) << QgsPoint ( 2 , 3 ) << QgsPoint ( 3 , 4 ) );
2545
2571
2546
2572
// setPoints with empty list, should clear linestring
2547
2573
l8.setPoints ( QgsPointSequence () );
@@ -2552,13 +2578,17 @@ void TestQgsGeometry::lineString()
2552
2578
QCOMPARE ( l8.ringCount (), 0 );
2553
2579
QCOMPARE ( l8.partCount (), 0 );
2554
2580
QCOMPARE ( l8.wkbType (), QgsWkbTypes::LineString );
2581
+ l8.points ( pts );
2582
+ QVERIFY ( pts.isEmpty () );
2555
2583
2556
2584
// setPoints with z
2557
2585
l8.setPoints ( QgsPointSequence () << QgsPoint ( QgsWkbTypes::PointZ, 1 , 2 , 3 ) << QgsPoint ( QgsWkbTypes::PointZ, 2 , 3 , 4 ) );
2558
2586
QCOMPARE ( l8.numPoints (), 2 );
2559
2587
QVERIFY ( l8.is3D () );
2560
2588
QVERIFY ( !l8.isMeasure () );
2561
2589
QCOMPARE ( l8.wkbType (), QgsWkbTypes::LineStringZ );
2590
+ l8.points ( pts );
2591
+ QCOMPARE ( pts, QgsPointSequence () << QgsPoint ( QgsWkbTypes::PointZ, 1 , 2 , 3 ) << QgsPoint ( QgsWkbTypes::PointZ, 2 , 3 , 4 ) );
2562
2592
2563
2593
// setPoints with 25d
2564
2594
l8.setPoints ( QgsPointSequence () << QgsPoint ( QgsWkbTypes::Point25D, 1 , 2 , 4 ) << QgsPoint ( QgsWkbTypes::Point25D, 2 , 3 , 4 ) );
@@ -2567,27 +2597,35 @@ void TestQgsGeometry::lineString()
2567
2597
QVERIFY ( !l8.isMeasure () );
2568
2598
QCOMPARE ( l8.wkbType (), QgsWkbTypes::LineString25D );
2569
2599
QCOMPARE ( l8.pointN ( 0 ), QgsPoint ( QgsWkbTypes::Point25D, 1 , 2 , 4 ) );
2600
+ l8.points ( pts );
2601
+ QCOMPARE ( pts, QgsPointSequence () << QgsPoint ( QgsWkbTypes::Point25D, 1 , 2 , 4 ) << QgsPoint ( QgsWkbTypes::Point25D, 2 , 3 , 4 ) );
2570
2602
2571
2603
// setPoints with m
2572
2604
l8.setPoints ( QgsPointSequence () << QgsPoint ( QgsWkbTypes::PointM, 1 , 2 , 0 , 3 ) << QgsPoint ( QgsWkbTypes::PointM, 2 , 3 , 0 , 4 ) );
2573
2605
QCOMPARE ( l8.numPoints (), 2 );
2574
2606
QVERIFY ( !l8.is3D () );
2575
2607
QVERIFY ( l8.isMeasure () );
2576
2608
QCOMPARE ( l8.wkbType (), QgsWkbTypes::LineStringM );
2609
+ l8.points ( pts );
2610
+ QCOMPARE ( pts, QgsPointSequence () << QgsPoint ( QgsWkbTypes::PointM, 1 , 2 , 0 , 3 ) << QgsPoint ( QgsWkbTypes::PointM, 2 , 3 , 0 , 4 ) );
2577
2611
2578
2612
// setPoints with zm
2579
2613
l8.setPoints ( QgsPointSequence () << QgsPoint ( QgsWkbTypes::PointZM, 1 , 2 , 4 , 5 ) << QgsPoint ( QgsWkbTypes::PointZM, 2 , 3 , 4 , 5 ) );
2580
2614
QCOMPARE ( l8.numPoints (), 2 );
2581
2615
QVERIFY ( l8.is3D () );
2582
2616
QVERIFY ( l8.isMeasure () );
2583
2617
QCOMPARE ( l8.wkbType (), QgsWkbTypes::LineStringZM );
2618
+ l8.points ( pts );
2619
+ QCOMPARE ( pts, QgsPointSequence () << QgsPoint ( QgsWkbTypes::PointZM, 1 , 2 , 4 , 5 ) << QgsPoint ( QgsWkbTypes::PointZM, 2 , 3 , 4 , 5 ) );
2584
2620
2585
2621
// setPoints with MIXED dimensionality of points
2586
2622
l8.setPoints ( QgsPointSequence () << QgsPoint ( QgsWkbTypes::PointZM, 1 , 2 , 4 , 5 ) << QgsPoint ( QgsWkbTypes::PointM, 2 , 3 , 0 , 5 ) );
2587
2623
QCOMPARE ( l8.numPoints (), 2 );
2588
2624
QVERIFY ( l8.is3D () );
2589
2625
QVERIFY ( l8.isMeasure () );
2590
2626
QCOMPARE ( l8.wkbType (), QgsWkbTypes::LineStringZM );
2627
+ l8.points ( pts );
2628
+ QCOMPARE ( pts, QgsPointSequence () << QgsPoint ( QgsWkbTypes::PointZM, 1 , 2 , 4 , 5 ) << QgsPoint ( QgsWkbTypes::PointZM, 2 , 3 , 0 , 5 ) );
2591
2629
2592
2630
// test point
2593
2631
QCOMPARE ( l8.pointN ( 0 ), QgsPoint ( QgsWkbTypes::PointZM, 1 , 2 , 4 , 5 ) );
0 commit comments