mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-23 13:55:36 +08:00
refs #863 Fixed a bug where a plane would only start rendering when it first starts moving.
This commit is contained in:
@@ -110,6 +110,8 @@ namespace BlackMisc
|
|||||||
status.setChangedPosition(true);
|
status.setChangedPosition(true);
|
||||||
}
|
}
|
||||||
status.setInterpolationSucceeded(true);
|
status.setInterpolationSucceeded(true);
|
||||||
|
m_isFirstInterpolation = false;
|
||||||
|
|
||||||
if (m_logger && hints.isLoggingInterpolation())
|
if (m_logger && hints.isLoggingInterpolation())
|
||||||
{
|
{
|
||||||
log.timestamp = currentTimeMsSinceEpoc;
|
log.timestamp = currentTimeMsSinceEpoc;
|
||||||
|
|||||||
@@ -74,6 +74,7 @@ namespace BlackMisc
|
|||||||
BlackMisc::Aviation::CAircraftSituationList m_aircraftSituations; //!< recent situations
|
BlackMisc::Aviation::CAircraftSituationList m_aircraftSituations; //!< recent situations
|
||||||
BlackMisc::Aviation::CAircraftPartsList m_aircraftParts; //!< recent parts
|
BlackMisc::Aviation::CAircraftPartsList m_aircraftParts; //!< recent parts
|
||||||
BlackMisc::Aviation::CCallsign m_callsign; //!< callsign
|
BlackMisc::Aviation::CCallsign m_callsign; //!< callsign
|
||||||
|
bool m_isFirstInterpolation = true; //!< set to false after the first successful interpolation
|
||||||
|
|
||||||
//! Constructor
|
//! Constructor
|
||||||
CInterpolator(const QString &objectName, const BlackMisc::Aviation::CCallsign &callsign, QObject *parent);
|
CInterpolator(const QString &objectName, const BlackMisc::Aviation::CCallsign &callsign, QObject *parent);
|
||||||
|
|||||||
@@ -114,7 +114,7 @@ namespace BlackMisc
|
|||||||
currentSituation.setTimeOffsetMs(oldSituation.getTimeOffsetMs() + (newSituation.getTimeOffsetMs() - oldSituation.getTimeOffsetMs()) * simulationTimeFraction);
|
currentSituation.setTimeOffsetMs(oldSituation.getTimeOffsetMs() + (newSituation.getTimeOffsetMs() - oldSituation.getTimeOffsetMs()) * simulationTimeFraction);
|
||||||
currentSituation.setMSecsSinceEpoch(oldSituation.getMSecsSinceEpoch() + deltaTimeFractionMs);
|
currentSituation.setMSecsSinceEpoch(oldSituation.getMSecsSinceEpoch() + deltaTimeFractionMs);
|
||||||
|
|
||||||
status.setChangedPosition(oldSituation.getPosition() != newSituation.getPosition() || oldSituation.getAltitude() != newSituation.getAltitude());
|
status.setChangedPosition(m_isFirstInterpolation || oldSituation.getPosition() != newSituation.getPosition() || oldSituation.getAltitude() != newSituation.getAltitude());
|
||||||
status.setInterpolationSucceeded(true);
|
status.setInterpolationSucceeded(true);
|
||||||
|
|
||||||
log.oldSituation = oldSituation;
|
log.oldSituation = oldSituation;
|
||||||
|
|||||||
Reference in New Issue
Block a user