add a function to register a new inbound

This commit is contained in:
Sven Czarnian
2021-12-22 13:28:56 +01:00
parent 4f69df6cc7
commit f83febab3a
3 changed files with 21 additions and 2 deletions

View File

@@ -143,3 +143,22 @@ class RunwayManager:
eta = candidate
return selectedRunway, eta, lostTime
def registerNode(self, node : Node, runway : str):
self.RunwayInbounds[runway] = node
# find the corresponding IAF
iaf = node.ArrivalCandidates[runway].ArrivalRoute[0].Waypoint.Name
if iaf in self.IafInbounds:
delta = 100000.0
targetLevel = None
# find the planned level
for level in self.IafInbounds[iaf]:
difference = abs(level - node.ArrivalCandidates[runway].ArrivalRoute[0].Altitude)
if difference < delta:
delta = difference
targetLevel = level
if targetLevel in self.IafInbounds[iaf]:
self.IafInbounds[iaf][targetLevel] = node