full graph with collapsed clusters
This commit is contained in:
parent
1a1919fb8e
commit
befb69d00c
@ -282,11 +282,16 @@ namespace NanoBrain {
|
||||
|
||||
private void DescendGraph(Dag.Node receiver, ref int ix, Dag dag) {
|
||||
foreach (Synapse synapse in receiver.nucleus.synapses) {
|
||||
Dag.Node synapseNode = dag.FindNode(synapse.neuron.name);
|
||||
Nucleus nucleus = synapse.neuron;
|
||||
if (nucleus.parent != null && nucleus.parent != currentNucleus.parent) {
|
||||
nucleus = nucleus.parent;
|
||||
}
|
||||
string nucleusName = nucleus.name;
|
||||
Dag.Node synapseNode = dag.FindNode(nucleusName);
|
||||
if (synapseNode == null) {
|
||||
synapseNode = new() {
|
||||
id = ix,
|
||||
nucleus = synapse.neuron
|
||||
nucleus = nucleus
|
||||
};
|
||||
dag.nodes.Add(synapseNode);
|
||||
}
|
||||
@ -744,9 +749,20 @@ namespace NanoBrain {
|
||||
public List<Node> nodes = new();
|
||||
public List<Edge> edges = new();
|
||||
|
||||
public Node FindNode(string name) {
|
||||
public Node FindNode(string name, bool justBaseName = true) {
|
||||
if (justBaseName) {
|
||||
int colonPos = name.IndexOf(":");
|
||||
if (colonPos > 0)
|
||||
name = name[..colonPos];
|
||||
}
|
||||
foreach (Node node in this.nodes) {
|
||||
if (node.nucleus.name == name)
|
||||
string nodeName = node.nucleus.name;
|
||||
if (justBaseName) {
|
||||
int colonPos = nodeName.IndexOf(":");
|
||||
if (colonPos > 0)
|
||||
nodeName = nodeName[..colonPos];
|
||||
}
|
||||
if (nodeName == name)
|
||||
return node;
|
||||
}
|
||||
return null;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user