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) {
|
private void DescendGraph(Dag.Node receiver, ref int ix, Dag dag) {
|
||||||
foreach (Synapse synapse in receiver.nucleus.synapses) {
|
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) {
|
if (synapseNode == null) {
|
||||||
synapseNode = new() {
|
synapseNode = new() {
|
||||||
id = ix,
|
id = ix,
|
||||||
nucleus = synapse.neuron
|
nucleus = nucleus
|
||||||
};
|
};
|
||||||
dag.nodes.Add(synapseNode);
|
dag.nodes.Add(synapseNode);
|
||||||
}
|
}
|
||||||
@ -744,9 +749,20 @@ namespace NanoBrain {
|
|||||||
public List<Node> nodes = new();
|
public List<Node> nodes = new();
|
||||||
public List<Edge> edges = 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) {
|
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 node;
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user