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 += "</table>>"
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
irows = []
orows = []
@@ -332,7 +337,7 @@ def __doc_gam__(label, obj, edges, thread, classfilter=True):
return node, edges
def __process_gamds__(name, signals, edges):
def __process_gamds__(name, cls, signals, edges):
node = ""
outputs = {}
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)})"
)
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
@@ -410,8 +415,8 @@ def __process_ds__(name, obj, edges):
elif thread != edge[-1]:
multi_thread = True
if sigs:
if cls == "GAMDataSource":
node, edges = __process_gamds__(name, sigs, edges)
if cls == "GAMDataSource" or cls == "RealTimeThreadAsyncBridge":
node, edges = __process_gamds__(name, cls, sigs, edges)
else:
order = []
lost = []
@@ -447,6 +452,13 @@ def __process_ds__(name, obj, edges):
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 = ""
for source, target, _ in edges:
src_obj = source[0]