Browse Source

Better handling a mission altitude default

* If new Survey is set to altitude fixed value then use mission default
altitude
* If the user applies a new altitude to the entire mission change
surveys to fixed altitude and apply altitude
QGC4.4
DonLakeFlyer 8 years ago
parent
commit
579b7b0707
  1. 8
      src/MissionManager/SurveyMissionItem.cc

8
src/MissionManager/SurveyMissionItem.cc

@ -14,6 +14,8 @@
#include "QGCGeo.h" #include "QGCGeo.h"
#include "QGroundControlQmlGlobal.h" #include "QGroundControlQmlGlobal.h"
#include "QGCQGeoCoordinate.h" #include "QGCQGeoCoordinate.h"
#include "SettingsManager.h"
#include "AppSettings.h"
#include <QPolygonF> #include <QPolygonF>
@ -117,6 +119,11 @@ SurveyMissionItem::SurveyMissionItem(Vehicle* vehicle, QObject* parent)
_turnaroundDistFact.setRawValue(5); _turnaroundDistFact.setRawValue(5);
} }
// We override the grid altitude to the mission default
if (_manualGridFact.rawValue().toBool() || _fixedValueIsAltitudeFact.rawValue().toBool()) {
_gridAltitudeFact.setRawValue(qgcApp()->toolbox()->settingsManager()->appSettings()->defaultMissionItemAltitude()->rawValue());
}
connect(&_gridSpacingFact, &Fact::valueChanged, this, &SurveyMissionItem::_generateGrid); connect(&_gridSpacingFact, &Fact::valueChanged, this, &SurveyMissionItem::_generateGrid);
connect(&_gridAngleFact, &Fact::valueChanged, this, &SurveyMissionItem::_generateGrid); connect(&_gridAngleFact, &Fact::valueChanged, this, &SurveyMissionItem::_generateGrid);
connect(&_gridEntryLocationFact, &Fact::valueChanged, this, &SurveyMissionItem::_generateGrid); connect(&_gridEntryLocationFact, &Fact::valueChanged, this, &SurveyMissionItem::_generateGrid);
@ -1361,6 +1368,7 @@ double SurveyMissionItem::_turnaroundDistance(void) const
void SurveyMissionItem::applyNewAltitude(double newAltitude) void SurveyMissionItem::applyNewAltitude(double newAltitude)
{ {
_fixedValueIsAltitudeFact.setRawValue(true);
_gridAltitudeFact.setRawValue(newAltitude); _gridAltitudeFact.setRawValue(newAltitude);
} }

Loading…
Cancel
Save