Autodesk Forge Viewer 将选择颜色设置为默认值

autodesk forge viewer set selection color to default

在选择对象时,我使用以下代码更改所选对象的颜色,

viewerApp.getCurrentViewer().impl.setSelectionColor(new THREE.Color(1, 0, 0));

它工作正常,但如何将选择颜色设置为默认颜色?

我都试过了


  viewerApp.getCurrentViewer().clearSelection();

viewerApp.getCurrentViewer().clearThemingColors();

但是这些方法好像都不行。

我做错了什么吗?或者更改颜色并将其恢复为默认值的最佳做法是什么?

查看器版本:6*

这个选择颜色实际上是硬编码的,没有保存在任何配置中。您需要通过指定原始颜色来重置颜色,如下所示:

 .impl.setSelectionColor(new THREE.Color(0.4, 0.6, 1));

如果目标是更改 selected 元素的颜色,我强烈建议改用 setThemingColor。这将为定义的 dbids 设置主题颜色,这可以在任何时候轻松清除。您可以将其连接到 select 事件以自动清除和重新分配颜色。您可以在初始化查看器后处理此问题。

在 v7 中:

viewerApp.getCurrentViewer().viewer.addEventListener(Autodesk.Viewing.SELECTION_CHANGED_EVENT, event=>{
    viewerApp.getCurrentViewer().clearThemingColors();
    event.dbIdArray.forEach(id => 
    {
       viewerApp.getCurrentViewer().setThemingColor(id, new THREE.Vector4(1,0,0,1)
    })
}
) 

但是,如果您确实想要这种方法,则必须找出默认颜色是什么,然后使用 setSelectionColor 和此颜色来覆盖它: 编辑 感谢 Cyrille 我们现在知道了!所以相应地调整了颜色

viewerApp.getCurrentViewer().impl.setSelectionColor(new THREE.Color(0.4, 0.6, 1));

没有定义明确的函数。