@@ -543,6 +543,39 @@ def testMultiSurve(self):
543
543
rendered_image = self .renderGeometry (s , g )
544
544
self .assertTrue (self .imageCheck ('markerline_multisurface' , 'markerline_multisurface' , rendered_image ))
545
545
546
+ def testMultiSurfaceOnePart (self ):
547
+ # test rendering multisurface with one part with markers at vertices and curve points
548
+ s = QgsFillSymbol ()
549
+ s .deleteSymbolLayer (0 )
550
+
551
+ marker_line = QgsMarkerLineSymbolLayer (True )
552
+ marker_line .setPlacement (QgsMarkerLineSymbolLayer .Vertex )
553
+ marker = QgsSimpleMarkerSymbolLayer (QgsSimpleMarkerSymbolLayer .Triangle , 4 )
554
+ marker .setColor (QColor (255 , 0 , 0 ))
555
+ marker .setStrokeStyle (Qt .NoPen )
556
+ marker_symbol = QgsMarkerSymbol ()
557
+ marker_symbol .changeSymbolLayer (0 , marker )
558
+ marker_line .setSubSymbol (marker_symbol )
559
+
560
+ s .appendSymbolLayer (marker_line .clone ())
561
+
562
+ marker_line2 = QgsMarkerLineSymbolLayer (True )
563
+ marker_line2 .setPlacement (QgsMarkerLineSymbolLayer .CurvePoint )
564
+ marker = QgsSimpleMarkerSymbolLayer (QgsSimpleMarkerSymbolLayer .Square , 4 )
565
+ marker .setColor (QColor (0 , 255 , 0 ))
566
+ marker .setStrokeStyle (Qt .NoPen )
567
+ marker_symbol = QgsMarkerSymbol ()
568
+ marker_symbol .changeSymbolLayer (0 , marker )
569
+ marker_line2 .setSubSymbol (marker_symbol )
570
+
571
+ s .appendSymbolLayer (marker_line2 .clone ())
572
+
573
+ # rendering test
574
+ g = QgsGeometry .fromWkt ('MultiSurface (CurvePolygon (CompoundCurve (CircularString (2606664.83926784340292215 1228868.83649749564938247, 2606666.84044930292293429 1228872.22980518848635256, 2606668.05855975672602654 1228875.62311288132332265, 2606674.45363963954150677 1228870.05460794945247471, 2606680.58769585331901908 1228866.00874108518473804, 2606680.7182076876051724 1228865.05165429995395243, 2606679.97864062618464231 1228864.61661485210061073, 2606671.93041084241122007 1228867.87941071065142751, 2606664.83926784340292215 1228868.79299355088733137),(2606664.83926784340292215 1228868.79299355088733137, 2606664.83926784340292215 1228868.83649749564938247))))' )
575
+ self .assertFalse (g .isNull ())
576
+ rendered_image = self .renderGeometry (s , g )
577
+ self .assertTrue (self .imageCheck ('markerline_one_part_multisurface' , 'markerline_one_part_multisurface' , rendered_image ))
578
+
546
579
def testMarkerAverageAngle (self ):
547
580
s = QgsLineSymbol ()
548
581
s .deleteSymbolLayer (0 )
0 commit comments