feat: improved readibility by hiding transparent iogams and bridge ds
This commit is contained in:
+16
-4
@@ -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}\nGAMDataSource | {node}", color=blue];\n'
|
node = f'{name} [label="{name}\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]
|
||||||
|
|||||||
Reference in New Issue
Block a user