上一篇介绍了了三维topo的基本概念。 本篇持续介绍三维拓扑的相干元素,三维拓扑的次要元素包含:

  • TNode 节点元素
  • TLink 连线元素
  • TGroup 分组元素
  • TSubnet 子网元素

本文次要介绍TNode的应用阐明。

TNode

TNode示意拓扑图中一个节点对象。最终体现是一个三维对象。TNode的结构如下:

let node = new eg.TNode(params);node.setName(name);

其中params传递的是结构一个TNode所须要的参数。其中,能够通过图片,根本形态,obj模型或者gltf模型来结构。
而name示意TNode的名称,名称会在节点顶部用冒泡的形式进行显示。

应用图片结构TNode

应用一张图片结构TNode,其中的体现是一个Sprite对象。如下代码所示:

let imageNode2 = new eg.TNode({     image: "./images/access.png",     width:130,     height:80, });imageNode2.setName("imageNode2");

其中width和height为可选参数,当不指定width或者height的时候,默认应用图片自身的width和height。最终显示成果如下图所示:

应用根本形态结构TNode

能够通过立方体,球体,圆柱体,立体等结构TNode。示例代码如下:

let cubeNode = new eg.TNode({  shape:"cube",  width:100,  height:100,  depth:100});cubeNode.setName("cube node");

其中shape反对如下选项:

  • cube 示意立方体,对应的参数是width,height,depth
  • sphere 示意球体,对应的参数radius
  • cylinder 示意圆柱体,对应的参数有radiusTop,radiusBottom,height
  • plane 示意立体,对应的参加有width,height

    let planeNode = new eg.TNode({  shape:"plane",  width:100,  height:100});planeNode.p(-100,0,0);planeNode.setName("plane node");let sphereNode = new eg.TNode({      shape:"sphere",      radius:50})sphereNode.p(100,0,0);sphereNode.setName("Sphere Node");let cylinderNode = new eg.TNode({  shape:"cylinder",  radiusTop:50,  radiusBottom:50,  height:50,})cylinderNode.setName("Cylinder Node");

显示成果如下:

应用obj模型结构TNode

应用obj模型文件结构TNode,最终的体现是一个Mesh对象的成果。如下代码所示:

let objNode = new eg.TNode({  objPath: "./assets/objs/dingshi/dingshi.obj",  mtlPath: "./assets/objs/dingshi/dingshi.mtl",})objNode.setName("obj node");

其中objPath和mtlPath指定obj模型文件的门路。 最终成果如下所示:

应用gltf模型结构TNode

应用gltf模型文件结构TNode,最终的体现是一个Mesh对象的成果。如下代码所示:

let gltfNode = new eg.TNode({  gltfPath: './assets/gltf/icon.gltf',});gltfNode.setName("gltf node");gltfNode.setScale(12);gltfNode.p(100, 100, 100);

其中gltfPath指定gltf模型文件的门路,最终显示成果如下:

总结

本文介绍了TNode的各种构造方法,并介绍了TNode的setName办法。通过文中的构造方法,能够满足绝大多数的结构须要。

欢送关注公众号:"图易可视化"。