start with the interpretation of the position updates of aircrafts
This commit is contained in:
@@ -72,5 +72,26 @@ EuroScopePlugIn::CRadarScreen* PlugIn::OnRadarScreenCreated(const char* displayN
|
|||||||
}
|
}
|
||||||
|
|
||||||
void PlugIn::OnRadarTargetPositionUpdate(EuroScopePlugIn::CRadarTarget radarTarget) {
|
void PlugIn::OnRadarTargetPositionUpdate(EuroScopePlugIn::CRadarTarget radarTarget) {
|
||||||
|
/* ignore invalid targets */
|
||||||
|
if (false == radarTarget.IsValid())
|
||||||
|
return;
|
||||||
|
|
||||||
|
auto flightPlan = radarTarget.GetCorrelatedFlightPlan();
|
||||||
|
|
||||||
|
/* ignore invalid flightplans */
|
||||||
|
if (false == flightPlan.IsValid())
|
||||||
|
return;
|
||||||
|
|
||||||
|
/* ignore flights that are not tracked by the current controller */
|
||||||
|
if (false == flightPlan.GetTrackingControllerIsMe())
|
||||||
|
return;
|
||||||
|
|
||||||
|
/* ignore non-IFR flights */
|
||||||
|
if (nullptr == flightPlan.GetFlightPlanData().GetPlanType() || 'I' != *flightPlan.GetFlightPlanData().GetPlanType())
|
||||||
|
return;
|
||||||
|
|
||||||
|
/* TODO filter by distance to destination */
|
||||||
|
/* TODO filter by airborne identifier */
|
||||||
|
/* TODO generate protobuf message */
|
||||||
|
/* TODO send aircraft update */
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user