mirror of
https://gitlab.com/pamhyr/pamhyr2.git
synced 2026-10-30 03:20:41 +01:00
Network: Add edge add and del command.
This commit is contained in:
1 parent
520d8f73df
commit
ded95ef097
3 files changed
+61
-14
No files matched your search
+22
-12
@@ -103,10 +103,29 @@ class Graph(object):
|
||||
def insert_node(self, node):
|
||||
return self._add_node(node)
|
||||
|
||||
def remove_node(self, node_name:str):
|
||||
self._nodes = list(
|
||||
filter(
|
||||
lambda n: n.name != node_name,
|
||||
self._nodes
|
||||
)
|
||||
)
|
||||
self._status.modified()
|
||||
|
||||
def create_node(self, x:float = 0.0, y:float = 0.0):
|
||||
node = self._create_node(x, y)
|
||||
return node
|
||||
|
||||
def _create_edge(self, n1:Node, n2:Node):
|
||||
edge = self._edge_ctor(
|
||||
self._edges_ids,
|
||||
"", n1, n2,
|
||||
status = self._status
|
||||
)
|
||||
self._edges_ids += 1
|
||||
return edge
|
||||
|
||||
|
||||
def _add_edge(self, edge):
|
||||
# This edge already exists ?
|
||||
if any(filter(lambda e: (e.node1 == edge.node1 and
|
||||
@@ -115,28 +134,19 @@ class Graph(object):
|
||||
return None
|
||||
|
||||
self._edges.append(edge)
|
||||
self._edges_ids += 1
|
||||
|
||||
self._status.modified()
|
||||
return edge
|
||||
|
||||
def add_edge(self, n1:Node, n2:Node):
|
||||
edge = self._edge_ctor(self._edges_ids,
|
||||
"", n1, n2,
|
||||
status = self._status)
|
||||
edge = self._create_edge(n1, n2)
|
||||
return self._add_edge(edge)
|
||||
|
||||
def insert_edge(self, edge):
|
||||
return self._add_edge(edge)
|
||||
|
||||
def remove_node(self, node_name:str):
|
||||
self._nodes = list(
|
||||
filter(
|
||||
lambda n: n.name != node_name,
|
||||
self._nodes
|
||||
)
|
||||
)
|
||||
self._status.modified()
|
||||
def create_edge(self, n1:Node, n2:Node):
|
||||
return self._create_edge(n1, n2)
|
||||
|
||||
def remove_edge(self, edge_name:str):
|
||||
self._edges = list(
|
||||
|
||||
Reference in new issue
Block a user