请选择 进入手机版 | 继续访问电脑版
2021ThingJS数字孪生智慧场景可视化开发大赛获奖者专访
查看: 1414|回复: 0

[分享] 浅谈ThingJS之工具查询方式

[复制链接]
avatar

8

主题

9

帖子

0

积分

游客

积分
0
ico_lz  楼主| 发表于 2019-8-30 11:02:49 | 显示全部楼层 |阅读模式

在开辟中,引入了场景,增加了工具,那我们若何尽快的找到工具呢?


方式以下:

1.在父类/子类树上,经过parent、children属性找到要控制的工具

2.在分类工具属性树上,经过类身上分类属性找到要控制的工具

3.利用query方式


ThingJS 的 query 方式,包括 全局 和 部分,全局查询是对场景内的一切工具停止查询;部分查询 是在一个工具的子工具中停止查询,如在一个楼层内查询某个装备;假如还需要更切确的缩小查询范围,还可以对查询成果停止继续查询;

查询条件通常为一个字符串,如:car01,.Thing,#100,或正则表达式,可以按照物体的称号、范例、包括的属性等停止查询,也可以对某个工具的子物体停止查询;


利用query方式查询工具

全局查询

  1. app.on('load', function () {
  2. let buildings = app.query('.Building');
  3. buildings.style.outlineColor = "#0000ff";
  4. });
复制代码


部分查询

  1. app.on('load', function (ev) {
  2. let buildings = app.query('.Building');
  3. buildings.forEach(function (building) {
  4. building.query('[levelNum > 1]').forEach(function(obj) {
  5. obj.style.outlineColor = "#0000ff";
  6. })
  7. })
  8. });
复制代码


按照工具称号停止查询

  1. app.query('.Thing')//查询thing类的物体
  2. app.query('.Building')//查询building修建类
  3. app.query('.Floor')//查询floor楼层类
  4. app.query('.Room')//查询room房间类
复制代码


按照物体类停止查询

  1. app.query('.Thing')//查询thing类的物体
  2. app.query('.Building')//查询building修建类
  3. app.query('.Floor')//查询floor楼层类
  4. app.query('.Room')//查询room房间类
复制代码


按照工具ID停止查询

  1. app.query('#100')//id查询记得加#,格式可所以数字也可以是字符串,例如:#100,#userID100
复制代码


查询某一类物体范例的

  1. app.query('[alarm]')//查询范例全数是alarm的工具
复制代码


正确查询某一范例的物体

  1. app.query('["userData/物体范例"="粮仓"]')//按照物体属性查询
复制代码


查询levelNum>2的工具

  1. app.query('[levelNum>2]')//查询某一修建2层以上的楼层工具,今朝支持>,<,=,>=,<=
复制代码


挑选查询操纵

  1. app.query('.Thing').query('[品牌=IBM]');//在查询成果中再停止查询
  2. var sel = app.query('[品牌=AA]');
  3. app.query('.Thing').add(sel)//或查询,查询.Thing类的大概属性[品牌=AA]的
  4. app.query('.Thing').not('car01');//解除查询,查询除了car01的一切Thing
复制代码


在父类/子类树上,经过parent、children属性找到要控制的工具

  1. let buildings = app.query('.Building');
  2. buildings.forEach(function (building) { //修建类
  3. building.floors.forEach(floor => { //修建下的楼层类
  4. floor.style.opacity = 0.5;
  5. })
  6. })
复制代码


总结:查询成果返回的是一个selector工具(数组工具),可以对查询成果间接绑定事务,或一些批量操纵。

浅谈ThingJS之工具查询方式

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则