如何使用鼠标滚轮事件移动剖面

Posted

技术标签:

【中文标题】如何使用鼠标滚轮事件移动剖面【英文标题】:How to move the section plane with a mouse wheel event 【发布时间】:2021-01-30 00:24:39 【问题描述】:

我们的一位用户提出此请求,以模仿不同软件的用户体验。

目前我们创建一个剖面并用鼠标移动黄色箭头。 是否可以通过组合键(shift + 鼠标滚动事件)沿箭头方向移动创建的剖面。

如果是这样,有人能指出我正确的方向吗?

【问题讨论】:

【参考方案1】:

您可以通过编程方式控制当前剖面,如下所示:

function moveSectionPlaneByDelta(viewer, delta) 
    // Assuming that section tool is active
    const sectionTool = viewer.toolController.getActiveTool();
    const sectionPlanes = sectionTool.getSectionPlanes();
    if (sectionPlanes.length === 1) 
        const normal = new THREE.Vector3(sectionPlanes[0].x, sectionPlanes[0].y, sectionPlanes[0].z);
        const position = normal.clone().multiplyScalar(-sectionPlanes[0].w + delta);
        sectionTool.setSectionPlane(normal, position);
    


// ...

moveSectionPlaneByDelta(viewer, 5.0); // move in the direction of the plane normal
moveSectionPlaneByDelta(viewer, -5.0); // move against the direction of the plane normal

【讨论】:

以上是关于如何使用鼠标滚轮事件移动剖面的主要内容,如果未能解决你的问题,请参考以下文章

JavaFX实战:几种事件监听实现,键盘按键事件监听,鼠标滚轮事件监听,鼠标按键事件监听,鼠标移动事件监听

JavaFX实战:几种事件监听实现,键盘按键事件监听,鼠标滚轮事件监听,鼠标按键事件监听,鼠标移动事件监听

JavaFX实战:几种事件监听实现,键盘按键事件监听,鼠标滚轮事件监听,鼠标按键事件监听,鼠标移动事件监听

js中如何禁用鼠标滚轮事件?急,在线等!

vb如何监视鼠标滚轮事件

JS如何判断鼠标滚轮事件分析