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
qgeopolygon.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 QGEOPOLYGON_H
6#define QGEOPOLYGON_H
7
8#include <QtPositioning/QGeoShape>
9#include <QtCore/QVariantList>
10
11QT_BEGIN_NAMESPACE
12
13class QGeoCoordinate;
14class QGeoPolygonPrivate;
15
16class Q_POSITIONING_EXPORT QGeoPolygon : public QGeoShape
17{
18 Q_GADGET
19 Q_PROPERTY(QList<QGeoCoordinate> perimeter READ perimeter WRITE setPerimeter REVISION(5, 12))
20
21public:
22 QGeoPolygon();
23 QGeoPolygon(const QList<QGeoCoordinate> &path);
24 QGeoPolygon(const QGeoPolygon &other);
25 QGeoPolygon(const QGeoShape &other);
26
27 ~QGeoPolygon();
28
29 QGeoPolygon &operator=(const QGeoPolygon &other);
30
31 void setPerimeter(const QList<QGeoCoordinate> &path);
32 const QList<QGeoCoordinate> &perimeter() const;
33
34 Q_INVOKABLE void addHole(const QVariant &holePath);
35 void addHole(const QList<QGeoCoordinate> &holePath);
36 Q_INVOKABLE const QVariantList hole(qsizetype index) const;
37 const QList<QGeoCoordinate> holePath(qsizetype index) const;
38 Q_INVOKABLE void removeHole(qsizetype index);
39 Q_INVOKABLE qsizetype holesCount() const;
40 Q_INVOKABLE void translate(double degreesLatitude, double degreesLongitude);
41 Q_INVOKABLE QGeoPolygon 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 QGeoPolygonPrivate *d_func();
56 inline const QGeoPolygonPrivate *d_func() const;
57
58#ifndef QT_NO_DATASTREAM
59 friend QDataStream &operator<<(QDataStream &stream, const QGeoPolygon &polygon)
60 {
61 return stream << static_cast<const QGeoShape &>(polygon);
62 }
63 friend QDataStream &operator>>(QDataStream &stream, QGeoPolygon &polygon)
64 {
65 return stream >> static_cast<QGeoShape &>(polygon);
66 }
67#endif
68};
69
70Q_DECLARE_TYPEINFO(QGeoPolygon, Q_RELOCATABLE_TYPE);
71
72QT_END_NAMESPACE
73
74QT_DECL_METATYPE_EXTERN(QGeoPolygon, Q_POSITIONING_EXPORT)
75
76#endif // QGEOPOLYGON_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