-
Notifications
You must be signed in to change notification settings - Fork 22
/
ExitingFirAtPoint.cpp
32 lines (27 loc) · 1.15 KB
/
ExitingFirAtPoint.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include "AircraftFirExitGenerator.h"
#include "AircraftFirExit.h"
#include "ExitingFirAtPoint.h"
#include "FirExitPoint.h"
#include "euroscope/EuroScopeCFlightPlanInterface.h"
namespace UKControllerPlugin::IntentionCode {
ExitingFirAtPoint::ExitingFirAtPoint(AircraftFirExitGenerator& firExitGenerator, int firExitPointId)
: firExitGenerator(firExitGenerator), firExitPointId(firExitPointId)
{
}
auto ExitingFirAtPoint::Passes(
const Euroscope::EuroScopeCFlightPlanInterface& flightplan, const Euroscope::EuroScopeCRadarTargetInterface&
radarTarget)
-> bool
{
const auto firExit = firExitGenerator.Generate(flightplan);
if (!firExit) {
return false;
}
return (firExit->ukExitPoint && firExit->ukExitPoint->Id() == firExitPointId) ||
(firExit->internalExitPoint && firExit->internalExitPoint->Id() == firExitPointId);
}
auto ExitingFirAtPoint::ExitPoint() const -> int
{
return firExitPointId;
}
} // namespace UKControllerPlugin::IntentionCode