@@ -282,65 +282,62 @@ void QgsHighlight::paint( QPainter* p )
282
282
p->setPen ( mPen );
283
283
p->setBrush ( mBrush );
284
284
285
- switch ( mGeometry ->wkbType () )
285
+ switch ( mGeometry ->type () )
286
286
{
287
- case QgsWkbTypes::Point:
288
- case QgsWkbTypes::Point25D:
287
+ case QgsWkbTypes::PointGeometry:
289
288
{
290
- paintPoint ( p, mGeometry ->asPoint () );
291
- }
292
- break ;
293
-
294
- case QgsWkbTypes::MultiPoint:
295
- case QgsWkbTypes::MultiPoint25D:
296
- {
297
- QgsMultiPoint m = mGeometry ->asMultiPoint ();
298
- for ( int i = 0 ; i < m.size (); i++ )
289
+ if ( !mGeometry ->isMultipart () )
299
290
{
300
- paintPoint ( p, m[i] );
291
+ paintPoint ( p, mGeometry ->asPoint () );
292
+ }
293
+ else
294
+ {
295
+ QgsMultiPoint m = mGeometry ->asMultiPoint ();
296
+ for ( int i = 0 ; i < m.size (); i++ )
297
+ {
298
+ paintPoint ( p, m[i] );
299
+ }
301
300
}
302
301
}
303
302
break ;
304
303
305
- case QgsWkbTypes::LineString:
306
- case QgsWkbTypes::LineString25D:
307
- {
308
- paintLine ( p, mGeometry ->asPolyline () );
309
- }
310
- break ;
311
-
312
- case QgsWkbTypes::MultiLineString:
313
- case QgsWkbTypes::MultiLineString25D:
304
+ case QgsWkbTypes::LineGeometry:
314
305
{
315
- QgsMultiPolyline m = mGeometry ->asMultiPolyline ();
316
-
317
- for ( int i = 0 ; i < m.size (); i++ )
306
+ if ( !mGeometry ->isMultipart () )
318
307
{
319
- paintLine ( p, m[i] );
308
+ paintLine ( p, mGeometry -> asPolyline () );
320
309
}
321
- }
322
- break ;
310
+ else
311
+ {
312
+ QgsMultiPolyline m = mGeometry ->asMultiPolyline ();
323
313
324
- case QgsWkbTypes::Polygon:
325
- case QgsWkbTypes::Polygon25D:
326
- {
327
- paintPolygon ( p, mGeometry ->asPolygon () );
314
+ for ( int i = 0 ; i < m.size (); i++ )
315
+ {
316
+ paintLine ( p, m[i] );
317
+ }
318
+ }
319
+ break ;
328
320
}
329
- break ;
330
321
331
- case QgsWkbTypes::MultiPolygon:
332
- case QgsWkbTypes::MultiPolygon25D:
322
+ case QgsWkbTypes::PolygonGeometry:
333
323
{
334
- QgsMultiPolygon m = mGeometry ->asMultiPolygon ();
335
- for ( int i = 0 ; i < m.size (); i++ )
324
+ if ( !mGeometry ->isMultipart () )
325
+ {
326
+ paintPolygon ( p, mGeometry ->asPolygon () );
327
+ }
328
+ else
336
329
{
337
- paintPolygon ( p, m[i] );
330
+ QgsMultiPolygon m = mGeometry ->asMultiPolygon ();
331
+ for ( int i = 0 ; i < m.size (); i++ )
332
+ {
333
+ paintPolygon ( p, m[i] );
334
+ }
338
335
}
336
+ break ;
339
337
}
340
- break ;
341
338
342
- case QgsWkbTypes::Unknown :
343
- default :
339
+ case QgsWkbTypes::UnknownGeometry :
340
+ case QgsWkbTypes::NullGeometry :
344
341
return ;
345
342
}
346
343
}
1 commit comments
nyalldawson commentedon Oct 3, 2016
@elpaso Can you take at look at the random test failure here - https://dash.orfeo-toolbox.org/testDetails.php?test=47162161&build=247256 ? Consider PyQgsServerWFST on notice ;)