Issue #94 Add new class CAircraftVelocity as member of CAircraftSituation

This commit is contained in:
Mat Sutcliffe
2021-10-11 18:15:26 +01:00
parent 8dc206d62b
commit 0faa7ed8fc
10 changed files with 232 additions and 2 deletions

View File

@@ -94,7 +94,13 @@ namespace BlackMisc::Simulation
void CSimulatedAircraft::setSituation(const CAircraftSituation &situation)
{
CAircraftVelocity velocity = m_situation.getVelocity();
m_situation = situation;
if (m_situation.getVelocity() == CAircraftVelocity{})
{
m_situation.setVelocity(velocity);
}
m_situation.setCallsign(this->getCallsign());
this->setSupportingGndFlag(situation.hasInboundGroundDetails());
}

View File

@@ -112,9 +112,15 @@ namespace BlackMisc
//! Get situation.
const Aviation::CAircraftSituation &getSituation() const { return m_situation; }
//! Set situation.
//! Set situation. Won't overwrite the velocity unless it held the default value.
void setSituation(const Aviation::CAircraftSituation &situation);
//! Get 6DOF velocity.
const Aviation::CAircraftVelocity &getVelocity() const { return m_situation.getVelocity(); }
//! Set 6DOF velocity.
void setVelocity(const Aviation::CAircraftVelocity &velocity) { m_situation.setVelocity(velocity); }
//! Get user
const Network::CUser &getPilot() const { return m_pilot; }