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):
|
def profiles(self):
|
||||||
return self._profiles.copy()
|
return self._profiles.copy()
|
||||||
|
|
||||||
|
def get_profiles_from_kp(self, kp):
|
||||||
|
return list(
|
||||||
|
filter(
|
||||||
|
lambda p: p.kp == kp, self._profiles
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def number_profiles(self):
|
def number_profiles(self):
|
||||||
"""
|
"""
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,31 @@ class Data(object):
|
||||||
|
|
||||||
return val
|
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):
|
def __setitem__(self, key, value):
|
||||||
if key == "name":
|
if key == "name":
|
||||||
self._name = str(value)
|
self._name = str(value)
|
||||||
|
|
@ -51,14 +76,19 @@ class Data(object):
|
||||||
self._comment = str(value)
|
self._comment = str(value)
|
||||||
elif key == "kp":
|
elif key == "kp":
|
||||||
self._kp = float(value)
|
self._kp = float(value)
|
||||||
|
self._update_from_kp()
|
||||||
elif key == "speed":
|
elif key == "speed":
|
||||||
self._speed = float(value)
|
self._speed = float(value)
|
||||||
|
# Not supposed to be modified
|
||||||
elif key == "flow":
|
elif key == "flow":
|
||||||
self._flow = float(value)
|
self._flow = float(value)
|
||||||
|
self._update_from_flow()
|
||||||
elif key == "elevation":
|
elif key == "elevation":
|
||||||
self._elevation = float(value)
|
self._elevation = float(value)
|
||||||
|
self._update_from_elevation()
|
||||||
elif key == "draft":
|
elif key == "draft":
|
||||||
self._draft = float(value)
|
self._draft = float(value)
|
||||||
|
self._update_from_draft()
|
||||||
|
|
||||||
self._status.modified()
|
self._status.modified()
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue