Autodesk forge MarkupCore-是否可以在ForgeViewer中禁用鼠标右键单击悬停的标记?

Autodesk forge MarkupCore-是否可以在ForgeViewer中禁用鼠标右键单击悬停的标记?,autodesk-forge,autodesk-viewer,Autodesk Forge,Autodesk Viewer,每当我将标记悬停并右键单击它时,它会将鼠标移动锁定到图形上,并使在不移动图形的情况下无法移动鼠标 是否可以禁用此行为?根据您的具体情况,您可以尝试以下几项: 如果试图在二维图形上处于标记模式时启用相机平移,只需为标记工具“启用导航”: viewer.toolController.getTool('markups.core').allowNavigation(true); 如果这对于您的情况还不够,您还可以尝试修改标记工具用来决定是否以及如何处理鼠标按钮按下事件的handleButtonDown

每当我将标记悬停并右键单击它时,它会将鼠标移动锁定到图形上,并使在不移动图形的情况下无法移动鼠标


是否可以禁用此行为?

根据您的具体情况,您可以尝试以下几项:

如果试图在二维图形上处于标记模式时启用相机平移,只需为标记工具“启用导航”:

viewer.toolController.getTool('markups.core').allowNavigation(true);
如果这对于您的情况还不够,您还可以尝试修改标记工具用来决定是否以及如何处理鼠标按钮按下事件的
handleButtonDown
方法。当前该方法如下所示:

this.handleButtonDown=函数(事件,按钮){
if(this.allowNav | | |(this.is2d&(avp.isRightClick(event,this.viewer.navigation)| | avp.isMiddleClick(event))){
//如果平移工具无法向下处理按钮,则跳过事件
if(this.panTool&&this.panTool.handleButtonDown){
返回此.panTool.handleButtonDown(事件,按钮);
}否则返回false;
}
返回true;//使用事件
};
其中
avp
只是指向
Autodesk.Viewing.Private
命名空间的快捷方式

viewer.toolController.getTool('markups.core').handleButtonDown=函数(事件,按钮){
//当您希望度量工具“捕获”事件并以某种方式进行处理时,返回true,
//如果希望忽略事件并允许堆栈上的其他工具处理该事件,则返回false
};

根据您的具体情况,您可以尝试以下几件事:

如果试图在二维图形上处于标记模式时启用相机平移,只需为标记工具“启用导航”:

viewer.toolController.getTool('markups.core').allowNavigation(true);
如果这对于您的情况还不够,您还可以尝试修改标记工具用来决定是否以及如何处理鼠标按钮按下事件的
handleButtonDown
方法。当前该方法如下所示:

this.handleButtonDown=函数(事件,按钮){
if(this.allowNav | | |(this.is2d&(avp.isRightClick(event,this.viewer.navigation)| | avp.isMiddleClick(event))){
//如果平移工具无法向下处理按钮,则跳过事件
if(this.panTool&&this.panTool.handleButtonDown){
返回此.panTool.handleButtonDown(事件,按钮);
}否则返回false;
}
返回true;//使用事件
};
其中
avp
只是指向
Autodesk.Viewing.Private
命名空间的快捷方式

viewer.toolController.getTool('markups.core').handleButtonDown=函数(事件,按钮){
//当您希望度量工具“捕获”事件并以某种方式进行处理时,返回true,
//如果希望忽略事件并允许堆栈上的其他工具处理该事件,则返回false
};

我最终修改了标记工具的
把手按钮
,效果非常好!谢谢。我最后修改了标记工具的
把手按钮
,效果非常好!谢谢