资讯专栏INFORMATION COLUMN

选择集覆写

princekin / 2020人阅读

摘要:幸运的是,你可以透过撰写一个函数很轻易的去覆写选择集,选中原本构件的父节点,而且你只要去监听事件就可以达成了透过上面的修改,现在透过点击构件就可以选中构件的父节点,就可以看到所有我们想要的属性数据。

这篇文章的原著是 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]);
            }
        })
    }
}

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/91879.html

相关文章

  • Drupal 8 结合Nginx实现文件上传进度,提高上传文件性能

    摘要:自带的上传进度功能,需要扩展支持。于是想到利用的模块来实现上传进度。接下来使用模块替代的文件上传功能,目的是提高文件上传的性能。而且可以避免上传大文件时执行超时引起错误。新建一个对象,把设置成刚上传的文件。 Drupal 8 自带的上传进度功能,需要PECL uploadprogress library扩展支持。安装后发现效果还是不太好,不知道什么原因,进度条不能正常显示,而且上传较大...

    SwordFly 评论0 收藏0
  • Drupal 8 结合Nginx实现文件上传进度,提高上传文件性能

    摘要:自带的上传进度功能,需要扩展支持。于是想到利用的模块来实现上传进度。接下来使用模块替代的文件上传功能,目的是提高文件上传的性能。而且可以避免上传大文件时执行超时引起错误。新建一个对象,把设置成刚上传的文件。 Drupal 8 自带的上传进度功能,需要PECL uploadprogress library扩展支持。安装后发现效果还是不太好,不知道什么原因,进度条不能正常显示,而且上传较大...

    keithxiaoy 评论0 收藏0
  • Java 8 新特性之默认方法(Default Methods)

    摘要:概述引入了新的语言特性默认方法。覆写默认方法,这跟类与类之间的覆写规则相类似。静态默认方法的另一个特性是接口可以声明并且可以提供实现静态方法本文首发于凌风博客新特性之默认方法作者凌风 1. 概述 Java 8 引入了新的语言特性——默认方法(Default Methods)。 默认方法允许您添加新的功能到现有库的接口中,并能确保与采用旧版本接口编写的代码的二进制兼容性。 1.1 为什么...

    QLQ 评论0 收藏0
  • 姿势摆好,一招学会android的布局优化!

    摘要:并且便于统一的修改与查看。一旦被显示后,则将从视图框架中移除,其也会失效,此时得到的也是空的。所以它可以有效的避免布局的嵌套,从而达到优化布局的效果。其他嵌套的中,尽量不要使用,因为会重新测量两次。 作为android应用来讲,无论应用本身多么美观,功能多么强大,内容多么丰富。但如果App本身打开界面缓慢超过手机16ms刷新一次页面的时间,就会产生卡顿。用户体验都会变得极差,导致用户量...

    lijy91 评论0 收藏0
  • javascript—自身属性与原型属性关系

    摘要:构造函数自身属性是直接赋值给它的所有,也就是说本身的属性,不管是直接类型还是引用类型都是分别复制一份给和,因此修改了的属性并不会影响到。 最基本的构造函数与实例的关系: var Sub = function (color,list) { this.color = color; this.list = list } var sub1 = new Sub(red,[1])...

    刘福 评论0 收藏0

发表评论

0条评论

princekin

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<