通过get.webgl.org可检测访问的浏览器是否支持WebGL。用iOS系统需要iOS8及以上版本,采用IE浏览器须IE11及以上版本才支持WebGL, 不管选择哪种类型浏览器,我们建议尽量采用最新版本。
驱动组件:
1. ht.graph.GraphView
2. ht.graph3d.Graph3dView
3. ht.ui.TableView
4. ht.ui.ListView
5. ht.ui.TreeView
节点三种属性:
1.set/get: node.setName()/getName(),还有position\icon\image等;
2.attr属性: node.setAttr('name','nodename');
node.getAttr('name')
简化:node.a('name','nodename')两个参数即:setAttr\
node.a('name')一个参数即:getAttr()
3.style属性:node.setStyle('body.color','red')/node.getStyle('body.color')
body.color(图元颜色)/2d.visible(可见不可见)/shape(设置形状)/shape.background(背景色)
3D坐标
3D坐标系的y轴则是与2D坐标系没有关联的新轴,ht.Node上增加了getElevation()和setElevation(elevation)函数, 控制Node图元中心位置所在3D坐标系的y轴位置。同时增加了getTall()和setTall(tall)函数,控制Node图元在y轴的长度。
为了避免2D和3D坐标系的混乱,以及设置3D图元位置大小的方便,HT为ht.Node图元增加了以下新函数:
setPosition3d(x, y, z)|setPosition3d([x, y, z]),可传入x, y, z三个参数,或传入[x, y, z]的数组
getPosition3d()的新函数,返回[x, y, z]数组值,即[getPosition().x, getElevation(), getPosition().y]
setSize3d(x, y, z)|setSize3d([x, y, z]),可传入x, y, z三个参数,或传入[x, y, z]的数组
getSize3d()的新函数,返回[x, y, z]数组值,即[getWidth(), getTall(), getHeight()]
3D立方体
*shape3d:默认值为undefined,为空时显示为六面立方体,其他可选值为:
box:立方体,不同于默认的六面体,立方体类型的六个面颜色和贴图只能相同,绘制性能比默认六面体高
sphere:球体,可通过shape3d.side分成多片,结合shape3d.side.from和shape3d.side.to可形成半球体等
cone:锥体,可通过shape3d.side形成三角锥、四角锥等形状
torus:圆环,可通过shape3d.side分成多片,结合shape3d.side.from和shape3d.side.to可形成半圆环等
cylinder:圆柱,可通过shape3d.top.*和shape3d.bottom.*可控制顶面和底面的参数
star:星形体,可通过shape3d.top.*和shape3d.bottom.*可控制顶面和底面的参数
rect:矩形体,可通过shape3d.top.*和shape3d.bottom.*可控制顶面和底面的参数
roundRect:圆矩形体,可通过shape3d.top.*和shape3d.bottom.*可控制顶面和底面的参数
triangle:三角形体,可通过shape3d.top.*和shape3d.bottom.*可控制顶面和底面的参数
rightTriangle:直角三角形体,可通过shape3d.top.*和shape3d.bottom.*可控制顶面和底面的参数
parallelogram:平行四边形体,可通过shape3d.top.*和shape3d.bottom.*可控制顶面和底面的参数
trapezoid:梯形体,可通过shape3d.top.*和shape3d.bottom.可控制顶面和底面的参数
billboard: 公告板,立着的面片,一般用来做UI等2D信息展示
plane: 地板,躺着的面片