give the controller the information he needs and that he can configure the tags

This commit is contained in:
Sven Czarnian
2021-12-23 09:58:31 +01:00
parent ec9e9e285b
commit d7c41d1941
4 changed files with 153 additions and 273 deletions

View File

@@ -33,34 +33,30 @@ namespace aman {
bool m_fixedPlan;
std::string m_star;
std::string m_runway;
Velocity m_groundSpeed;
std::size_t m_nextStarWaypoint;
std::vector<ArrivalWaypoint> m_arrivalRoute;
Time m_timeToLose;
UtcTime::Point m_waypointEstimatedTimeOfArrival;
Length m_trackmiles;
Time m_flighttime;
std::string m_predictedWaypoint;
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);
void predictETA(const EuroScopePlugIn::CRadarTarget& target, const EuroScopePlugIn::CFlightPlanPositionPredictions& predictions);
std::string findNextWaypointOnHeading(EuroScopePlugIn::CFlightPlan& plan);
public:
Inbound(EuroScopePlugIn::CRadarTarget& target, const aman::AircraftSchedule& inbound, const google::protobuf::RepeatedPtrField<aman::WindData>& wind);
void update(EuroScopePlugIn::CRadarTarget& target, const aman::AircraftSchedule& inbound,
const google::protobuf::RepeatedPtrField<aman::WindData>& wind);
void update(EuroScopePlugIn::CRadarTarget& target);
void update(EuroScopePlugIn::CFlightPlan& plan);
void directTo(EuroScopePlugIn::CRadarTarget& radarTarget, const std::string& waypoint);
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;
const std::string& predictedWaypoint() const noexcept;
const std::string& nextWaypoint() const noexcept;
const std::vector<ArrivalWaypoint>& arrivalRoute() const noexcept;
static int matchToPredictedPath(const EuroScopePlugIn::CFlightPlanPositionPredictions& predictions, const GeoCoordinate& position,
const Velocity& groundspeed, Length& trackmiles);