博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
选择集覆写
阅读量:6914 次
发布时间:2019-06-27

本文共 1000 字,大约阅读时间需要 3 分钟。

选择覆载

这篇文章的原著是 Autodesk ADN 的 Adam Nagy。

当我们在 Viewer 里选中构件后,在模型浏览器窗口里永远只会选中叶子(Leaf)节点。以上图为例,你选中的构件通常都会有一个子节点叫作 "Body" 或 "Solid" 等,通常这些构件的属性都不会是你关注的,这会让终端使用者无法取得他们想要的数据。幸运的是,你可以透过撰写一个函数很轻易的去覆写选择集,选中原本构件的父节点,而且你只要去监听 Autodesk.Viewing.SELECTION_CHANGED_EVENT 事件就可以达成了:

// ...    oViewer =new Autodesk.Viewing.Private.GuiViewer3D ($("#viewer") [0], {});    oViewer.addEventListener(Autodesk.Viewing.SELECTION_CHANGED_EVENT, onSelectionChanged)}function onSelectionChanged(event) {    // Let's only control selection in case of    // single user selection    if (event.dbIdArray.length === 1) {        oViewer.getProperties(event.dbIdArray[0], function(data) {            console.log(data.name)            if (data.name.startsWith("Solid")) {                var instanceTree = oViewer.model.getData().instanceTree;                var parentId = instanceTree.getNodeParentId(event.dbIdArray[0])                oViewer.select([parentId]);            }        })    }}

透过上面的修改,现在透过点击构件就可以选中构件的父节点,就可以看到所有我们想要的属性数据。

选择覆载2

转载地址:http://uqicl.baihongyu.com/

你可能感兴趣的文章
[LintCode] Serialize and Deserialize Binary Tree
查看>>
Android 矢量图
查看>>
linux awk命令详解
查看>>
MySQL的SET字段类型
查看>>
Quartz数据库表分析
查看>>
Linux基本命令总结
查看>>
UltraGrid中增删改功能推荐做法
查看>>
我的友情链接
查看>>
iOS 自定义 NavigationController
查看>>
Web开发中的各种色彩
查看>>
cocos2dx v3.9 与SpriteFrameCache和AnimationCache之间的对话
查看>>
说说“用户无线网络时不时断开重连”的故障!
查看>>
Vue 爬坑之路(九)—— 用正确的姿势封装组件
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
兼容ie6/ie7的inline-block元素的两端对齐布局
查看>>
我的友情链接
查看>>
忘记root密码通过单用户模式重置过程
查看>>
【解决】Starting httpd: httpd: apr_sockaddr_info_get() failed for DB2
查看>>
Google开源网页加速工具Page Speed
查看>>