mirror of https://gitlab.com/pamhyr/pamhyr2
Compare commits
4 Commits
ec2a1da6b6
...
6b14ed7efe
| Author | SHA1 | Date |
|---|---|---|
|
|
6b14ed7efe | |
|
|
3d40f599d6 | |
|
|
6ec677a047 | |
|
|
7bb0c9d57e |
|
|
@ -30,6 +30,7 @@ logger = logging.getLogger()
|
||||||
|
|
||||||
class Friction(SQLSubModel):
|
class Friction(SQLSubModel):
|
||||||
def __init__(self, id: int = -1,
|
def __init__(self, id: int = -1,
|
||||||
|
reach=None,
|
||||||
status=None,
|
status=None,
|
||||||
owner_scenario=-1):
|
owner_scenario=-1):
|
||||||
super(Friction, self).__init__(
|
super(Friction, self).__init__(
|
||||||
|
|
@ -37,7 +38,7 @@ class Friction(SQLSubModel):
|
||||||
owner_scenario=owner_scenario
|
owner_scenario=owner_scenario
|
||||||
)
|
)
|
||||||
|
|
||||||
self._reach = None
|
self._reach = reach
|
||||||
self._begin_rk = 0.0
|
self._begin_rk = 0.0
|
||||||
self._end_rk = 0.0
|
self._end_rk = 0.0
|
||||||
self._begin_strickler = None
|
self._begin_strickler = None
|
||||||
|
|
@ -64,7 +65,7 @@ class Friction(SQLSubModel):
|
||||||
)
|
)
|
||||||
""")
|
""")
|
||||||
|
|
||||||
if ext == "_tmp":
|
if ext != "":
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return cls._create_submodel(execute)
|
return cls._create_submodel(execute)
|
||||||
|
|
@ -217,7 +218,7 @@ class Friction(SQLSubModel):
|
||||||
|
|
||||||
return (
|
return (
|
||||||
self._begin_strickler._owner_scenario == ssi
|
self._begin_strickler._owner_scenario == ssi
|
||||||
or self._end_strickler._owner_scenario == ssi
|
# or self._end_strickler._owner_scenario == ssi
|
||||||
or super(Friction, self).must_be_saved()
|
or super(Friction, self).must_be_saved()
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -86,19 +86,12 @@ class FrictionList(PamhyrModelList):
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
@property
|
|
||||||
def lst(self):
|
|
||||||
if not isinstance(self._lst, list):
|
|
||||||
self._lst = self._get_frictions_list()
|
|
||||||
|
|
||||||
return self._lst
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def frictions(self):
|
def frictions(self):
|
||||||
return self.lst
|
return self.lst
|
||||||
|
|
||||||
def new(self, index):
|
def new(self, reach, index):
|
||||||
n = Friction(status=self._status)
|
n = Friction(reach=reach, status=self._status)
|
||||||
self._lst.insert(index, n)
|
self._lst.insert(index, n)
|
||||||
self._status.modified()
|
self._status.modified()
|
||||||
return n
|
return n
|
||||||
|
|
|
||||||
|
|
@ -540,7 +540,7 @@ class ProfileXYZ(Profile, SQLSubModel):
|
||||||
"""
|
"""
|
||||||
x, y, z = (0., 0., 0.)
|
x, y, z = (0., 0., 0.)
|
||||||
|
|
||||||
if len(self._points) >= index:
|
if 0 < len(self._points) >= index:
|
||||||
x, y, z = self._points[index - 1].get_coordinate()
|
x, y, z = self._points[index - 1].get_coordinate()
|
||||||
|
|
||||||
point = PointXYZ(x=x, y=y, z=z, profile=self, status=self._status)
|
point = PointXYZ(x=x, y=y, z=z, profile=self, status=self._status)
|
||||||
|
|
|
||||||
|
|
@ -83,9 +83,6 @@ class Reach(SQLSubModel):
|
||||||
return new
|
return new
|
||||||
|
|
||||||
def _db_save(self, execute, data=None):
|
def _db_save(self, execute, data=None):
|
||||||
if not self.must_be_saved():
|
|
||||||
return True
|
|
||||||
|
|
||||||
ok = True
|
ok = True
|
||||||
|
|
||||||
execute(
|
execute(
|
||||||
|
|
|
||||||
|
|
@ -240,7 +240,7 @@ class HydraulicStructure(SQLSubModel):
|
||||||
owner_scenario=owner_scenario
|
owner_scenario=owner_scenario
|
||||||
)
|
)
|
||||||
if deleted:
|
if deleted:
|
||||||
new.set_as_deleted()
|
hs.set_as_deleted()
|
||||||
|
|
||||||
hs.enabled = enabled
|
hs.enabled = enabled
|
||||||
hs.input_reach, hs.output_reach = reduce(
|
hs.input_reach, hs.output_reach = reduce(
|
||||||
|
|
|
||||||
|
|
@ -28,13 +28,15 @@ class Data(SQLSubModel):
|
||||||
_sub_classes = []
|
_sub_classes = []
|
||||||
|
|
||||||
def __init__(self, id: int = -1,
|
def __init__(self, id: int = -1,
|
||||||
|
elevation: float = 0.,
|
||||||
|
surface: float = 0.,
|
||||||
status=None, owner_scenario=-1):
|
status=None, owner_scenario=-1):
|
||||||
super(Data, self).__init__(
|
super(Data, self).__init__(
|
||||||
id=id, status=status,
|
id=id, status=status,
|
||||||
owner_scenario=owner_scenario
|
owner_scenario=owner_scenario
|
||||||
)
|
)
|
||||||
|
|
||||||
self._data = []
|
self._data = [elevation, surface]
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _db_create(cls, execute, ext=""):
|
def _db_create(cls, execute, ext=""):
|
||||||
|
|
@ -335,12 +337,12 @@ class Reservoir(SQLSubModel):
|
||||||
|
|
||||||
execute(
|
execute(
|
||||||
"DELETE FROM reservoir " +
|
"DELETE FROM reservoir " +
|
||||||
f"WHERE pamhyr_id = {self.pamhyr_id}" +
|
f"WHERE pamhyr_id = {self.pamhyr_id} " +
|
||||||
f"AND scenario = {self._status.scenario_id}"
|
f"AND scenario = {self._status.scenario_id}"
|
||||||
)
|
)
|
||||||
execute(
|
execute(
|
||||||
"DELETE FROM reservoir_data " +
|
"DELETE FROM reservoir_data " +
|
||||||
f"WHERE reservoir = {self.pamhyr_id}" +
|
f"WHERE reservoir = {self.pamhyr_id} " +
|
||||||
f"AND scenario = {self._status.scenario_id}"
|
f"AND scenario = {self._status.scenario_id}"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -428,12 +430,23 @@ class Reservoir(SQLSubModel):
|
||||||
return (new_0, new_1)
|
return (new_0, new_1)
|
||||||
|
|
||||||
def add(self, index: int):
|
def add(self, index: int):
|
||||||
value = (self._default_elevation, self._default_surface)
|
data = Data(
|
||||||
self._data.insert(index, value)
|
elevation = self._default_elevation,
|
||||||
|
surface = self._default_surface,
|
||||||
|
status = self._status,
|
||||||
|
)
|
||||||
|
|
||||||
|
self._data.insert(index, data)
|
||||||
self.modified()
|
self.modified()
|
||||||
return value
|
return data
|
||||||
|
|
||||||
def insert(self, index: int, value):
|
def insert(self, index: int, value):
|
||||||
|
if type(value) is tuple or type(value) is list:
|
||||||
|
value = Data(
|
||||||
|
elevation = value[0],
|
||||||
|
surface = value[1]
|
||||||
|
)
|
||||||
|
|
||||||
self._data.insert(index, value)
|
self._data.insert(index, value)
|
||||||
self.modified()
|
self.modified()
|
||||||
|
|
||||||
|
|
@ -482,12 +495,11 @@ class Reservoir(SQLSubModel):
|
||||||
lst = []
|
lst = []
|
||||||
for r in _range:
|
for r in _range:
|
||||||
lst.append(r)
|
lst.append(r)
|
||||||
|
|
||||||
return lst
|
return lst
|
||||||
|
|
||||||
def _set_i_c_v(self, index, column, value):
|
def _set_i_c_v(self, index, column, value):
|
||||||
v = list(self._data[index])
|
self._data[index][column] = value
|
||||||
v[column] = value
|
|
||||||
self._data[index] = tuple(v)
|
|
||||||
self.modified()
|
self.modified()
|
||||||
|
|
||||||
def set_i_elevation(self, index: int, value):
|
def set_i_elevation(self, index: int, value):
|
||||||
|
|
|
||||||
|
|
@ -137,7 +137,9 @@ class AddCommand(QUndoCommand):
|
||||||
|
|
||||||
def redo(self):
|
def redo(self):
|
||||||
if self._new is None:
|
if self._new is None:
|
||||||
self._new = self._frictions.new(self._index)
|
self._new = self._frictions.new(
|
||||||
|
self._reach, self._index
|
||||||
|
)
|
||||||
self._new.edge = self._reach
|
self._new.edge = self._reach
|
||||||
else:
|
else:
|
||||||
self._frictions.insert(self._index, self._new)
|
self._frictions.insert(self._index, self._new)
|
||||||
|
|
@ -182,7 +184,7 @@ class SortCommand(QUndoCommand):
|
||||||
def redo(self):
|
def redo(self):
|
||||||
self._frictions.sort(
|
self._frictions.sort(
|
||||||
reverse=self._reverse,
|
reverse=self._reverse,
|
||||||
key=lambda x: x.name
|
key=lambda x: x._begin_rk
|
||||||
)
|
)
|
||||||
if self._indexes is None:
|
if self._indexes is None:
|
||||||
self._indexes = list(
|
self._indexes = list(
|
||||||
|
|
|
||||||
Binary file not shown.
Loading…
Reference in New Issue