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
4#ifndef QGEOPATH_H
5#define QGEOPATH_H
6
7#include <QtPositioning/QGeoShape>
8#include <QtCore/QVariantList>
9
10QT_BEGIN_NAMESPACE
11
12class QGeoCoordinate;
13class QGeoPathPrivate;
14
15class Q_POSITIONING_EXPORT QGeoPath : public QGeoShape
16{
17 Q_GADGET
18 Q_PROPERTY(QVariantList path READ variantPath WRITE setVariantPath)
19 Q_PROPERTY(qreal width READ width WRITE setWidth)
20
21public:
22 QGeoPath();
23 QGeoPath(const QList<QGeoCoordinate> &path, const qreal &width = 0.0);
24 QGeoPath(const QGeoPath &other);
25 QGeoPath(const QGeoShape &other);
26
27 ~QGeoPath();
28
29 QGeoPath &operator=(const QGeoPath &other);
30
31 void setPath(const QList<QGeoCoordinate> &path);
32 const QList<QGeoCoordinate> &path() const;
33 void clearPath();
34 void setVariantPath(const QVariantList &path);
35 QVariantList variantPath() const;
36
37 void setWidth(const qreal &width);
38 qreal width() const;
39
40 Q_INVOKABLE void translate(double degreesLatitude, double degreesLongitude);
41 Q_INVOKABLE QGeoPath translated(double degreesLatitude, double degreesLongitude) const;
42 Q_INVOKABLE double length(qsizetype indexFrom = 0, qsizetype indexTo = -1) const;
43 Q_INVOKABLE qsizetype size() const;
44 Q_INVOKABLE void addCoordinate(const QGeoCoordinate &coordinate);
45 Q_INVOKABLE void insertCoordinate(qsizetype index, const QGeoCoordinate &coordinate);
46 Q_INVOKABLE void replaceCoordinate(qsizetype index, const QGeoCoordinate &coordinate);
47 Q_INVOKABLE QGeoCoordinate coordinateAt(qsizetype index) const;
48 Q_INVOKABLE bool containsCoordinate(const QGeoCoordinate &coordinate) const;
49 Q_INVOKABLE void removeCoordinate(const QGeoCoordinate &coordinate);
50 Q_INVOKABLE void removeCoordinate(qsizetype index);
51
52 Q_INVOKABLE QString toString() const;
53
54private:
55 inline QGeoPathPrivate *d_func();
56 inline const QGeoPathPrivate *d_func() const;
57
58#ifndef QT_NO_DATASTREAM
59 friend QDataStream &operator<<(QDataStream &stream, const QGeoPath &path)
60 {
61 return stream << static_cast<const QGeoShape &>(path);
62 }
63 friend QDataStream &operator>>(QDataStream &stream, QGeoPath &path)
64 {
65 return stream >> static_cast<QGeoShape &>(path);
66 }
67#endif
68};
69
70Q_DECLARE_TYPEINFO(QGeoPath, Q_RELOCATABLE_TYPE);
71
72QT_END_NAMESPACE
73
74QT_DECL_METATYPE_EXTERN(QGeoPath, Q_POSITIONING_EXPORT)
75
76#endif // QGEOPATH_H
\inmodule QtPositioning
Definition qgeocircle.h:15
\inmodule QtPositioning
\inmodule QtPositioning
Definition qgeopath.h:16
\inmodule QtPositioning
Definition qgeopolygon.h:16
QT_FORWARD_DECLARE_CLASS(QTextStream)
QTextStream & operator<<(QTextStream &stream, const QGeoCoordinate &crd)
Definition qgeojson.cpp:643
static QString printQvariant(const QVariant v, int tabs=0)
Definition qgeojson.cpp:683
QJsonDocument exportGeoJson(const QVariantList &geoData)
This method exports the QVariantList geoData, expected to be structured like described in the section...
Definition qgeojson.cpp:603
QVariantList importGeoJson(const QJsonDocument &geoJson)
This method imports the geoJson document, expected to contain valid GeoJSON data, into a QVariantList...
Definition qgeojson.cpp:468
QString toString(const QVariantList &geoData)
This method accepts the QVariantList geoData, structured as described in \l {Importing GeoJSON}...
Definition qgeojson.cpp:748
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:272
static QVariantList importMultiPoint(const QVariantMap &inputMap)
Definition qgeojson.cpp:101
static QList< QList< QGeoCoordinate > > importArrayOfArrayOfPositions(const QVariant &arrayOfArrayofPositions)
Definition qgeojson.cpp:58
static QVariantList importMultiPolygon(const QVariantMap &inputMap)
Definition qgeojson.cpp:134
static QJsonObject exportFeature(const QVariantMap &featureMap)
Definition qgeojson.cpp:429
static QVariantMap importGeometry(const QVariantMap &inputMap)
Definition qgeojson.cpp:173
static QJsonObject exportPoint(const QVariantMap &pointMap)
Definition qgeojson.cpp:298
static QGeoPolygon importPolygon(const QVariantMap &inputMap)
Definition qgeojson.cpp:87
static QJsonObject exportFeatureCollection(const QVariantMap &featureCollection)
Definition qgeojson.cpp:443
static QGeoCoordinate importPosition(const QVariant &position)
Definition qgeojson.cpp:27
static QGeoCircle importPoint(const QVariantMap &inputMap)
Definition qgeojson.cpp:67
static QVariantList importMultiLineString(const QVariantMap &inputMap)
Definition qgeojson.cpp:116
static QJsonObject exportMultiPolygon(const QVariantMap &multiPolygonMap)
Definition qgeojson.cpp:363
static QJsonObject exportGeometryCollection(const QVariantMap &geometryCollection)
Definition qgeojson.cpp:391
static QJsonObject exportMultiLineString(const QVariantMap &multiLineStringMap)
Definition qgeojson.cpp:348
static QVariantList importGeometryCollection(const QVariantMap &inputMap)
Definition qgeojson.cpp:160
static QJsonObject exportPolygon(const QVariantMap &polygonMap)
Definition qgeojson.cpp:316
static QJsonValue exportArrayOfArrayOfPositions(const QList< QList< QGeoCoordinate > > &obtainedCoordinates)
Definition qgeojson.cpp:285
static QGeoPath importLineString(const QVariantMap &inputMap)
Definition qgeojson.cpp:77
static QList< QGeoCoordinate > importArrayOfPositions(const QVariant &arrayOfPositions)
Definition qgeojson.cpp:49
static QJsonObject exportLineString(const QVariantMap &lineStringMap)
Definition qgeojson.cpp:307
static QJsonObject exportGeometry(const QVariantMap &geometryMap)
Definition qgeojson.cpp:409
static QJsonValue exportPosition(const QGeoCoordinate &obtainedCoordinates)
Definition qgeojson.cpp:258
static QVariantList importFeatureCollection(const QVariantMap &inputMap)
Definition qgeojson.cpp:240
static QJsonObject exportMultiPoint(const QVariantMap &multiPointMap)
Definition qgeojson.cpp:334
QList< QVariant > QVariantList
Definition qjsonarray.h:15