process for graph with un-named nodes done

1123
ZhangGe6 4 years ago
parent c75a50257d
commit 1b1615bfa2

@ -47,7 +47,12 @@ grapher.Graph = class {
// } // }
const modelNodeName = node.modelNodeName const modelNodeName = node.modelNodeName
this._modelNodeName2ViewNode.set(modelNodeName, node); this._modelNodeName2ViewNode.set(modelNodeName, node);
this._modelNodeName2State.set(modelNodeName, 'Exist');
// _modelNodeName2State save our modifications, and wil be initilized at the first graph construction only
// otherwise the modfications will lost
if (!this._modelNodeName2State.get(modelNodeName)) {
this._modelNodeName2State.set(modelNodeName, 'Exist');
}
// console.log(modelNodeName) // console.log(modelNodeName)
// console.log(node.modelNodeName) // console.log(node.modelNodeName)
@ -171,13 +176,18 @@ grapher.Graph = class {
edgePathGroupDefs.appendChild(marker("arrowhead-vee-select")); edgePathGroupDefs.appendChild(marker("arrowhead-vee-select"));
// <==== 显示 边上的箭头 // <==== 显示 边上的箭头
console.log(this._modelNodeName2State)
// console.log(this.nodes) // console.log(this.nodes)
for (const nodeId of this.nodes.keys()) { for (const nodeId of this.nodes.keys()) {
const node = this.node(nodeId); const node = this.node(nodeId);
if (this.children(nodeId).length == 0) { if (this.children(nodeId).length == 0) {
// console.log(node.label.modelNodeName)
// console.log(this._modelNodeName2State.get(node.label.modelNodeName))
// node // node
// type(node.label) == view.Node // type(node.label) == view.Node
node.label.build(document, nodeGroup); // 如果注释TypeError Cannot read properties of undefined (reading 'setAttribute') if (this._modelNodeName2State.get(node.label.modelNodeName) == 'Exist') {
node.label.build(document, nodeGroup);
}
} }
else { else {
@ -197,7 +207,18 @@ grapher.Graph = class {
} }
for (const edge of this.edges.values()) { for (const edge of this.edges.values()) {
edge.label.build(document, edgePathGroup, edgeLabelGroup); var node_from = this._nodes.get(edge.v).label;
var node_to = this._nodes.get(edge.w).label;
// console.log(this._modelNodeName2State.get(node_from.modelNodeName))
// console.log(this._modelNodeName2State.get(node_to.modelNodeName))
if (
this._modelNodeName2State.get(node_from.modelNodeName) == 'Exist' &&
this._modelNodeName2State.get(node_to.modelNodeName) == 'Exist'
)
{
edge.label.build(document, edgePathGroup, edgeLabelGroup);
}
} }
} }
@ -207,7 +228,9 @@ grapher.Graph = class {
const node = this.node(nodeId); const node = this.node(nodeId);
if (this.children(nodeId).length == 0) { if (this.children(nodeId).length == 0) {
// node // node
node.label.update(); // 让节点显示出来 if (this._modelNodeName2State.get(node.label.modelNodeName) == 'Exist') {
node.label.update(); // 让节点显示出来
}
} }
// ===> 这段没有操作 // ===> 这段没有操作
else { else {
@ -223,8 +246,16 @@ grapher.Graph = class {
} }
// console.log(this.edges) // console.log(this.edges)
for (const edge of this.edges.values()) { for (const edge of this.edges.values()) {
var node_from = this._nodes.get(edge.v).label;
var node_to = this._nodes.get(edge.w).label;
// console.log(edge.label) // console.log(edge.label)
edge.label.update(); // 让边显示出来 if (
this._modelNodeName2State.get(node_from.modelNodeName) == 'Exist' &&
this._modelNodeName2State.get(node_to.modelNodeName) == 'Exist'
)
{
edge.label.update(); // 让边显示出来
}
} }
} }

@ -881,7 +881,9 @@ view.Graph = class extends grapher.Graph {
createNode(node) { createNode(node) {
var node_id = (this._nodeKey++).toString(); // in case input (onnx) node has no name var node_id = (this._nodeKey++).toString(); // in case input (onnx) node has no name
const value = new view.Node(this, node, node_id); var modelNodeName = node.name ? node.name : node.type.name + node_id
const value = new view.Node(this, node, modelNodeName);
value.name = node_id; value.name = node_id;
// value.name = node.name; // value.name = node.name;
this.setNode(value); this.setNode(value);
@ -945,10 +947,10 @@ view.Graph = class extends grapher.Graph {
for (const node of graph.nodes) { for (const node of graph.nodes) {
// console.log(node) // console.log(node)
if (this._modelNodeName2State.get(node.name) == 'Deleted') { // if (this._modelNodeName2State.get(node.name) == 'Deleted') {
// console.log(this._modelNodeName2State.get(node.name)) // // console.log(this._modelNodeName2State.get(node.name))
continue; // continue;
} // }
const viewNode = this.createNode(node); const viewNode = this.createNode(node);
// My code // My code
// if (this._modelNodeName2State.get(viewNode.modelNodeName) == 'Deleted') { // if (this._modelNodeName2State.get(viewNode.modelNodeName) == 'Deleted') {
@ -1085,13 +1087,13 @@ view.Node = class extends grapher.Node {
// 这里的value是一个onnx.Node这里正在构建的是view.Node // 这里的value是一个onnx.Node这里正在构建的是view.Node
// context 是指Graph // context 是指Graph
constructor(context, value, node_id) { constructor(context, value, modelNodeName) {
super(); super();
this.context = context; this.context = context;
this.value = value; this.value = value;
view.Node.counter = view.Node.counter || 0; view.Node.counter = view.Node.counter || 0;
this.id = 'node-' + (value.name ? 'name-' + value.name : 'id-' + (view.Node.counter++).toString()); this.id = 'node-' + (value.name ? 'name-' + value.name : 'id-' + (view.Node.counter++).toString());
this.modelNodeName = value.name ? value.name : value.type.name + node_id this.modelNodeName = modelNodeName
this._add(this.value); this._add(this.value);
} }

Loading…
Cancel
Save