From c39d4f66a386da209abde0dad4c9e9116ecbdcae Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Sun, 21 Jan 2018 01:04:46 +0100 Subject: [PATCH] Setting parent object for timers and formatting --- src/blackcore/vatsim/networkvatlib.h | 8 ++-- src/blackgui/showhidebar.h | 4 +- src/blackmisc/aviation/aircraftsituation.cpp | 9 ++-- src/blackmisc/geo/elevationplane.cpp | 14 +++--- src/blackmisc/simulation/interpolationhints.h | 47 ++++++++++--------- src/blackmisc/simulation/interpolator.h | 2 +- 6 files changed, 41 insertions(+), 43 deletions(-) diff --git a/src/blackcore/vatsim/networkvatlib.h b/src/blackcore/vatsim/networkvatlib.h index 69dcb7202..634fea3f3 100644 --- a/src/blackcore/vatsim/networkvatlib.h +++ b/src/blackcore/vatsim/networkvatlib.h @@ -242,10 +242,10 @@ namespace BlackCore BlackMisc::CDigestSignal m_dsSendTextMessage { this, &CNetworkVatlib::emitConsolidatedTextMessages, 500, 10 }; BlackMisc::Network::CTextMessageList m_textMessagesToConsolidate; - QTimer m_scheduledConfigUpdate; - QTimer m_processingTimer; - QTimer m_positionUpdateTimer; - QTimer m_interimPositionUpdateTimer; + QTimer m_scheduledConfigUpdate { this }; + QTimer m_processingTimer { this }; + QTimer m_positionUpdateTimer { this }; + QTimer m_interimPositionUpdateTimer { this }; static int const c_processingIntervalMsec = 100; //!< interval for the processing timer static int const c_updatePostionIntervalMsec = 5000; //!< interval for the position update timer (send our position to network) diff --git a/src/blackgui/showhidebar.h b/src/blackgui/showhidebar.h index b10c61dbc..9821b50c8 100644 --- a/src/blackgui/showhidebar.h +++ b/src/blackgui/showhidebar.h @@ -13,7 +13,6 @@ #define BLACKGUI_SHOWHIDEBAR_H #include "blackgui/blackguiexport.h" - #include #include #include @@ -21,7 +20,6 @@ class QWidget; namespace Ui { class CShowHideBar; } - namespace BlackGui { //! Show or hide (expand / collapse) another section @@ -34,7 +32,7 @@ namespace BlackGui explicit CShowHideBar(QWidget *parent = nullptr); //! Destructor - ~CShowHideBar(); + virtual ~CShowHideBar(); //! Is shown? bool isShown() const; diff --git a/src/blackmisc/aviation/aircraftsituation.cpp b/src/blackmisc/aviation/aircraftsituation.cpp index d5338a033..e87abaea0 100644 --- a/src/blackmisc/aviation/aircraftsituation.cpp +++ b/src/blackmisc/aviation/aircraftsituation.cpp @@ -67,16 +67,15 @@ namespace BlackMisc case CAircraftSituation::NotOnGround: return notog; case CAircraftSituation::OnGround: return og; case CAircraftSituation::OnGroundSituationUnknown: - default: - return unknown; + default: return unknown; } } const QString &CAircraftSituation::onGroundReliabilityToString(CAircraftSituation::OnGroundReliability reliability) { - static const QString elv("by elevation"); - static const QString elvCg("by elevation/CG"); - static const QString inter("by interpolation"); + static const QString elv("elevation"); + static const QString elvCg("elevation/CG"); + static const QString inter("interpolation"); static const QString guess("guessing"); static const QString unknown("unknown"); diff --git a/src/blackmisc/geo/elevationplane.cpp b/src/blackmisc/geo/elevationplane.cpp index 701765496..e073073dd 100644 --- a/src/blackmisc/geo/elevationplane.cpp +++ b/src/blackmisc/geo/elevationplane.cpp @@ -20,15 +20,15 @@ namespace BlackMisc { QString CElevationPlane::convertToQString(bool i18n) const { - QString s = "Geodetic: {%1, %2, %3} radius: %4"; + static const QString s = "Geodetic: {%1, %2, %3} radius: %4"; return s.arg(this->latitude().valueRoundedWithUnit(6, i18n), this->longitude().valueRoundedWithUnit(6, i18n), this->geodeticHeight().valueRoundedWithUnit(6, i18n), - this->m_radius.valueRoundedWithUnit(2, i18n) + m_radius.valueRoundedWithUnit(2, i18n) ); } - const CAltitude &CElevationPlane::getAltitudeIfWithinRadius(const BlackMisc::Geo::ICoordinateGeodetic &coordinate) const + const CAltitude &CElevationPlane::getAltitudeIfWithinRadius(const ICoordinateGeodetic &coordinate) const { return (isWithinRange(coordinate)) ? geodeticHeight() : CAltitude::null(); } @@ -67,10 +67,8 @@ namespace BlackMisc const ColumnIndex i = index.frontCasted(); switch (i) { - case IndexRadius: - return m_radius.propertyByIndex(index.copyFrontRemoved()); - default: - break; + case IndexRadius: return m_radius.propertyByIndex(index.copyFrontRemoved()); + default: break; } return CCoordinateGeodetic::propertyByIndex(index); } @@ -82,7 +80,7 @@ namespace BlackMisc switch (i) { case IndexRadius: - this->m_radius.setPropertyByIndex(index.copyFrontRemoved(), variant); + m_radius.setPropertyByIndex(index.copyFrontRemoved(), variant); break; default: CCoordinateGeodetic::setPropertyByIndex(index, variant); diff --git a/src/blackmisc/simulation/interpolationhints.h b/src/blackmisc/simulation/interpolationhints.h index 1c2f03d2c..c28770ac1 100644 --- a/src/blackmisc/simulation/interpolationhints.h +++ b/src/blackmisc/simulation/interpolationhints.h @@ -24,7 +24,7 @@ namespace BlackMisc { //! Hints for interpolator such as ground elevation class BLACKMISC_EXPORT CInterpolationHints : - public BlackMisc::CValueObject + public CValueObject { public: //! Property indexes @@ -44,29 +44,33 @@ namespace BlackMisc //! Constructor CInterpolationHints(bool isVtolAircraft, bool hasParts, bool log); - //! Get elevation - const BlackMisc::Geo::CElevationPlane &getElevationPlane() const { return m_elevationPlane;} + //! Get elevation plane + const Geo::CElevationPlane &getElevationPlane() const { return m_elevationPlane;} //! Set elevation - void setElevationPlane(const BlackMisc::Geo::CElevationPlane &elevation) { m_elevationPlane = elevation; } + //! \remark used to store a ground elevation and use it as well for nearby situatons + void setElevationPlane(const Geo::CElevationPlane &elevation) { m_elevationPlane = elevation; } //! Elevation plane set to null void resetElevationPlane(); //! Get elevation from CInterpolationHints::getElevationProvider or CInterpolationHints::getElevation - Aviation::CAltitude getGroundElevation(const BlackMisc::Aviation::CAircraftSituation &situation) const; + //! \remark avoid unnecessary calls on XPlane (calling elevation provider) + //! \see setElevationProvider + //! \see setElevationPlane + Aviation::CAltitude getGroundElevation(const Aviation::CAircraftSituation &situation) const; //! Check if elevation is within radius and can be used - bool isWithinRange(const BlackMisc::Geo::ICoordinateGeodetic &coordinate) const; + bool isWithinRange(const Geo::ICoordinateGeodetic &coordinate) const; //! Get CG above ground - const BlackMisc::PhysicalQuantities::CLength &getCGAboveGround() const { return m_cgAboveGround;} + const PhysicalQuantities::CLength &getCGAboveGround() const { return m_cgAboveGround;} //! Has CG above ground bool hasCGAboveGround() const { return m_cgAboveGround.isNull(); } //! Set CG above ground - void setCGAboveGround(const BlackMisc::PhysicalQuantities::CLength &cgAboveGround) { m_cgAboveGround = cgAboveGround; } + void setCGAboveGround(const PhysicalQuantities::CLength &cgAboveGround) { m_cgAboveGround = cgAboveGround; } //! VTOL aircraft? bool isVtolAircraft() const { return m_isVtol; } @@ -84,45 +88,44 @@ namespace BlackMisc bool hasAircraftParts() const { return m_hasParts; } //! Aircraft parts required for interpolation - BlackMisc::Aviation::CAircraftParts getAircraftParts() const { return m_aircraftParts; } + Aviation::CAircraftParts getAircraftParts() const { return m_aircraftParts; } //! Set aircraft parts required for interpolation if any //! \remark when used to reset value (default object) use hasParts false. Needed as there is no null parts object - void setAircraftParts(const BlackMisc::Aviation::CAircraftParts &parts, bool hasParts = true); + void setAircraftParts(const Aviation::CAircraftParts &parts, bool hasParts = true); //! Function object that can obtain ground elevation - using ElevationProvider = std::function; + using ElevationProvider = std::function; //! Has elevation provider bool hasElevationProvider() const; - //! Function object that can obtain ground elevation - //! \remark either a provider or a value set can be used - const ElevationProvider &getElevationProvider() const { return m_elevationProvider; } - //! Set function object that can obtain ground elevation + //! \remark either a provider can be used or an elevation plan can be set + //! \see setElevationPlane + //! \see getGroundElevation void setElevationProvider(const ElevationProvider &ep) { m_elevationProvider = ep; } //! \copydoc BlackMisc::Mixin::Index::propertyByIndex - CVariant propertyByIndex(const BlackMisc::CPropertyIndex &index) const; + CVariant propertyByIndex(const CPropertyIndex &index) const; //! \copydoc BlackMisc::Mixin::Index::setPropertyByIndex - void setPropertyByIndex(const BlackMisc::CPropertyIndex &index, const CVariant &variant); + void setPropertyByIndex(const CPropertyIndex &index, const CVariant &variant); //! \copydoc BlackMisc::Mixin::String::toQString QString convertToQString(bool i18n = false) const; //! For debugging - QString debugInfo(const BlackMisc::Geo::CElevationPlane &deltaElevation) const; + QString debugInfo(const Geo::CElevationPlane &deltaElevation) const; private: bool m_isVtol = false; //!< VTOL aircraft? bool m_hasParts = false; //!< Has valid aircraft parts? bool m_logInterpolation = false; //!< log interpolation - BlackMisc::Aviation::CAircraftParts m_aircraftParts; //!< Aircraft parts - BlackMisc::Geo::CElevationPlane m_elevationPlane; //!< aircraft's elevation if available - ElevationProvider m_elevationProvider; //!< Provider of ground elevation (lazy computation) - BlackMisc::PhysicalQuantities::CLength m_cgAboveGround { 0, nullptr }; //!< center of gravity above ground + Aviation::CAircraftParts m_aircraftParts; //!< Aircraft parts + Geo::CElevationPlane m_elevationPlane; //!< aircraft's elevation if available + ElevationProvider m_elevationProvider; //!< Provider of ground elevation (lazy computation) + PhysicalQuantities::CLength m_cgAboveGround { 0, nullptr }; //!< center of gravity above ground BLACK_METACLASS( CInterpolationHints, diff --git a/src/blackmisc/simulation/interpolator.h b/src/blackmisc/simulation/interpolator.h index 2e7c72335..42184d422 100644 --- a/src/blackmisc/simulation/interpolator.h +++ b/src/blackmisc/simulation/interpolator.h @@ -86,7 +86,7 @@ namespace BlackMisc Aviation::CAircraftSituationList m_aircraftSituations; //!< recent situations for one aircraft Aviation::CAircraftPartsList m_aircraftParts; //!< recent parts for one aircraft Aviation::CCallsign m_callsign; //!< callsign - bool m_isFirstInterpolation = true; //!< set to false after the first successful interpolation + bool m_isFirstInterpolation = true; //!< set to false after the first successful interpolation //! Constructor CInterpolator(const QString &objectName, const Aviation::CCallsign &callsign, QObject *parent);