gpt4 book ai didi

javascript - GoJS 图形解析器

转载 作者:行者123 更新时间:2023-11-30 20:55:08 31 4
gpt4 key购买 nike

我正在尝试解析 GoJS 图,用户可以从盘子、圆形节点、矩形节点、三 Angular 形中拖动不同的类别。他可以在一个方向上将它们互连,直到到达终点。

所需的功能是解析图形并根据用户依赖关系图给出可能路径的列表。此处显示示例图

enter image description here

我的函数是这样的代码:

function collectPaths(y, x) {
var stack = new go.List(go.node);
var coll = new go.List(go.List);
lock = false;
function find(y, x) {
console.log(y.data.name);
y.findNodesInto().each(function (n) {
console.log(y.data.name + " ●▬● " + n.data.name);
if ((n.data.key == x.data.key) && !(lock)) { // success
console.log(n.data.name);
var path = stack.copy();
path.reverse();
coll.add(path);
} else if((n.data.key !=x.data.key) && lock){
// stack.add(n);
console.log(n.data.name);
if (n.data.category === "triangle") {

pp = pp.findNodesInto();
var it = pp.iterator;
var m = new go.Map(go.node, "number");
lock = true;
while (it.next()) {
m.pop(it.value,it.value);
stack.add(it.value);
console.log(it.value.data.name);
find(it.value, x);
}
var tempList=go.list(go.node);
tempList.each(function (pn) {
pn = tempList.pop();
if (!"undefined") {
stack.add(parent);
find(parent, x);
// stack.add(pn);
console.log(pn.data.name);
} else {
pn = tempList.pop();
find(pn, x);
}
});
} else {
console.log(n.data.name);
stack.add(n);
find(n, x);
stack.removeAt(stack.count - 1);
}
}
lock = false;
});
} // end of full stack collection
find(y, x);
return coll;
}

但函数没有给出所需的输出。

预期输出如下:对于附图如下:

N30 – N40 – N10
N1 -N2-N3-N4-N10
N5-N6-N9-N10
N5-N10
N7-N8-N10
N7-N8-N11-N10

我能做什么?

最佳答案

样本https://gojs.net/latest/samples/distances.html演示如何找到任何一对节点之间的所有路径。您想要使用 collectAllPaths 函数——您可以删除与创建随机图或查找节点之间的距离或帮助用户交互选择开始和结束节点有关的函数。

关于javascript - GoJS 图形解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47748842/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com