3#include <QtCore/QLoggingCategory>
4#include <QtCore/QObject>
5#include <QtCore/QTimer>
6#include <QtPositioning/QGeoCoordinate>
7#include <QtQmlIntegration/QtQmlIntegration>
28 FlightPathSegment(SegmentType segmentType,
const QGeoCoordinate& coord1,
double coord1AMSLAlt,
const QGeoCoordinate& coord2,
double coord2AMSLAlt,
bool queryTerrainData, QObject* parent);
30 Q_PROPERTY(QGeoCoordinate coordinate1 MEMBER _coord1 NOTIFY coordinate1Changed)
31 Q_PROPERTY(QGeoCoordinate coordinate2 MEMBER _coord2 NOTIFY coordinate2Changed)
32 Q_PROPERTY(
double coord1AMSLAlt MEMBER _coord1AMSLAlt NOTIFY coord1AMSLAltChanged)
33 Q_PROPERTY(
double coord2AMSLAlt MEMBER _coord2AMSLAlt NOTIFY coord2AMSLAltChanged)
34 Q_PROPERTY(
bool specialVisual READ specialVisual WRITE setSpecialVisual NOTIFY specialVisualChanged)
35 Q_PROPERTY(QVariantList amslTerrainHeights MEMBER _amslTerrainHeights NOTIFY amslTerrainHeightsChanged)
36 Q_PROPERTY(
double distanceBetween MEMBER _distanceBetween NOTIFY distanceBetweenChanged)
37 Q_PROPERTY(
double finalDistanceBetween MEMBER _finalDistanceBetween NOTIFY finalDistanceBetweenChanged)
38 Q_PROPERTY(
double totalDistance MEMBER _totalDistance NOTIFY totalDistanceChanged)
39 Q_PROPERTY(
bool terrainCollision MEMBER _terrainCollision NOTIFY terrainCollisionChanged)
40 Q_PROPERTY(
SegmentType segmentType MEMBER _segmentType CONSTANT)
42 QGeoCoordinate coordinate1 (
void)
const {
return _coord1; }
54 void setSpecialVisual(
bool specialVisual);
57 void setCoordinate1 (
const QGeoCoordinate& coordinate);
58 void setCoordinate2 (
const QGeoCoordinate& coordinate);
59 void setCoord1AMSLAlt (
double alt);
60 void setCoord2AMSLAlt (
double alt);
75 void _sendTerrainPathQuery (
void);
77 void _updateTotalDistance (
void);
78 void _updateTerrainCollision (
void);
81 QGeoCoordinate _coord1;
82 QGeoCoordinate _coord2;
83 double _coord1AMSLAlt = qQNaN();
84 double _coord2AMSLAlt = qQNaN();
85 bool _queryTerrainData;
86 bool _terrainCollision =
false;
87 bool _specialVisual =
false;
88 QTimer _delayedTerrainPathQueryTimer;
90 QVariantList _amslTerrainHeights;
91 double _distanceBetween = 0;
92 double _finalDistanceBetween = 0;
93 double _totalDistance = 0;
96 static constexpr double _collisionIgnoreMeters = 10;
Q_DECLARE_LOGGING_CATEGORY(AndroidSerialLog)
void terrainCollisionChanged(bool terrainCollision)
double distanceBetween(void) const
void totalDistanceChanged(double totalDistance)
void coord2AMSLAltChanged(void)
void finalDistanceBetweenChanged(double finalDistanceBetween)
@ SegmentTypeTerrainFrame
QGeoCoordinate coordinate2(void) const
void coordinate1Changed(QGeoCoordinate coordinate)
SegmentType segmentType(void) const
void coord1AMSLAltChanged(void)
const QVariantList & amslTerrainHeights(void) const
void amslTerrainHeightsChanged(void)
bool specialVisual(void) const
void specialVisualChanged(bool specialVisual)
void coordinate2Changed(QGeoCoordinate coordinate)
double finalDistanceBetween(void) const
void distanceBetweenChanged(double distanceBetween)
bool terrainCollision(void) const
double totalDistance(void) const
double coord2AMSLAlt(void) const
double coord1AMSLAlt(void) const