refs #806, apply CInterpolationAndRenderingSetup

* removed no longer needed signatures
* some renaming of CInterpolationAndRenderingSetup functions
* adjusted UI element
This commit is contained in:
Klaus Basan
2016-11-15 23:26:18 +01:00
parent 871a1dd321
commit 3903a24696
19 changed files with 159 additions and 418 deletions

View File

@@ -29,6 +29,11 @@ namespace BlackMisc
return m_maxRenderedDistance.isPositiveWithEpsilonConsidered();
}
bool CInterpolationAndRenderingSetup::isRenderingRestricted() const
{
return isRenderingEnabled() && (isMaxAircraftRestricted() || isMaxDistanceRestricted());
}
int CInterpolationAndRenderingSetup::getMaxRenderedAircraft() const
{
return (m_maxRenderedAircraft <= InfiniteAircraft()) ? m_maxRenderedAircraft : InfiniteAircraft();
@@ -40,8 +45,7 @@ namespace BlackMisc
if (maxRenderedAircraft < 1)
{
// disable, we set both values to 0
m_maxRenderedAircraft = 0;
m_maxRenderedDistance = CLength(0.0, CLengthUnit::NM()); // real 0
this->disableRendering();
}
else if (maxRenderedAircraft >= InfiniteAircraft())
{
@@ -65,8 +69,7 @@ namespace BlackMisc
else if (distance.isZeroEpsilonConsidered())
{
// zero means disabled, we disable max aircraft too
this->m_maxRenderedAircraft = 0;
this->m_maxRenderedDistance = CLength(0.0, CLengthUnit::NM()); // real 0
this->disableRendering();
}
else
{
@@ -76,7 +79,7 @@ namespace BlackMisc
return true;
}
void CInterpolationAndRenderingSetup::disableMaxRenderedDistance()
void CInterpolationAndRenderingSetup::clearMaxRenderedDistance()
{
this->setMaxRenderedDistance(CLength(0.0, CLengthUnit::nullUnit()));
}
@@ -86,17 +89,39 @@ namespace BlackMisc
return m_maxRenderedAircraft < InfiniteAircraft();
}
void CInterpolationAndRenderingSetup::deleteAllRenderingRestrictions()
void CInterpolationAndRenderingSetup::clearAllRenderingRestrictions()
{
this->m_maxRenderedDistance = CLength(0, CLengthUnit::nullUnit());
this->m_maxRenderedAircraft = InfiniteAircraft();
}
void CInterpolationAndRenderingSetup::disableRendering()
{
this->m_maxRenderedAircraft = 0;
this->m_maxRenderedDistance = CLength(0, CLengthUnit::NM()); // zero distance
}
bool CInterpolationAndRenderingSetup::isMaxDistanceRestricted() const
{
return !m_maxRenderedDistance.isNull();
}
QString CInterpolationAndRenderingSetup::getRenderRestrictionText() const
{
if (!this->isRenderingRestricted()) { return "none"; }
QString rt;
if (this->isMaxAircraftRestricted())
{
rt.append(QString::number(this->getMaxRenderedAircraft())).append(" A/C");
}
if (this->isMaxDistanceRestricted())
{
if (!rt.isEmpty()) { rt.append(" ");}
rt.append(this->getMaxRenderedDistance().valueRoundedWithUnit(CLengthUnit::NM(), 0));
}
return rt;
}
QString CInterpolationAndRenderingSetup::convertToQString(bool i18n) const
{
Q_UNUSED(i18n);

View File

@@ -71,12 +71,15 @@ namespace BlackMisc
bool setMaxRenderedDistance(const BlackMisc::PhysicalQuantities::CLength &distance);
//! Disable
void disableMaxRenderedDistance();
void clearMaxRenderedDistance();
//! Rendering enabled
//! Rendering enabled (at all)
bool isRenderingEnabled() const;
//! Max. distance for rendering
//! Rendering enabled, but restricted
bool isRenderingRestricted() const;
//! Max.distance for rendering
BlackMisc::PhysicalQuantities::CLength getMaxRenderedDistance() const { return m_maxRenderedDistance; }
//! Restricted by distance?
@@ -85,8 +88,14 @@ namespace BlackMisc
//! Restricted by quantity?
bool isMaxAircraftRestricted() const;
//! Disable all render restrictions
void deleteAllRenderingRestrictions();
//! Remove all render restrictions
void clearAllRenderingRestrictions();
//! Entirely disable rendering
void disableRendering();
//! Text describing the restrictions
QString getRenderRestrictionText() const;
//! \copydoc BlackMisc::Mixin::String::toQString
QString convertToQString(bool i18n = false) const;

View File

@@ -27,7 +27,7 @@ namespace BlackMisc
CAirspaceAircraftSnapshot::CAirspaceAircraftSnapshot(
const CSimulatedAircraftList &allAircraft,
bool restricted, bool renderingEnabled, int maxAircraft,
const CLength &maxRenderedDistance, const CLength &maxRenderedBoundary) :
const CLength &maxRenderedDistance) :
m_timestampMsSinceEpoch(QDateTime::currentMSecsSinceEpoch()),
m_restricted(restricted),
m_renderingEnabled(renderingEnabled),
@@ -69,13 +69,11 @@ namespace BlackMisc
int count = 0; // when max. aircraft reached?
for (const CSimulatedAircraft &currentAircraft : aircraft)
{
CCallsign cs(currentAircraft.getCallsign());
const CCallsign cs(currentAircraft.getCallsign());
if (currentAircraft.isEnabled())
{
CLength distance(currentAircraft.getRelativeDistance());
if (count >= maxAircraft ||
(!maxRenderedDistance.isNull() && distance >= maxRenderedBoundary) ||
(!maxRenderedBoundary.isNull() && distance >= maxRenderedBoundary))
if (count >= maxAircraft || (!maxRenderedDistance.isNull() && distance >= maxRenderedDistance))
{
m_disabledAircraftCallsignsByDistance.push_back(cs);
}

View File

@@ -39,14 +39,11 @@ namespace BlackMisc
CAirspaceAircraftSnapshot();
//! Constructor
CAirspaceAircraftSnapshot(
const BlackMisc::Simulation::CSimulatedAircraftList &allAircraft,
CAirspaceAircraftSnapshot(const BlackMisc::Simulation::CSimulatedAircraftList &allAircraft,
bool restricted = false,
bool renderingEnabled = true,
int maxAircraft = 100,
const BlackMisc::PhysicalQuantities::CLength &maxRenderedDistance = BlackMisc::PhysicalQuantities::CLength(0, BlackMisc::PhysicalQuantities::CLengthUnit::nullUnit()),
const BlackMisc::PhysicalQuantities::CLength &maxRenderedBoundary = BlackMisc::PhysicalQuantities::CLength(0, BlackMisc::PhysicalQuantities::CLengthUnit::nullUnit())
);
const BlackMisc::PhysicalQuantities::CLength &maxRenderedDistance = BlackMisc::PhysicalQuantities::CLength(0, BlackMisc::PhysicalQuantities::CLengthUnit::nullUnit()));
//! Time when snapshot was taken
const QDateTime getTimestamp() const { return QDateTime::fromMSecsSinceEpoch(m_timestampMsSinceEpoch); }