swift
interpolationstatus.cpp
1 // SPDX-FileCopyrightText: Copyright (C) swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
5 
7 
8 using namespace swift::misc::aviation;
9 
10 namespace swift::misc::simulation
11 {
12  void CInterpolationStatus::setExtraInfo(const QString &info) { m_extraInfo = info; }
13 
14  void CInterpolationStatus::setInterpolatedAndCheckSituation(bool succeeded, const CAircraftSituation &situation)
15  {
16  m_isInterpolated = succeeded;
17  this->checkIfValidSituation(situation);
18  }
19 
20  void CInterpolationStatus::checkIfValidSituation(const CAircraftSituation &situation)
21  {
22  m_isValidSituation = !situation.isPositionOrAltitudeNull();
23  if (!m_isValidSituation) { m_isValidSituation = false; }
24  }
25 
26  bool CInterpolationStatus::hasValidInterpolatedSituation() const { return m_isInterpolated && m_isValidSituation; }
27 
28  QString CInterpolationStatus::toQString() const
29  {
30  return QStringLiteral("Interpolated: ") % boolToYesNo(m_isInterpolated) % QStringLiteral(" | situations: ") %
31  QString::number(m_situations) % QStringLiteral(" | situation valid: ") %
32  boolToYesNo(m_isValidSituation) % QStringLiteral(" | same: ") % boolToYesNo(m_isSameSituation) %
33  (m_extraInfo.isEmpty() ? QString() : QStringLiteral(" info: ") % m_extraInfo);
34  }
35 } // namespace swift::misc::simulation
Value object encapsulating information of an aircraft's situation.
bool isPositionOrAltitudeNull() const
Position or altitude null?
SWIFT_MISC_EXPORT const QString & boolToYesNo(bool v)
Bool to yes/no.