在对象选择时,我正在使用以下代码来更改所选对象的颜色,
viewerApp.getCurrentViewer().impl.setSelectionColor(new THREE.Color(1, 0, 0));
它工作正常,但是如何将选择颜色设置为默认颜色?
我都尝试过
viewerApp.getCurrentViewer().clearSelection();
和
viewerApp.getCurrentViewer().clearThemingColors();
但是这些方法似乎不起作用。
我做错什么了吗?或更改颜色并将其还原为默认值的最佳实践是什么?
查看器版本:6 *
答案 0 :(得分:1)
此选择颜色实际上是硬编码的,不会保存在任何配置中。您需要通过指定原始颜色来重置颜色,如下所示:
.impl.setSelectionColor(new THREE.Color(0.4, 0.6, 1));
答案 1 :(得分:0)
如果目标是更改选定元素的颜色,我强烈建议改用setThemingColor。这会将主题颜色设置为已定义的双标,可以随时轻松清除。您可以将其关联到选择事件,以自动清除和重新分配颜色。您可以在初始化查看器之后进行处理。
在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));
未定义清除功能。