diff options
author | Harald Meyer <dev@meh.at> | 2015-12-19 09:26:49 +0100 |
---|---|---|
committer | Harald Meyer <dev@meh.at> | 2016-01-01 11:39:02 +0000 |
commit | 9520c488b0a496baccf8d7037f949b8a5708a490 (patch) | |
tree | 1dd662becfec358836c61c1c42daea12d3ac3127 /src/imports/location/qdeclarativepolylinemapitem.cpp | |
parent | 270b1edc441564b49084d467c7318294b8823fdc (diff) | |
download | qtlocation-9520c488b0a496baccf8d7037f949b8a5708a490.tar.gz |
MapPolyline performance improvements
Instead of copying the polyline geometry container object
each loop twice in the contains() method the change copies the
geometry only once (implicit sharing limits the copying to the
container itself).
Change-Id: Iee80fa6d49b7e81dea0364b6f9f28a3d2e608d22
Task-number: QTBUG-50060
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Diffstat (limited to 'src/imports/location/qdeclarativepolylinemapitem.cpp')
-rw-r--r-- | src/imports/location/qdeclarativepolylinemapitem.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/imports/location/qdeclarativepolylinemapitem.cpp b/src/imports/location/qdeclarativepolylinemapitem.cpp index 0708fe2d..280cbdbe 100644 --- a/src/imports/location/qdeclarativepolylinemapitem.cpp +++ b/src/imports/location/qdeclarativepolylinemapitem.cpp @@ -843,9 +843,10 @@ QSGNode *QDeclarativePolylineMapItem::updateMapItemPaintNode(QSGNode *oldNode, U bool QDeclarativePolylineMapItem::contains(const QPointF &point) const { + QVector<QPointF> vertices = geometry_.vertices(); QPolygonF tri; - for (int i = 0; i < geometry_.vertices().size(); ++i) { - tri << geometry_.vertices()[i]; + for (int i = 0; i < vertices.size(); ++i) { + tri << vertices[i]; if (tri.size() == 3) { if (tri.containsPoint(point,Qt::OddEvenFill)) return true; |