QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
Viewer3DManager.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <QtCore/QObject>
4
#include <QtPositioning/QGeoCoordinate>
5
#include <QtQmlIntegration/QtQmlIntegration>
6
7
class
QVariant;
8
class
Vehicle
;
9
class
Viewer3DMapProvider
;
10
11
class
Viewer3DManager
:
public
QObject
12
{
13
Q_OBJECT
14
QML_NAMED_ELEMENT(QGCViewer3DManager)
15
QML_SINGLETON
16
Q_MOC_INCLUDE(
"Viewer3DMapProvider.h"
)
17
18
Q_PROPERTY(
Viewer3DMapProvider
*
mapProvider
READ
mapProvider
CONSTANT)
19
Q_PROPERTY(QGeoCoordinate
gpsRef
READ
gpsRef
NOTIFY
gpsRefChanged
)
20
Q_PROPERTY(
DisplayMode
displayMode
READ
displayMode
NOTIFY
displayModeChanged
)
21
22
public
:
23
enum
DisplayMode
{
24
Map
,
25
View3D
,
26
};
27
Q_ENUM(
DisplayMode
)
28
29
explicit
Viewer3DManager
(QObject *parent =
nullptr
);
30
31
Viewer3DMapProvider
*
mapProvider
()
const
{
return
_mapProvider; }
32
QGeoCoordinate
gpsRef
()
const
{
return
_gpsRef; }
33
DisplayMode
displayMode
()
const
{
return
_displayMode; }
34
35
Q_INVOKABLE
void
setDisplayMode
(
DisplayMode
mode);
36
37
signals:
38
void
gpsRefChanged
();
39
void
displayModeChanged
();
40
41
private
:
42
enum class
GpsRefSource {
43
None,
44
Map
,
45
Vehicle
,
46
};
47
48
void
_onGpsRefChanged(
const
QGeoCoordinate &newGpsRef,
bool
isRefSet);
49
void
_onActiveVehicleChanged(
Vehicle
*vehicle);
50
void
_onActiveVehicleCoordinateChanged(
const
QGeoCoordinate &newCoordinate);
51
void
_onEnabledChanged(
const
QVariant &value);
52
53
Viewer3DMapProvider
*_mapProvider =
nullptr
;
54
Vehicle
*_activeVehicle =
nullptr
;
55
56
QGeoCoordinate _gpsRef;
57
GpsRefSource _gpsRefSource = GpsRefSource::None;
58
DisplayMode
_displayMode =
DisplayMode::Map
;
59
};
Vehicle
Definition
Vehicle.h:86
Viewer3DManager
Definition
Viewer3DManager.h:12
Viewer3DManager::displayMode
DisplayMode displayMode() const
Definition
Viewer3DManager.h:33
Viewer3DManager::gpsRefChanged
void gpsRefChanged()
Viewer3DManager::displayModeChanged
void displayModeChanged()
Viewer3DManager::mapProvider
Viewer3DMapProvider * mapProvider() const
Definition
Viewer3DManager.h:31
Viewer3DManager::setDisplayMode
Q_INVOKABLE void setDisplayMode(DisplayMode mode)
Definition
Viewer3DManager.cc:27
Viewer3DManager::gpsRef
QGeoCoordinate gpsRef() const
Definition
Viewer3DManager.h:32
Viewer3DManager::DisplayMode
DisplayMode
Definition
Viewer3DManager.h:23
Viewer3DManager::View3D
@ View3D
Definition
Viewer3DManager.h:25
Viewer3DManager::Map
@ Map
Definition
Viewer3DManager.h:24
Viewer3DMapProvider
Definition
Viewer3DMapProvider.h:10
src
Viewer3D
Viewer3DManager.h
Generated by
1.9.8