From 19c3e2cb18b8321bd064d738aa2548c54c2fb4c1 Mon Sep 17 00:00:00 2001 From: Kelly Steich Date: Wed, 31 Aug 2016 16:35:27 +0200 Subject: [PATCH] survey item coordinate now has altitude formating --- src/MissionManager/SurveyMissionItem.cc | 17 +++++++++++++++-- src/MissionManager/SurveyMissionItem.h | 1 + 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/MissionManager/SurveyMissionItem.cc b/src/MissionManager/SurveyMissionItem.cc index c105e08..8e2e267 100644 --- a/src/MissionManager/SurveyMissionItem.cc +++ b/src/MissionManager/SurveyMissionItem.cc @@ -80,6 +80,7 @@ SurveyMissionItem::SurveyMissionItem(Vehicle* vehicle, QObject* parent) connect(&_gridAngleFact, &Fact::valueChanged, this, &SurveyMissionItem::_generateGrid); connect(&_turnaroundDistFact, &Fact::valueChanged, this, &SurveyMissionItem::_generateGrid); connect(&_cameraTriggerDistanceFact, &Fact::valueChanged, this, &SurveyMissionItem::_generateGrid); + connect(&_gridAltitudeFact, &Fact::valueChanged, this, &SurveyMissionItem::_updateCoordinateAltitude); connect(this, &SurveyMissionItem::cameraTriggerChanged, this, &SurveyMissionItem::_cameraTriggerChanged); } @@ -397,11 +398,23 @@ void SurveyMissionItem::_generateGrid(void) emit lastSequenceNumberChanged(lastSequenceNumber()); if (_gridPoints.count()) { - setCoordinate(_gridPoints.first().value()); - _setExitCoordinate(_gridPoints.last().value()); + QGeoCoordinate coordinate = _gridPoints.first().value(); + coordinate.setAltitude(_gridAltitudeFact.rawValue().toDouble()); + setCoordinate(coordinate); + QGeoCoordinate exitCoordinate = _gridPoints.last().value(); + exitCoordinate.setAltitude(_gridAltitudeFact.rawValue().toDouble()); + _setExitCoordinate(exitCoordinate); } } +void SurveyMissionItem::_updateCoordinateAltitude(void) +{ + _coordinate.setAltitude(_gridAltitudeFact.rawValue().toDouble()); + _exitCoordinate.setAltitude(_gridAltitudeFact.rawValue().toDouble()); + emit coordinateChanged(_coordinate); + emit exitCoordinateChanged(_exitCoordinate); +} + QPointF SurveyMissionItem::_rotatePoint(const QPointF& point, const QPointF& origin, double angle) { QPointF rotated; diff --git a/src/MissionManager/SurveyMissionItem.h b/src/MissionManager/SurveyMissionItem.h index 9dab15b..fb778a6 100644 --- a/src/MissionManager/SurveyMissionItem.h +++ b/src/MissionManager/SurveyMissionItem.h @@ -104,6 +104,7 @@ private: void _setExitCoordinate(const QGeoCoordinate& coordinate); void _clearGrid(void); void _generateGrid(void); + void _updateCoordinateAltitude(void); void _gridGenerator(const QList& polygonPoints, QList& gridPoints); QPointF _rotatePoint(const QPointF& point, const QPointF& origin, double angle); void _intersectLinesWithRect(const QList& lineList, const QRectF& boundRect, QList& resultLines);