mirror of https://gitlab.com/pamhyr/pamhyr2
IC: Add update values as data modification.
parent
16742b0319
commit
a6e18aa7c9
|
|
@ -49,6 +49,13 @@ class Reach:
|
|||
def profiles(self):
|
||||
return self._profiles.copy()
|
||||
|
||||
def get_profiles_from_kp(self, kp):
|
||||
return list(
|
||||
filter(
|
||||
lambda p: p.kp == kp, self._profiles
|
||||
)
|
||||
)
|
||||
|
||||
@property
|
||||
def number_profiles(self):
|
||||
"""
|
||||
|
|
|
|||
|
|
@ -44,6 +44,31 @@ class Data(object):
|
|||
|
||||
return val
|
||||
|
||||
def _update_get_min(self):
|
||||
profile = self._reach.reach.get_profiles_from_kp(self._kp)
|
||||
if len(profile) > 0:
|
||||
min = profile[0].z_min()
|
||||
else:
|
||||
min = 0.0
|
||||
|
||||
return min
|
||||
|
||||
def _update_from_kp(self):
|
||||
min = self._update_get_min()
|
||||
self._elevation = min - self._draft
|
||||
|
||||
def _update_from_elevation(self):
|
||||
min = self._update_get_min()
|
||||
self._draft = self._elevation - min
|
||||
|
||||
def _update_from_draft(self):
|
||||
min = self._update_get_min()
|
||||
self._elevation = self._draft + min
|
||||
|
||||
def _update_from_flow(self):
|
||||
min = self._update_get_min()
|
||||
print("TODO")
|
||||
|
||||
def __setitem__(self, key, value):
|
||||
if key == "name":
|
||||
self._name = str(value)
|
||||
|
|
@ -51,14 +76,19 @@ class Data(object):
|
|||
self._comment = str(value)
|
||||
elif key == "kp":
|
||||
self._kp = float(value)
|
||||
self._update_from_kp()
|
||||
elif key == "speed":
|
||||
self._speed = float(value)
|
||||
# Not supposed to be modified
|
||||
elif key == "flow":
|
||||
self._flow = float(value)
|
||||
self._update_from_flow()
|
||||
elif key == "elevation":
|
||||
self._elevation = float(value)
|
||||
self._update_from_elevation()
|
||||
elif key == "draft":
|
||||
self._draft = float(value)
|
||||
self._update_from_draft()
|
||||
|
||||
self._status.modified()
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue