From 2abf861584b838f2d7d488f1ae252e824bd8eb80 Mon Sep 17 00:00:00 2001 From: "WQY\\qiong" Date: Sun, 30 Apr 2023 23:57:55 +0800 Subject: [PATCH] Add more info to topology --- api/s32_region_util.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/api/s32_region_util.py b/api/s32_region_util.py index 195e9db..eee3d85 100644 --- a/api/s32_region_util.py +++ b/api/s32_region_util.py @@ -94,16 +94,19 @@ class Topology: def __init__(self, db: str, nodes: list[str]) -> None: self._nodes: dict[str, Any] = {} self._max_x_node = '' + self._node_list: list[str] = [] for node in nodes: if not node_has_coord(db, node): continue if get_node_links(db, node) == 0: continue 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']: self._max_x_node = node self._links = {} + self._link_list: list[str] = [] for node in self._nodes: for link in get_node_links(db, node): candidate = True @@ -115,7 +118,7 @@ class Topology: if candidate: 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._link_list.append(link) if link not in self._nodes[link_nodes[0]]['links']: self._nodes[link_nodes[0]]['links'].append(link) if link not in self._nodes[link_nodes[1]]['links']: @@ -124,11 +127,17 @@ class Topology: def nodes(self): return self._nodes + def node_list(self): + return self._node_list + def max_x_node(self): return self._max_x_node def links(self): return self._links + + def link_list(self): + return self._link_list 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] = [] while True: + #print(cursor) paths.append(cursor) sorted_links = [] overlapped_link = ''