add a maximum time to lose to define some constraints

This commit is contained in:
Sven Czarnian
2021-11-10 22:44:22 +01:00
parent 7c6d098812
commit 51c963de52

View File

@@ -8,10 +8,12 @@ class ArrivalTime:
def __init__(self, **kargs):
self.Star = None
self.MaximumTimeToGain = None
self.MaximumTimeToLose = None
self.FlightTimeUntilIaf = None
self.FlightTimeUntilTouchdown = None
self.InitialArrivalTime = None
self.EarliestArrivalTime = None
self.LatestArrivalTime = None
for key, value in kargs.items():
if 'ttg' == key:
@@ -21,6 +23,13 @@ class ArrivalTime:
self.MaximumTimeToGain = timedelta(seconds = float(value))
else:
raise Exception('Invalid type for ttg')
elif 'ttl' == key:
if True == isinstance(value, timedelta):
self.MaximumTimeToLose = value
elif True == isinstance(value, (int, float)):
self.MaximumTimeToLose = timedelta(seconds = float(value))
else:
raise Exception('Invalid type for ttl')
elif 'star' == key:
if True == isinstance(value, ArrivalRoute):
self.Star = value
@@ -36,6 +45,11 @@ class ArrivalTime:
self.EarliestArrivalTime = value
else:
raise Exception('Invalid type for earliest')
elif 'latest' == key:
if True == isinstance(value, datetime):
self.LatestArrivalTime = value
else:
raise Exception('Invalid type for latest')
elif 'touchdown' == key:
if True == isinstance(value, timedelta):
self.FlightTimeUntilTouchdown = value