refs #837 ICoordinateGeodetic::geodeticHeight is a CAltitude.

This commit is contained in:
Mathew Sutcliffe
2016-12-15 02:29:59 +00:00
parent 544a1cca45
commit 6c36cd202b
23 changed files with 50 additions and 39 deletions

View File

@@ -66,7 +66,7 @@ namespace BlackMisc
const BlackMisc::PhysicalQuantities::CAngle &pitch = {},
const BlackMisc::PhysicalQuantities::CAngle &bank = {},
const BlackMisc::PhysicalQuantities::CSpeed &gs = {},
const BlackMisc::Aviation::CAltitude &groundElevation = { { 0, nullptr }, BlackMisc::Aviation::CAltitude::MeanSeaLevel });
const BlackMisc::Aviation::CAltitude &groundElevation = { 0, nullptr });
//! Comprehensive constructor
CAircraftSituation(const BlackMisc::Aviation::CCallsign &correspondingCallsign,
@@ -75,7 +75,7 @@ namespace BlackMisc
const BlackMisc::PhysicalQuantities::CAngle &pitch = {},
const BlackMisc::PhysicalQuantities::CAngle &bank = {},
const BlackMisc::PhysicalQuantities::CSpeed &gs = {},
const BlackMisc::Aviation::CAltitude &groundElevation = { { 0, nullptr }, BlackMisc::Aviation::CAltitude::MeanSeaLevel });
const BlackMisc::Aviation::CAltitude &groundElevation = { 0, nullptr });
//! \copydoc BlackMisc::Mixin::Index::propertyByIndex
CVariant propertyByIndex(const BlackMisc::CPropertyIndex &index) const;

View File

@@ -61,7 +61,7 @@ namespace BlackMisc
{
CAirport airport(json.value(prefix + "icao").toString());
airport.setDescriptiveName(json.value(prefix + "name").toString());
airport.setElevation(CLength(json.value(prefix + "altitude").toInt(), CLengthUnit::ft()));
airport.setElevation(CAltitude(json.value(prefix + "altitude").toInt(), CLengthUnit::ft()));
const CCoordinateGeodetic pos(json.value(prefix + "latitude").toDouble(), json.value(prefix + "longitude").toDouble(), 0);
airport.setPosition(pos);
airport.setOperating(json.value(prefix + "operating").toString() == QStringLiteral("Y"));

View File

@@ -93,11 +93,11 @@ namespace BlackMisc
//! Elevation
//! \sa geodeticHeight
const BlackMisc::PhysicalQuantities::CLength getElevation() const { return this->geodeticHeight(); }
const BlackMisc::Aviation::CAltitude &getElevation() const { return this->geodeticHeight(); }
//! Elevation
//! \sa setGeodeticHeight
void setElevation(const BlackMisc::PhysicalQuantities::CLength &elevation) { return this->m_position.setGeodeticHeight(elevation); }
void setElevation(const BlackMisc::Aviation::CAltitude &elevation) { return this->m_position.setGeodeticHeight(elevation); }
//! Is the airport still active?
bool isOperating() const { return m_operating; }
@@ -109,8 +109,7 @@ namespace BlackMisc
void updateMissingParts(const CAirport &airport);
//! \copydoc Geo::ICoordinateGeodetic::geodeticHeight
//! \remarks this should be used for elevation as depicted here: http://en.wikipedia.org/wiki/Altitude#mediaviewer/File:Vertical_distances.svg
const BlackMisc::PhysicalQuantities::CLength &geodeticHeight() const override { return this->m_position.geodeticHeight(); }
const BlackMisc::Aviation::CAltitude &geodeticHeight() const override { return this->m_position.geodeticHeight(); }
//! Valid ICAO code
bool hasValidIcaoCode() const { return !this->getIcao().isEmpty(); }

View File

@@ -79,6 +79,9 @@ namespace BlackMisc
//! Constructor
CAltitude(double value, ReferenceDatum datum, const BlackMisc::PhysicalQuantities::CLengthUnit &unit) : CLength(value, unit), m_datum(datum) {}
//! Constructor
CAltitude(double value, const BlackMisc::PhysicalQuantities::CLengthUnit &unit) : CLength(value, unit), m_datum(MeanSeaLevel) {}
//! Altitude as string
CAltitude(const QString &altitudeAsString, BlackMisc::PhysicalQuantities::CPqString::SeparatorMode mode = BlackMisc::PhysicalQuantities::CPqString::SeparatorsLocale);

View File

@@ -340,7 +340,7 @@ namespace BlackMisc
return this->getPosition().longitude();
}
const CLength &CAtcStation::geodeticHeight() const
const CAltitude &CAtcStation::geodeticHeight() const
{
return this->m_position.geodeticHeight();
}

View File

@@ -236,8 +236,7 @@ namespace BlackMisc
virtual BlackMisc::Geo::CLongitude longitude() const override;
//! \copydoc Geo::ICoordinateGeodetic::geodeticHeight
//! \remarks this should be used for elevation as depicted here: http://en.wikipedia.org/wiki/Altitude#mediaviewer/File:Vertical_distances.svg
const BlackMisc::PhysicalQuantities::CLength &geodeticHeight() const override;
const BlackMisc::Aviation::CAltitude &geodeticHeight() const override;
//! \copydoc Geo::ICoordinateGeodetic::normalVector
virtual QVector3D normalVector() const override;