mirror of https://gitlab.com/pamhyr/pamhyr2
Network: If there is only one edge, select it as current reach.
parent
53dc068dab
commit
c2c1667a73
|
|
@ -29,6 +29,14 @@ class Graph(object):
|
||||||
def edges(self):
|
def edges(self):
|
||||||
return self._edges
|
return self._edges
|
||||||
|
|
||||||
|
def enable_edges(self):
|
||||||
|
return list(
|
||||||
|
filter(
|
||||||
|
lambda e: e.is_enable(),
|
||||||
|
self._edges
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
def edges_names(self):
|
def edges_names(self):
|
||||||
return list(map(lambda e: e.name, self._edges))
|
return list(map(lambda e: e.name, self._edges))
|
||||||
|
|
||||||
|
|
@ -38,6 +46,13 @@ class Graph(object):
|
||||||
def edges_counts(self):
|
def edges_counts(self):
|
||||||
return len(self._edges)
|
return len(self._edges)
|
||||||
|
|
||||||
|
def enable_edges_counts(self):
|
||||||
|
return reduce(
|
||||||
|
lambda acc, e: acc + 1 if e.is_enable() else acc,
|
||||||
|
self._edges,
|
||||||
|
0
|
||||||
|
)
|
||||||
|
|
||||||
def is_node_exists(self, node_name):
|
def is_node_exists(self, node_name):
|
||||||
return reduce(
|
return reduce(
|
||||||
lambda acc, n: (acc or (n.name == node_name)),
|
lambda acc, n: (acc or (n.name == node_name)),
|
||||||
|
|
|
||||||
|
|
@ -336,9 +336,16 @@ class River(Graph, SQLSubModel):
|
||||||
return self._parameters[solver]
|
return self._parameters[solver]
|
||||||
|
|
||||||
def has_current_reach(self):
|
def has_current_reach(self):
|
||||||
|
if self.enable_edges_counts() == 1:
|
||||||
|
return True
|
||||||
|
|
||||||
return self._current_reach is not None
|
return self._current_reach is not None
|
||||||
|
|
||||||
def current_reach(self):
|
def current_reach(self):
|
||||||
|
ee = self.enable_edges()
|
||||||
|
if len(ee) == 1:
|
||||||
|
return ee[0]
|
||||||
|
|
||||||
return self._current_reach
|
return self._current_reach
|
||||||
|
|
||||||
def set_current_reach(self, reach):
|
def set_current_reach(self, reach):
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue