diff options
author | Bruno de Oliveira Abinader <bruno@mapbox.com> | 2017-02-28 18:26:19 -0800 |
---|---|---|
committer | Paolo Angelelli <paolo.angelelli@qt.io> | 2017-08-30 13:49:36 +0000 |
commit | 6024168ef21dd4fe6c5ddd7e837d56076e886e01 (patch) | |
tree | 140e9d827a4045382dee6db2412268cc164cdfc5 /src/location/declarativemaps/qdeclarativecirclemapitem_p.h | |
parent | 8dae4824df50dfde8c4910bdf88cde78aeb1ce18 (diff) | |
download | qtlocation-6024168ef21dd4fe6c5ddd7e837d56076e886e01.tar.gz |
Mapbox GL native circle support
Circles crossing one pole are drawn inverted.
Circles crossing 2 poles do not even have the correct geometry.
Nevertheless, a first approximation.
Task-number: QTBUG-58869
Change-Id: I5a508f5d6e27c4f08412a7ae327883866068a1e9
Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
Diffstat (limited to 'src/location/declarativemaps/qdeclarativecirclemapitem_p.h')
-rw-r--r-- | src/location/declarativemaps/qdeclarativecirclemapitem_p.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/location/declarativemaps/qdeclarativecirclemapitem_p.h b/src/location/declarativemaps/qdeclarativecirclemapitem_p.h index 15774427..c117b444 100644 --- a/src/location/declarativemaps/qdeclarativecirclemapitem_p.h +++ b/src/location/declarativemaps/qdeclarativecirclemapitem_p.h @@ -96,6 +96,12 @@ public: const QGeoShape &geoShape() const Q_DECL_OVERRIDE; QGeoMap::ItemType itemType() const Q_DECL_OVERRIDE; + static bool crossEarthPole(const QGeoCoordinate ¢er, qreal distance); + static void calculatePeripheralPoints(QList<QGeoCoordinate> &path, const QGeoCoordinate ¢er, + qreal distance, int steps, QGeoCoordinate &leftBound); + bool preserveCircleGeometry(QList<QDoubleVector2D> &path, const QGeoCoordinate ¢er, + qreal distance); + Q_SIGNALS: void centerChanged(const QGeoCoordinate ¢er); void radiusChanged(qreal radius); @@ -111,8 +117,6 @@ protected Q_SLOTS: private: void updateCirclePath(); - bool preserveCircleGeometry(QList<QDoubleVector2D> &path, const QGeoCoordinate ¢er, - qreal distance); void updateCirclePathForRendering(QList<QDoubleVector2D> &path, const QGeoCoordinate ¢er, qreal distance); |