feat: improved readibility by hiding transparent iogams and bridge ds

This commit is contained in:
Ferrari Martino Giordano
2024-03-27 10:41:02 +01:00
parent f3ed8bbcdc
commit 14cc39d98c
+16 -4
View File
@@ -197,6 +197,11 @@ def __doc_iogam__(id, obj, edges, thread):
inode += "<td port='out_0'></td></tr>" inode += "<td port='out_0'></td></tr>"
inode += "</table>>" inode += "</table>>"
inode += "];\n" inode += "];\n"
if not bold:
e_in, e_out = edges[-2:]
edges = edges[:-2]
edges.append((e_in[0], e_out[1], thread))
inode = ""
node += inode node += inode
irows = [] irows = []
orows = [] orows = []
@@ -332,7 +337,7 @@ def __doc_gam__(label, obj, edges, thread, classfilter=True):
return node, edges return node, edges
def __process_gamds__(name, signals, edges): def __process_gamds__(name, cls, signals, edges):
node = "" node = ""
outputs = {} outputs = {}
inputs = {} inputs = {}
@@ -386,7 +391,7 @@ def __process_gamds__(name, signals, edges):
f"<{doc.format_name(sig_name)}> {sig_name} ({doc.type_to_string(sig_type)})" f"<{doc.format_name(sig_name)}> {sig_name} ({doc.type_to_string(sig_type)})"
) )
if node: if node:
node = f'{name} [label="{name}&#92;nGAMDataSource | {node}", color=blue];\n' node = f'{name} [label="{name}&#92;n{cls} | {node}", color=blue];\n'
return node, edges return node, edges
@@ -410,8 +415,8 @@ def __process_ds__(name, obj, edges):
elif thread != edge[-1]: elif thread != edge[-1]:
multi_thread = True multi_thread = True
if sigs: if sigs:
if cls == "GAMDataSource": if cls == "GAMDataSource" or cls == "RealTimeThreadAsyncBridge":
node, edges = __process_gamds__(name, sigs, edges) node, edges = __process_gamds__(name, cls, sigs, edges)
else: else:
order = [] order = []
lost = [] lost = []
@@ -447,6 +452,13 @@ def __process_ds__(name, obj, edges):
def __process_edges__(edges, datasources): def __process_edges__(edges, datasources):
# remove duplicated edges
clean_edges = []
for edge in edges:
if edge not in clean_edges:
clean_edges.append(edge)
edges = clean_edges
# generate arrows
arrows = "" arrows = ""
for source, target, _ in edges: for source, target, _ in edges:
src_obj = source[0] src_obj = source[0]