QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
CityMapGeometry.h
Go to the documentation of this file.
1#pragma once
2
3#include <QtCore/QByteArray>
4#include <QtCore/QString>
5#include <QtQmlIntegration/QtQmlIntegration>
6#include <QtQuick3D/QQuick3DGeometry>
7
8class OsmParser;
9class QVariant;
11
12class CityMapGeometry : public QQuick3DGeometry
13{
14 Q_OBJECT
15 QML_ELEMENT
16 Q_MOC_INCLUDE("Viewer3DMapProvider.h")
17
18 friend class CityMapGeometryTest;
19
20 Q_PROPERTY(QString modelName READ modelName WRITE setModelName NOTIFY modelNameChanged)
22
23public:
25
26 QString modelName() const { return _modelName; }
27 void setModelName(const QString &modelName);
28
29 QString osmFilePath() const { return _osmFilePath; }
30
31 Viewer3DMapProvider *mapProvider() const { return _mapProvider; }
32 void setMapProvider(Viewer3DMapProvider *newMapProvider);
33
34signals:
38
39private:
40 void _setOsmFilePath(const QVariant &value);
41 void _updateViewer();
42 void _clearViewer();
43 bool _loadOsmMap();
44
45 Viewer3DMapProvider *_mapProvider = nullptr;
46 OsmParser *_osmParser = nullptr;
47
48 QString _modelName;
49 QString _osmFilePath;
50 QByteArray _vertexData;
51};
void osmFilePathChanged()
friend class CityMapGeometryTest
Viewer3DMapProvider * mapProvider() const
QString modelName() const
void mapProviderChanged()
void setMapProvider(Viewer3DMapProvider *newMapProvider)
void modelNameChanged()
QString osmFilePath() const
void setModelName(const QString &modelName)