在 Autodesk.Viewing.Viewer3D 中显示上下文菜单

时间:2021-01-25 10:35:12

标签: autodesk-forge autodesk-viewer

我正在尝试使用 Autodesk.Viewing.Viewer3D(无头查看器)显示上下文菜单。

当我使用 Autodesk.Viewing.Private.GuiViewer3D 作为我的查看器类型时,我可以轻松显示上下文菜单,但我不想使用这种查看器类型,因为它有一个工具栏,我不想它为该查看器显示。我无法使用建议的 css 方法 here,因为我还希望在同一应用程序的不同查看器中使用工具栏。

我尝试使用 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")
                    }
                });

            } 
        });

1 个答案:

答案 0 :(得分:1)

上下文菜单旨在与 GuiViewer3D 一起使用。它很可能依赖于它的一些 HTML 或 CSS 设置,这就是它导致 Viewer3D 出现问题的原因。如果您需要这种级别的 GUI 自定义,我建议您实现一个单独的、简单的上下文菜单,而不是弯曲内置菜单。