三维拓扑元素介绍之TGroup
前面讲述了TNode,TLinK,这篇讲述TGroup的使用。
分组节点 TGroup
分组节点TGroup,可以对所有的节点进行分组管理。 TGroup继承于TNode,因此其构造方式也继承了TNode,此处不再赘述。比如如下代码就构造了一个TGroup:
let group = new eg.TGroup("./images/AMF.png");
group在未展开的时候,其显示形式和TNode一样。
group主要体现在其对节点的分组管理能力。当分组把某个节点加未group的孩子时,该节点就会被分组进行组管理,主要体现在分组的展开和合并,分组孩子节点的的显示和隐藏。以下代码增加一个分组节点及其两个孩子节点:
let node1 = new eg.TNode({image: "./images/convergence.png"});
node1.setName("node1");
node1.p(-200, 100, 0);
let node2 = new eg.TNode({image: "./images/convergence.png"});
node2.setName("node2");
node2.p(200, -100, 0);
let group = new eg.TGroup({
image: "./images/access.png"
});
group.setStyle("group.m.map", "./images/bg01.png")
.setStyle("group.m.transparent", true);
group.add(node1);
group.add(node2);
dataModel.add(node1);
dataModel.add(node2);
dataModel.add(group);
分组节点合并的时候,其展示方式和普通的节点类似,其孩子节点会隐藏显示。 如下图所示:
双击分组节点,可以展开分组节点,并显示其孩子节点,分组节点展开时,显示方式是所有孩子节点的包围盒效果,如下图所示:
特别提示: 分组节点的孩子也可以是分组节点,也就是分组支持嵌套的效果。比如如下代码:
let group = new eg.TGroup({
image: "./images/access.png"
});
group.setStyle("group.m.map", "./images/bg01.png")
.setStyle("group.m.transparent", true);
group.add(node1);
group.add(node2);
分组节点包含另外分组节点的效果,如下图所示:
结语
本文介绍了分组节点。分组节点可以满足 对不同业务节点的分类分组管理,同时也适合节点数太多,需要分层管理的情况。下一篇介绍子网节点。 欢迎关注公众号:"图易可视化"。
转载自:https://segmentfault.com/a/1190000041865686