BC: Edit: Add table display.

This commit is contained in:
Pierre-Antoine Rouby committed 2023-05-03 15:23:03 +02:00
1 parent 568be94e56
commit d49091a469
7 files changed
+463 -6

No files matched your search

@@ -15,6 +15,9 @@ class BoundaryCondition(object):
self._header = []
self._types = [int, float]
def __len__(self):
return len(self._data)
@property
def name(self):
return self._name
@@ -46,9 +49,16 @@ class BoundaryCondition(object):
def data(self):
return self._data.copy()
def get_type_column(self, column):
if 0 <= column < 2:
return self._types[column]
return None
@property
def _default_0(self):
return self._types[0](0)
@property
def _default_1(self):
return self._types[1](0.0)
@@ -56,13 +66,14 @@ class BoundaryCondition(object):
return self._data is not None
def add(self, index:int):
value = (self.default_0, self_default_1)
value = (self._default_0, self._default_1)
self._data.insert(index, value)
return value
def insert(self, index:int, value):
self._data.insert(index, value)
def delete(self, indexes):
def delete_i(self, indexes):
self._data = list(
map(
lambda e: e[1],
@@ -73,12 +84,30 @@ class BoundaryCondition(object):
)
)
def sort(self, _reverse):
self._data.sort(reverse=_reverse)
def delete(self, els):
self._data = list(
filter(
lambda e: e not in els,
self.data
)
)
def sort(self, _reverse=False, key=None):
if key is None:
self._data.sort(reverse=_reverse)
else:
self._data.sort(reverse=_reverse, key=key)
def get_i(self, index):
return self.data[index]
def get_range(self, _range):
l = []
for r in _range:
l.append(r)
return l
def _set_i_c_v(self, index, column, value):
v = list(self._data[index])
v[column] = self._types[column](value)
@@ -103,3 +132,15 @@ class BoundaryCondition(object):
new._set_i_c_v(ind, j, v[i])
return new
def move_up(self, index):
if index < len(self):
next = index - 1
d = self._data
d[index], d[next] = d[next], d[index]
def move_down(self, index):
if index >= 0:
prev = index + 1
d = self._data
d[index], d[prev] = d[prev], d[index]
@@ -41,5 +41,6 @@ class ZOverDebit(BoundaryCondition):
self._header = ["z", "debit"]
self._types = [float, float]
@property
def _default_0(self):
return 0.0