When you don't need to scale the vehicles according to the scales I would go with symbols instead of shapes. QPainterPath can be use for both, but the advantage of QwtSymbols implements a pixmap cache, what might be of importance for the performance when having 1000 of them ( at least on graphic stacks running the raster paint engine ).
Next you have to decide:
- QwtPlotCurve
- QwtPlotMarker
- a customized plot item displaying 3D points ( like QwtPlotSpectroCurve ) - the z value would be for the vehicle type.
When having a limited number of vehicle categories ( trucks, small car, big car ... ) you could implement it using one curve for each category. In terms of rendering performance this will be the most performant implementation, but might be a problem, when you need to implement operations on individual element ( f.e drag&drop or controlling an specific stacking order ). When using markers you will have 1000 plot items, what means some overhead, when the plot framework iterates over all items ( f.e. finding the combined bounding rectangle for autoscaling ).
Uwe
Bookmarks