mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-14 08:45:36 +08:00
refs #837 CAircraftSituation altitude is part of its position.
This commit is contained in:
@@ -27,13 +27,13 @@ namespace BlackMisc
|
||||
CAircraftSituation::CAircraftSituation()
|
||||
: m_groundElevation({ 0, nullptr }, CAltitude::MeanSeaLevel) {}
|
||||
|
||||
CAircraftSituation::CAircraftSituation(const CCoordinateGeodetic &position, const CAltitude &altitude, const CHeading &heading, const CAngle &pitch, const CAngle &bank, const CSpeed &gs, const CAltitude &groundElevation)
|
||||
: m_position(position), m_altitude(altitude), m_heading(heading), m_pitch(pitch),
|
||||
CAircraftSituation::CAircraftSituation(const CCoordinateGeodetic &position, const CHeading &heading, const CAngle &pitch, const CAngle &bank, const CSpeed &gs, const CAltitude &groundElevation)
|
||||
: m_position(position), m_heading(heading), m_pitch(pitch),
|
||||
m_bank(bank), m_groundSpeed(gs), m_groundElevation(groundElevation) {}
|
||||
|
||||
CAircraftSituation::CAircraftSituation(const CCallsign &correspondingCallsign, const CCoordinateGeodetic &position, const CAltitude &altitude, const CHeading &heading, const CAngle &pitch, const CAngle &bank, const CSpeed &gs, const CAltitude &groundElevation)
|
||||
CAircraftSituation::CAircraftSituation(const CCallsign &correspondingCallsign, const CCoordinateGeodetic &position, const CHeading &heading, const CAngle &pitch, const CAngle &bank, const CSpeed &gs, const CAltitude &groundElevation)
|
||||
: m_correspondingCallsign(correspondingCallsign),
|
||||
m_position(position), m_altitude(altitude), m_heading(heading), m_pitch(pitch),
|
||||
m_position(position), m_heading(heading), m_pitch(pitch),
|
||||
m_bank(bank), m_groundSpeed(gs), m_groundElevation(groundElevation)
|
||||
{
|
||||
m_correspondingCallsign.setTypeHint(CCallsign::Aircraft);
|
||||
@@ -42,7 +42,6 @@ namespace BlackMisc
|
||||
QString CAircraftSituation::convertToQString(bool i18n) const
|
||||
{
|
||||
QString s(this->m_position.toQString(i18n));
|
||||
s.append(" altitude: ").append(this->m_altitude.toQString(i18n));
|
||||
s.append(" bank: ").append(this->m_bank.toQString(i18n));
|
||||
s.append(" pitch: ").append(this->m_pitch.toQString(i18n));
|
||||
s.append(" gs: ").append(this->m_groundSpeed.toQString(i18n));
|
||||
@@ -74,7 +73,7 @@ namespace BlackMisc
|
||||
case IndexLongitude:
|
||||
return this->longitude().propertyByIndex(index.copyFrontRemoved());
|
||||
case IndexAltitude:
|
||||
return this->m_altitude.propertyByIndex(index.copyFrontRemoved());
|
||||
return this->getAltitude().propertyByIndex(index.copyFrontRemoved());
|
||||
case IndexHeading:
|
||||
return this->m_heading.propertyByIndex(index.copyFrontRemoved());
|
||||
case IndexPitch:
|
||||
@@ -105,9 +104,6 @@ namespace BlackMisc
|
||||
case IndexPosition:
|
||||
this->m_position.setPropertyByIndex(index.copyFrontRemoved(), variant);
|
||||
break;
|
||||
case IndexAltitude:
|
||||
this->m_altitude.setPropertyByIndex(index.copyFrontRemoved(), variant);
|
||||
break;
|
||||
case IndexPitch:
|
||||
this->m_pitch.setPropertyByIndex(index.copyFrontRemoved(), variant);
|
||||
break;
|
||||
@@ -143,7 +139,7 @@ namespace BlackMisc
|
||||
return this->m_position.comparePropertyByIndex(index.copyFrontRemoved(), compareValue.getPosition());
|
||||
break;
|
||||
case IndexAltitude:
|
||||
return this->m_altitude.comparePropertyByIndex(index.copyFrontRemoved(), compareValue.getAltitude());
|
||||
return this->getAltitude().comparePropertyByIndex(index.copyFrontRemoved(), compareValue.getAltitude());
|
||||
break;
|
||||
case IndexPitch:
|
||||
return this->m_pitch.comparePropertyByIndex(index.copyFrontRemoved(), compareValue.getPitch());
|
||||
@@ -185,15 +181,15 @@ namespace BlackMisc
|
||||
|
||||
CLength CAircraftSituation::getHeightAboveGround() const
|
||||
{
|
||||
if (this->m_altitude.getReferenceDatum() == CAltitude::AboveGround)
|
||||
if (this->getAltitude().getReferenceDatum() == CAltitude::AboveGround)
|
||||
{
|
||||
// we have a sure value
|
||||
return this->getAltitude();
|
||||
}
|
||||
const CLength gh(getGroundElevation());
|
||||
if (!gh.isNull() && !m_altitude.isNull())
|
||||
if (!gh.isNull() && !getAltitude().isNull())
|
||||
{
|
||||
return m_altitude - gh;
|
||||
return getAltitude() - gh;
|
||||
}
|
||||
return { 0, nullptr };
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ namespace BlackMisc
|
||||
CAircraftSituation();
|
||||
|
||||
//! Comprehensive constructor
|
||||
CAircraftSituation(const BlackMisc::Geo::CCoordinateGeodetic &position, const BlackMisc::Aviation::CAltitude &altitude,
|
||||
CAircraftSituation(const BlackMisc::Geo::CCoordinateGeodetic &position,
|
||||
const BlackMisc::Aviation::CHeading &heading = {},
|
||||
const BlackMisc::PhysicalQuantities::CAngle &pitch = {},
|
||||
const BlackMisc::PhysicalQuantities::CAngle &bank = {},
|
||||
@@ -70,7 +70,7 @@ namespace BlackMisc
|
||||
|
||||
//! Comprehensive constructor
|
||||
CAircraftSituation(const BlackMisc::Aviation::CCallsign &correspondingCallsign,
|
||||
const BlackMisc::Geo::CCoordinateGeodetic &position, const BlackMisc::Aviation::CAltitude &altitude,
|
||||
const BlackMisc::Geo::CCoordinateGeodetic &position,
|
||||
const BlackMisc::Aviation::CHeading &heading = {},
|
||||
const BlackMisc::PhysicalQuantities::CAngle &pitch = {},
|
||||
const BlackMisc::PhysicalQuantities::CAngle &bank = {},
|
||||
@@ -102,11 +102,7 @@ namespace BlackMisc
|
||||
virtual bool isOnGroundGuessed() const;
|
||||
|
||||
//! \copydoc Geo::ICoordinateGeodetic::geodeticHeight
|
||||
const BlackMisc::PhysicalQuantities::CLength &geodeticHeight() const override
|
||||
{
|
||||
static const BlackMisc::PhysicalQuantities::CLength gh { 0, nullptr };
|
||||
return gh;
|
||||
}
|
||||
const BlackMisc::Aviation::CAltitude &geodeticHeight() const override { return this->m_position.geodeticHeight(); }
|
||||
|
||||
//! \copydoc Geo::ICoordinateGeodetic::normalVector
|
||||
virtual QVector3D normalVector() const override { return this->m_position.normalVector(); }
|
||||
@@ -130,10 +126,10 @@ namespace BlackMisc
|
||||
void setHeading(const BlackMisc::Aviation::CHeading &heading) { this->m_heading = heading; }
|
||||
|
||||
//! Get altitude (true)
|
||||
const BlackMisc::Aviation::CAltitude &getAltitude() const { return this->m_altitude; }
|
||||
const BlackMisc::Aviation::CAltitude &getAltitude() const { return this->m_position.geodeticHeight(); }
|
||||
|
||||
//! Set altitude
|
||||
void setAltitude(const BlackMisc::Aviation::CAltitude &altitude) { this->m_altitude = altitude; }
|
||||
void setAltitude(const BlackMisc::Aviation::CAltitude &altitude) { this->m_position.setGeodeticHeight(altitude); }
|
||||
|
||||
//! Get pitch
|
||||
const BlackMisc::PhysicalQuantities::CAngle &getPitch() const { return this->m_pitch; }
|
||||
@@ -180,7 +176,6 @@ namespace BlackMisc
|
||||
private:
|
||||
CCallsign m_correspondingCallsign;
|
||||
BlackMisc::Geo::CCoordinateGeodetic m_position;
|
||||
BlackMisc::Aviation::CAltitude m_altitude;
|
||||
BlackMisc::Aviation::CHeading m_heading;
|
||||
BlackMisc::PhysicalQuantities::CAngle m_pitch;
|
||||
BlackMisc::PhysicalQuantities::CAngle m_bank;
|
||||
@@ -193,7 +188,6 @@ namespace BlackMisc
|
||||
CAircraftSituation,
|
||||
BLACK_METAMEMBER(correspondingCallsign),
|
||||
BLACK_METAMEMBER(position),
|
||||
BLACK_METAMEMBER(altitude),
|
||||
BLACK_METAMEMBER(heading),
|
||||
BLACK_METAMEMBER(pitch),
|
||||
BLACK_METAMEMBER(bank),
|
||||
|
||||
Reference in New Issue
Block a user