From 190aad784bdb6a1668654eeb34a7e1f95b0dd73d Mon Sep 17 00:00:00 2001 From: Scott Giese <scttgs0@gmail.com> Date: Sun, 21 Feb 2021 23:18:15 -0600 Subject: [PATCH] Maintenance: AIModel Improve inheritance/polymorphism by eliminating shadow methods. --- src/AIModel/AIAircraft.hxx | 10 +++++----- src/AIModel/AIBallistic.hxx | 10 +++++----- src/AIModel/AICarrier.hxx | 13 +++++-------- src/AIModel/AIEscort.hxx | 10 +++++----- src/AIModel/AIGroundVehicle.hxx | 11 +++++------ src/AIModel/AIMultiplayer.hxx | 6 +++--- src/AIModel/AIShip.hxx | 16 ++++++---------- src/AIModel/AIStatic.hxx | 10 ++++------ src/AIModel/AIStorm.hxx | 17 +++++++---------- src/AIModel/AITanker.hxx | 8 ++++---- src/AIModel/AIThermal.hxx | 8 ++++---- src/AIModel/AIWingman.hxx | 10 +++++----- 12 files changed, 58 insertions(+), 71 deletions(-) diff --git a/src/AIModel/AIAircraft.hxx b/src/AIModel/AIAircraft.hxx index d34f1b199..9fad2856b 100644 --- a/src/AIModel/AIAircraft.hxx +++ b/src/AIModel/AIAircraft.hxx @@ -38,11 +38,11 @@ public: FGAIAircraft(FGAISchedule *ref=0); ~FGAIAircraft(); - virtual void readFromScenario(SGPropertyNode* scFileNode); + void readFromScenario(SGPropertyNode* scFileNode) override; - virtual void bind(); - virtual void update(double dt); - virtual void unbind(); + void bind() override; + void update(double dt) override; + void unbind() override; void setPerformance(const std::string& acType, const std::string& perfString); @@ -82,7 +82,7 @@ public: void setTakeOffStatus(int status) { takeOffStatus = status; }; void scheduleForATCTowerDepartureControl(int state); - virtual const char* getTypeString(void) const { return "aircraft"; } + const char* getTypeString(void) const override { return "aircraft"; } const std::string& GetTransponderCode() { return transponderCode; }; void SetTransponderCode(const std::string& tc) { transponderCode = tc;}; diff --git a/src/AIModel/AIBallistic.hxx b/src/AIModel/AIBallistic.hxx index 2d9a0caea..963b2c6b6 100644 --- a/src/AIModel/AIBallistic.hxx +++ b/src/AIModel/AIBallistic.hxx @@ -38,14 +38,14 @@ public: FGAIBallistic(object_type ot = otBallistic); ~FGAIBallistic(); - void readFromScenario(SGPropertyNode* scFileNode); + void readFromScenario(SGPropertyNode* scFileNode) override; bool init(ModelSearchOrder searchOrder) override; - virtual void bind(); - virtual void reinit(); - virtual void update(double dt); + void bind() override; + void reinit() override; + void update(double dt) override; - virtual const char* getTypeString(void) const { return "ballistic"; } + const char* getTypeString(void) const override { return "ballistic"; } void Run(double dt); diff --git a/src/AIModel/AICarrier.hxx b/src/AIModel/AICarrier.hxx index e07d82480..0a041f7e3 100644 --- a/src/AIModel/AICarrier.hxx +++ b/src/AIModel/AICarrier.hxx @@ -43,14 +43,14 @@ public: FGAICarrier(); virtual ~FGAICarrier(); - virtual void readFromScenario(SGPropertyNode* scFileNode); + void readFromScenario(SGPropertyNode* scFileNode) override; void setSign(const string& ); void setDeckAltitude(const double altitude_feet); void setTACANChannelID(const string &); - virtual double getDefaultModelRadius() { return 350.0; } + double getDefaultModelRadius() override { return 350.0; } - virtual void bind(); + void bind() override; void UpdateWind ( double dt ); void setWind_from_east( double fps ); void setWind_from_north( double fps ); @@ -68,7 +68,7 @@ public: bool init(ModelSearchOrder searchOrder) override; - virtual const char* getTypeString(void) const { return "carrier"; } + const char* getTypeString(void) const override { return "carrier"; } bool getParkPosition(const string& id, SGGeod& geodPos, double& hdng, SGVec3d& uvw); @@ -106,15 +106,12 @@ private: double heading_deg; }; - - void update(double dt); + void update(double dt) override; double wind_from_east; // fps double wind_from_north; // fps double rel_wind_speed_kts; double rel_wind_from_deg; - - list<ParkPosition> ppositions; // List of positions where an aircraft can start. string sign; // The sign of this carrier. diff --git a/src/AIModel/AIEscort.hxx b/src/AIModel/AIEscort.hxx index b4c82e82f..304356470 100644 --- a/src/AIModel/AIEscort.hxx +++ b/src/AIModel/AIEscort.hxx @@ -38,14 +38,14 @@ public: FGAIEscort(); virtual ~FGAIEscort(); - virtual void readFromScenario(SGPropertyNode* scFileNode); + void readFromScenario(SGPropertyNode* scFileNode) override; bool init(ModelSearchOrder searchOrder) override; - virtual void bind(); - virtual void reinit(); - virtual void update (double dt); + void bind() override; + void reinit() override; + void update(double dt) override; - virtual const char* getTypeString(void) const { return "escort"; } + const char* getTypeString(void) const override { return "escort"; } private: void setStnRange(double r); diff --git a/src/AIModel/AIGroundVehicle.hxx b/src/AIModel/AIGroundVehicle.hxx index a4b118e22..4c1cf0ded 100644 --- a/src/AIModel/AIGroundVehicle.hxx +++ b/src/AIModel/AIGroundVehicle.hxx @@ -36,17 +36,16 @@ public: FGAIGroundVehicle(); virtual ~FGAIGroundVehicle(); - virtual void readFromScenario(SGPropertyNode* scFileNode); + void readFromScenario(SGPropertyNode* scFileNode) override; bool init(ModelSearchOrder searchOrder) override; - virtual void bind(); - virtual void reinit(); - virtual void update (double dt); + void bind() override; + void reinit() override; + void update(double dt) override; - virtual const char* getTypeString(void) const { return "groundvehicle"; } + const char* getTypeString(void) const override { return "groundvehicle"; } private: - void setNoRoll(bool nr); void setContactX1offset(double x1); void setContactX2offset(double x2); diff --git a/src/AIModel/AIMultiplayer.hxx b/src/AIModel/AIMultiplayer.hxx index 53053f865..e6e231cc0 100644 --- a/src/AIModel/AIMultiplayer.hxx +++ b/src/AIModel/AIMultiplayer.hxx @@ -33,8 +33,8 @@ public: virtual ~FGAIMultiplayer(); bool init(ModelSearchOrder searchOrder) override; - virtual void bind(); - virtual void update(double dt); + void bind() override; + void update(double dt) override; void addMotionInfo(FGExternalMotionData& motionInfo, long stamp); void setDoubleProperty(const std::string& prop, double val); @@ -75,7 +75,7 @@ public: void clearMotionInfo(); - virtual const char* getTypeString(void) const { return "multiplayer"; } + const char* getTypeString(void) const override { return "multiplayer"; } private: diff --git a/src/AIModel/AIShip.hxx b/src/AIModel/AIShip.hxx index 4bb1862a8..3dcd70d36 100644 --- a/src/AIModel/AIShip.hxx +++ b/src/AIModel/AIShip.hxx @@ -31,17 +31,16 @@ class FGAIManager; class FGAIShip : public FGAIBase { public: - FGAIShip(object_type ot = otShip); virtual ~FGAIShip(); - virtual void readFromScenario(SGPropertyNode* scFileNode); + void readFromScenario(SGPropertyNode* scFileNode) override; bool init(ModelSearchOrder searchOrder) override; - virtual void bind(); - virtual void update(double dt); - virtual void reinit(); - virtual double getDefaultModelRadius() { return 200.0; } + void bind() override; + void update(double dt) override; + void reinit() override; + double getDefaultModelRadius() override { return 200.0; } void setRudder(float r); void setRoll(double rl); @@ -78,7 +77,7 @@ public: bool _tunnel, _initial_tunnel; bool _restart; - virtual const char* getTypeString(void) const { return "ship"; } + const char* getTypeString(void) const override { return "ship"; } double _rudder_constant, _speed_constant, _hdg_constant, _limit ; double _elevation_m, _elevation_ft; double _missed_range, _tow_angle, _wait_count, _missed_count,_wp_range; @@ -91,8 +90,6 @@ public: protected: private: - - void setRepeat(bool r); void setRestart(bool r); void setMissed(bool m); @@ -136,7 +133,6 @@ private: bool _repeat; bool _fp_init; bool _missed; - }; diff --git a/src/AIModel/AIStatic.hxx b/src/AIModel/AIStatic.hxx index 7deb7d558..83141e9ee 100644 --- a/src/AIModel/AIStatic.hxx +++ b/src/AIModel/AIStatic.hxx @@ -32,14 +32,12 @@ class FGAIStatic : public FGAIBase { public: - FGAIStatic(); - ~FGAIStatic(); + FGAIStatic(); + ~FGAIStatic(); - virtual void update(double dt); + void update(double dt) override; - virtual const char* getTypeString(void) const { return "static"; } + const char* getTypeString(void) const override { return "static"; } }; - - #endif // _FG_AISTATIC_HXX diff --git a/src/AIModel/AIStorm.hxx b/src/AIModel/AIStorm.hxx index ddc23e28d..90eff9cf4 100644 --- a/src/AIModel/AIStorm.hxx +++ b/src/AIModel/AIStorm.hxx @@ -32,12 +32,12 @@ class FGAIStorm : public FGAIBase { public: - FGAIStorm(); - ~FGAIStorm(); - - void readFromScenario(SGPropertyNode* scFileNode); + FGAIStorm(); + ~FGAIStorm(); - virtual void update(double dt); + void readFromScenario(SGPropertyNode* scFileNode) override; + + void update(double dt) override; inline void setStrengthNorm( double s ) { strength_norm = s; }; inline void setDiameter( double d ) { diameter = d; }; inline void setHeight( double h ) { height = h; }; @@ -45,14 +45,13 @@ public: inline double getDiameter() const { return diameter; }; inline double getHeight() const { return height; }; - virtual const char* getTypeString(void) const { return "thunderstorm"; } + const char* getTypeString(void) const override { return "thunderstorm"; } private: - double diameter; // diameter of turbulence zone, in nm double height; // top of turbulence zone, in feet MSL double strength_norm; // strength of turbulence - void Run(double dt); + void Run(double dt); // lightning stuff double delay; // average time (sec) between lightning flashes @@ -71,6 +70,4 @@ private: }; - - #endif // _FG_AIStorm_HXX diff --git a/src/AIModel/AITanker.hxx b/src/AIModel/AITanker.hxx index fcea6a28f..2dd031f3c 100644 --- a/src/AIModel/AITanker.hxx +++ b/src/AIModel/AITanker.hxx @@ -39,10 +39,10 @@ public: FGAITanker(FGAISchedule* ref = 0); ~FGAITanker(); - virtual void readFromScenario(SGPropertyNode* scFileNode); - virtual void bind(); + void readFromScenario(SGPropertyNode* scFileNode) override; + void bind() override; - virtual const char* getTypeString(void) const { return "tanker"; } + const char* getTypeString(void) const override { return "tanker"; } void setTACANChannelID(const std::string& id); @@ -51,7 +51,7 @@ private: bool contact; // set if this tanker is within fuelling range virtual void Run(double dt); - virtual void update (double dt); + void update(double dt) override; }; #endif diff --git a/src/AIModel/AIThermal.hxx b/src/AIModel/AIThermal.hxx index 4b004dda1..58057debe 100644 --- a/src/AIModel/AIThermal.hxx +++ b/src/AIModel/AIThermal.hxx @@ -36,11 +36,11 @@ public: FGAIThermal(); ~FGAIThermal(); - void readFromScenario(SGPropertyNode* scFileNode); + void readFromScenario(SGPropertyNode* scFileNode) override; bool init(ModelSearchOrder searchOrder) override; - virtual void bind(); - virtual void update(double dt); + void bind() override; + void update(double dt) override; inline void setMaxStrength( double s ) { max_strength = s; }; inline void setDiameter( double d ) { diameter = d; }; @@ -56,7 +56,7 @@ public: inline double getV_up_min() const { return v_up_min; }; inline double getR_up_frac() const { return r_up_frac; }; - virtual const char* getTypeString(void) const { return "thermal"; } + const char* getTypeString(void) const override { return "thermal"; } void getGroundElev(double dt); private: diff --git a/src/AIModel/AIWingman.hxx b/src/AIModel/AIWingman.hxx index 39fe5018c..c787388de 100644 --- a/src/AIModel/AIWingman.hxx +++ b/src/AIModel/AIWingman.hxx @@ -33,14 +33,14 @@ public: FGAIWingman(); virtual ~FGAIWingman(); - virtual void readFromScenario(SGPropertyNode* scFileNode); + void readFromScenario(SGPropertyNode* scFileNode) override; bool init(ModelSearchOrder searchOrder) override; - virtual void bind(); - virtual void reinit(); - virtual void update (double dt); + void bind() override; + void reinit() override; + void update(double dt) override; - virtual const char* getTypeString(void) const { return "wingman"; } + const char* getTypeString(void) const override { return "wingman"; } private: void formateToAC(double dt);