Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qgeopath.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
5#ifndef QGEOPATH_H
6#define QGEOPATH_H
7
8#include <QtPositioning/QGeoShape>
9#include <QtCore/QVariantList>
10
11QT_BEGIN_NAMESPACE
12
13class QGeoCoordinate;
14class QGeoPathPrivate;
15
16class Q_POSITIONING_EXPORT QGeoPath : public QGeoShape
17{
18 Q_GADGET
19 Q_PROPERTY(QVariantList path READ variantPath WRITE setVariantPath)
20 Q_PROPERTY(qreal width READ width WRITE setWidth)
21
22public:
23 QGeoPath();
24 QGeoPath(const QList<QGeoCoordinate> &path, const qreal &width = 0.0);
25 QGeoPath(const QGeoPath &other);
26 QGeoPath(const QGeoShape &other);
27
28 ~QGeoPath();
29
30 QGeoPath &operator=(const QGeoPath &other);
31
32 void setPath(const QList<QGeoCoordinate> &path);
33 const QList<QGeoCoordinate> &path() const;
34 void clearPath();
35 void setVariantPath(const QVariantList &path);
36 QVariantList variantPath() const;
37
38 void setWidth(const qreal &width);
39 qreal width() const;
40
41 Q_INVOKABLE void translate(double degreesLatitude, double degreesLongitude);
42 Q_INVOKABLE QGeoPath translated(double degreesLatitude, double degreesLongitude) const;
43 Q_INVOKABLE double length(qsizetype indexFrom = 0, qsizetype indexTo = -1) const;
44 Q_INVOKABLE qsizetype size() const;
45 Q_INVOKABLE void addCoordinate(const QGeoCoordinate &coordinate);
46 Q_INVOKABLE void insertCoordinate(qsizetype index, const QGeoCoordinate &coordinate);
47 Q_INVOKABLE void replaceCoordinate(qsizetype index, const QGeoCoordinate &coordinate);
48 Q_INVOKABLE QGeoCoordinate coordinateAt(qsizetype index) const;
49 Q_INVOKABLE bool containsCoordinate(const QGeoCoordinate &coordinate) const;
50 Q_INVOKABLE void removeCoordinate(const QGeoCoordinate &coordinate);
51 Q_INVOKABLE void removeCoordinate(qsizetype index);
52
53 Q_INVOKABLE QString toString() const;
54
55private:
56 inline QGeoPathPrivate *d_func();
57 inline const QGeoPathPrivate *d_func() const;
58
59#ifndef QT_NO_DATASTREAM
60 friend QDataStream &operator<<(QDataStream &stream, const QGeoPath &path)
61 {
62 return stream << static_cast<const QGeoShape &>(path);
63 }
64 friend QDataStream &operator>>(QDataStream &stream, QGeoPath &path)
65 {
66 return stream >> static_cast<QGeoShape &>(path);
67 }
68#endif
69};
70
71Q_DECLARE_TYPEINFO(QGeoPath, Q_RELOCATABLE_TYPE);
72
73QT_END_NAMESPACE
74
75QT_DECL_METATYPE_EXTERN(QGeoPath, Q_POSITIONING_EXPORT)
76
77#endif // QGEOPATH_H
\inmodule QtPositioning
Definition qgeocircle.h:16
\inmodule QtPositioning
\inmodule QtPositioning
Definition qgeopath.h:17
\inmodule QtPositioning
Definition qgeopolygon.h:17
QT_FORWARD_DECLARE_CLASS(QTextStream)
QTextStream & operator<<(QTextStream &stream, const QGeoCoordinate &crd)
Definition qgeojson.cpp:644
static QString printQvariant(const QVariant v, int tabs=0)
Definition qgeojson.cpp:684
QJsonDocument exportGeoJson(const QVariantList &geoData)
This method exports the QVariantList geoData, expected to be structured like described in the section...
Definition qgeojson.cpp:604
QVariantList importGeoJson(const QJsonDocument &geoJson)
This method imports the geoJson document, expected to contain valid GeoJSON data, into a QVariantList...
Definition qgeojson.cpp:469
QString toString(const QVariantList &geoData)
This method accepts the QVariantList geoData, structured as described in \l {Importing GeoJSON}...
Definition qgeojson.cpp:749
Combined button and popup list for selecting options.
Q_DECLARE_TYPEINFO(QByteArrayView, Q_PRIMITIVE_TYPE)
static QJsonValue exportArrayOfPositions(const QList< QGeoCoordinate > &obtainedCoordinatesList)
Definition qgeojson.cpp:273
static QVariantList importMultiPoint(const QVariantMap &inputMap)
Definition qgeojson.cpp:102
static QList< QList< QGeoCoordinate > > importArrayOfArrayOfPositions(const QVariant &arrayOfArrayofPositions)
Definition qgeojson.cpp:59
static QVariantList importMultiPolygon(const QVariantMap &inputMap)
Definition qgeojson.cpp:135
static QJsonObject exportFeature(const QVariantMap &featureMap)
Definition qgeojson.cpp:430
static QVariantMap importGeometry(const QVariantMap &inputMap)
Definition qgeojson.cpp:174
static QJsonObject exportPoint(const QVariantMap &pointMap)
Definition qgeojson.cpp:299
static QGeoPolygon importPolygon(const QVariantMap &inputMap)
Definition qgeojson.cpp:88
static QJsonObject exportFeatureCollection(const QVariantMap &featureCollection)
Definition qgeojson.cpp:444
static QGeoCoordinate importPosition(const QVariant &position)
Definition qgeojson.cpp:28
static QGeoCircle importPoint(const QVariantMap &inputMap)
Definition qgeojson.cpp:68
static QVariantList importMultiLineString(const QVariantMap &inputMap)
Definition qgeojson.cpp:117
static QJsonObject exportMultiPolygon(const QVariantMap &multiPolygonMap)
Definition qgeojson.cpp:364
static QJsonObject exportGeometryCollection(const QVariantMap &geometryCollection)
Definition qgeojson.cpp:392
static QJsonObject exportMultiLineString(const QVariantMap &multiLineStringMap)
Definition qgeojson.cpp:349
static QVariantList importGeometryCollection(const QVariantMap &inputMap)
Definition qgeojson.cpp:161
static QJsonObject exportPolygon(const QVariantMap &polygonMap)
Definition qgeojson.cpp:317
static QJsonValue exportArrayOfArrayOfPositions(const QList< QList< QGeoCoordinate > > &obtainedCoordinates)
Definition qgeojson.cpp:286
static QGeoPath importLineString(const QVariantMap &inputMap)
Definition qgeojson.cpp:78
static QList< QGeoCoordinate > importArrayOfPositions(const QVariant &arrayOfPositions)
Definition qgeojson.cpp:50
static QJsonObject exportLineString(const QVariantMap &lineStringMap)
Definition qgeojson.cpp:308
static QJsonObject exportGeometry(const QVariantMap &geometryMap)
Definition qgeojson.cpp:410
static QJsonValue exportPosition(const QGeoCoordinate &obtainedCoordinates)
Definition qgeojson.cpp:259
static QVariantList importFeatureCollection(const QVariantMap &inputMap)
Definition qgeojson.cpp:241
static QJsonObject exportMultiPoint(const QVariantMap &multiPointMap)
Definition qgeojson.cpp:335
QList< QVariant > QVariantList
Definition qjsonarray.h:16