Add more info to topology
This commit is contained in:
@@ -94,16 +94,19 @@ class Topology:
|
|||||||
def __init__(self, db: str, nodes: list[str]) -> None:
|
def __init__(self, db: str, nodes: list[str]) -> None:
|
||||||
self._nodes: dict[str, Any] = {}
|
self._nodes: dict[str, Any] = {}
|
||||||
self._max_x_node = ''
|
self._max_x_node = ''
|
||||||
|
self._node_list: list[str] = []
|
||||||
for node in nodes:
|
for node in nodes:
|
||||||
if not node_has_coord(db, node):
|
if not node_has_coord(db, node):
|
||||||
continue
|
continue
|
||||||
if get_node_links(db, node) == 0:
|
if get_node_links(db, node) == 0:
|
||||||
continue
|
continue
|
||||||
self._nodes[node] = get_node_coord(db, node) | { 'links': [] }
|
self._nodes[node] = get_node_coord(db, node) | { 'links': [] }
|
||||||
|
self._node_list.append(node)
|
||||||
if self._max_x_node == '' or self._nodes[node]['x'] > self._nodes[self._max_x_node]['x']:
|
if self._max_x_node == '' or self._nodes[node]['x'] > self._nodes[self._max_x_node]['x']:
|
||||||
self._max_x_node = node
|
self._max_x_node = node
|
||||||
|
|
||||||
self._links = {}
|
self._links = {}
|
||||||
|
self._link_list: list[str] = []
|
||||||
for node in self._nodes:
|
for node in self._nodes:
|
||||||
for link in get_node_links(db, node):
|
for link in get_node_links(db, node):
|
||||||
candidate = True
|
candidate = True
|
||||||
@@ -115,7 +118,7 @@ class Topology:
|
|||||||
if candidate:
|
if candidate:
|
||||||
length = get_pipe(db, link)['length'] if is_pipe(db, link) else 0.0
|
length = get_pipe(db, link)['length'] if is_pipe(db, link) else 0.0
|
||||||
self._links[link] = { 'node1' : link_nodes[0], 'node2' : link_nodes[1], 'length' : length }
|
self._links[link] = { 'node1' : link_nodes[0], 'node2' : link_nodes[1], 'length' : length }
|
||||||
|
self._link_list.append(link)
|
||||||
if link not in self._nodes[link_nodes[0]]['links']:
|
if link not in self._nodes[link_nodes[0]]['links']:
|
||||||
self._nodes[link_nodes[0]]['links'].append(link)
|
self._nodes[link_nodes[0]]['links'].append(link)
|
||||||
if link not in self._nodes[link_nodes[1]]['links']:
|
if link not in self._nodes[link_nodes[1]]['links']:
|
||||||
@@ -124,11 +127,17 @@ class Topology:
|
|||||||
def nodes(self):
|
def nodes(self):
|
||||||
return self._nodes
|
return self._nodes
|
||||||
|
|
||||||
|
def node_list(self):
|
||||||
|
return self._node_list
|
||||||
|
|
||||||
def max_x_node(self):
|
def max_x_node(self):
|
||||||
return self._max_x_node
|
return self._max_x_node
|
||||||
|
|
||||||
def links(self):
|
def links(self):
|
||||||
return self._links
|
return self._links
|
||||||
|
|
||||||
|
def link_list(self):
|
||||||
|
return self._link_list
|
||||||
|
|
||||||
|
|
||||||
def calculate_boundary(name: str, nodes: list[str]) -> list[tuple[float, float]]:
|
def calculate_boundary(name: str, nodes: list[str]) -> list[tuple[float, float]]:
|
||||||
@@ -141,6 +150,7 @@ def calculate_boundary(name: str, nodes: list[str]) -> list[tuple[float, float]]
|
|||||||
|
|
||||||
paths: list[str] = []
|
paths: list[str] = []
|
||||||
while True:
|
while True:
|
||||||
|
#print(cursor)
|
||||||
paths.append(cursor)
|
paths.append(cursor)
|
||||||
sorted_links = []
|
sorted_links = []
|
||||||
overlapped_link = ''
|
overlapped_link = ''
|
||||||
|
|||||||
Reference in New Issue
Block a user