fix some issues with the path prediction and add some addional information

This commit is contained in:
Sven Czarnian
2021-12-15 13:23:33 +01:00
parent f053ead918
commit e108d3de57
2 changed files with 60 additions and 38 deletions

View File

@@ -36,14 +36,17 @@ namespace aman {
std::size_t m_nextStarWaypoint;
std::vector<ArrivalWaypoint> m_arrivalRoute;
Time m_timeToLose;
UtcTime::Point m_waypointEstimatedTimeOfArrival;
Length m_trackmiles;
Time m_flighttime;
void updatePrediction(EuroScopePlugIn::CRadarTarget& target, const aman::AircraftSchedule& inbound, bool forceUpdate);
void updatePrediction(EuroScopePlugIn::CRadarTarget& target, const aman::AircraftSchedule& inbound);
Velocity indicatedAirspeed(const Length& altitude) const noexcept;
Velocity groundSpeed(const Length& altitude, const Velocity& ias, const Angle& heading);
void createWindTables(const google::protobuf::RepeatedPtrField<aman::WindData>& wind);
static int matchToPredictedPath(const EuroScopePlugIn::CFlightPlanPositionPredictions& predictions, const GeoCoordinate& position,
Length& trackmiles);
void predictETA(const EuroScopePlugIn::CRadarTarget& target, const EuroScopePlugIn::CFlightPlanPositionPredictions& predictions, bool resetTTL);
void predictETA(const EuroScopePlugIn::CRadarTarget& target, const EuroScopePlugIn::CFlightPlanPositionPredictions& predictions);
public:
Inbound(EuroScopePlugIn::CRadarTarget& target, const aman::AircraftSchedule& inbound, const google::protobuf::RepeatedPtrField<aman::WindData>& wind);
@@ -52,6 +55,10 @@ namespace aman {
void update(EuroScopePlugIn::CRadarTarget& target);
void update(EuroScopePlugIn::CFlightPlan& plan);
bool fixedPlan() const noexcept;
UtcTime::Point eta() const;
UtcTime::Point pta() const;
const Time& timeToLose() const noexcept;
const Length& trackmiles() const noexcept;
const Time& flighttime() const noexcept;
};
}