autodesk-forge - 在 Autodesk.Viewing.Viewer3D 中显示上下文菜单
问题描述
我正在尝试使用 Autodesk.Viewing.Viewer3D(无头查看器)显示上下文菜单。
使用 Autodesk.Viewing.Private.GuiViewer3D 作为查看器类型时,我可以轻松显示上下文菜单,但我不想使用此查看器类型,因为它有一个工具栏,我不希望它为此出现观众。我不能使用此处建议的 css 方法,因为我还希望在同一应用程序的不同查看器中使用工具栏。
我尝试使用 Autodesk.Viewing.Viewer3D(无头查看器)初始化上下文菜单如下所示:
var contextMenu = new Autodesk.Viewing.UI.ObjectContextMenu(viewer);
viewer.setContextMenu(contextMenu);
viewer.registerContextMenuCallback('CustomContextMenuItems', function (menu, status) {
if (status.hasSelected) {
if(menu === null){menu=[];}
while (menu.length > 0) {
menu.pop();
}
menu.push({
title: 'Do Something',
target: function () {
console.log("Doing something")
}
});
}
});
解决方案
上下文菜单旨在与GuiViewer3D
. 它很可能依赖于它的一些 HTML 或 CSS 设置,这就是它导致Viewer3D
. 如果您需要这种级别的 GUI 自定义,我建议您实现一个单独的、简单的上下文菜单,而不是弯曲内置的菜单。
推荐阅读
- javascript - 在特定元素或属性的 HTML 中显示 XML 值
- python-2.7 - 无全局变量传递;退货问题
- go - 如何通过 go generate 传递参数
- python - 从同一个列表中查找项目对的数量?
- react-native - TypeError: _rxjs.Observable.fromPromise 不是函数
- java - 正则表达式:带分隔线模式的多行
- java - 如何创建大小为 BigInteger 的数组或数组列表。我需要一个真正的大数组
- windows - 在 SSD 上安装 Windows 10 错误:“我们无法创建新分区...”
- python - 在 Pandas 中结合屏蔽和索引
- javascript - 反应 + Firebase + Python