mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-02 23:25:53 +08:00
Ref T773, added "hasMeanSeaLevelValue" and consistently use it
This commit is contained in:
committed by
Mat Sutcliffe
parent
9f911b7e55
commit
287d96afea
@@ -144,6 +144,9 @@ namespace BlackMisc
|
||||
//! Flightlevel to MSL
|
||||
bool toMeanSeaLevel();
|
||||
|
||||
//! Non-NULL MSL value?
|
||||
bool hasMeanSeaLevelValue() const { return this->isMeanSeaLevel() && !this->isNull(); }
|
||||
|
||||
//! Current altitude type
|
||||
AltitudeType getAltitudeType() const { return m_altitudeType; }
|
||||
|
||||
|
||||
@@ -112,7 +112,7 @@ namespace BlackMisc
|
||||
bool isGeodeticHeightNull() const { return this->geodeticHeight().isNull(); }
|
||||
|
||||
//! Geodetic height not null and Aviation::CAltitude::MeanSeaLevel
|
||||
bool hasMSLGeodeticHeight() const { return !this->geodeticHeight().isNull() && this->geodeticHeight().getReferenceDatum() == Aviation::CAltitude::MeanSeaLevel; }
|
||||
bool hasMSLGeodeticHeight() const { return this->geodeticHeight().hasMeanSeaLevelValue(); }
|
||||
|
||||
//! Is null, means vector x, y, z == 0
|
||||
//! \remark this is a default implementation, concrete implementations of ICoordinateGeodetic might override it
|
||||
|
||||
@@ -7,12 +7,13 @@
|
||||
*/
|
||||
|
||||
#include "simulationenvironmentprovider.h"
|
||||
#include "verify.h"
|
||||
#include <QStringBuilder>
|
||||
|
||||
using namespace BlackMisc::Simulation::Settings;
|
||||
using namespace BlackMisc::Aviation;
|
||||
using namespace BlackMisc::Geo;
|
||||
using namespace BlackMisc::PhysicalQuantities;
|
||||
using namespace BlackMisc::Simulation::Settings;
|
||||
|
||||
namespace BlackMisc
|
||||
{
|
||||
@@ -20,6 +21,12 @@ namespace BlackMisc
|
||||
{
|
||||
bool ISimulationEnvironmentProvider::rememberGroundElevation(const CCallsign &requestedForCallsign, const ICoordinateGeodetic &elevationCoordinate, const CLength &epsilon)
|
||||
{
|
||||
if (!elevationCoordinate.hasMSLGeodeticHeight())
|
||||
{
|
||||
BLACK_AUDIT_X(false, Q_FUNC_INFO, "Elevation needs to be MSL NON NULL");
|
||||
return false;
|
||||
}
|
||||
|
||||
{
|
||||
// no 2nd elevation nearby?
|
||||
QReadLocker l(&m_lockElvCoordinates);
|
||||
|
||||
Reference in New Issue
Block a user