[重大更新] Forge Viewer 工具(Tool)优先级

前几天 Autodesk Forge 释出新版本的 Viewer - v3.2,自此版本开始 Viewer Tool 引入优先级机制,每个 Tool 都可以各自设置自个的优先级,而这个优先级会被 ToolController 用来对那些已经注册在 ToolController 里的 Tool 进行排序,目前所有 Tool 的优先级默认都是 0,并会以下面这个方式设置:

this.getPriority = function() {
   return 0;
};

Tool 优先级的数值越高者则可以更优先处理 viewer 的交互事件,如 handleSingleClickhandleDoubleClickhandleKeyDown 等,使用样例如下:

class MyTool extends Autodesk.Viewing.ToolInterface {
    construtor() {
        supper();
        
        this.names = [ 'mytool' ];
    }
}

class MyHighPriorityTool extends Autodesk.Viewing.ToolInterface {
    construtor() {
        supper();
        
        this.names = [ 'mytool-high-priority' ];
    }
    
    // 修改默认优先级
    getPriority() {
        return 1000;
    }
}

//注册工具
viewer.toolController.registerTool( new MyTool() );
viewer.toolController.registerTool( new MyHighPriorityTool() );

//启用工具
viewer.toolController.activateTool( 'mytool' );
viewer.toolController.activateTool( 'mytool-high-priority' );

上面样例是通过创建两个自定义工具来展示如何设置优先级,在这样设置后 MyHighPriorityTool 会比其他注册在 ToolController 里且启用的工具保有更高的优先级来处理 viewer 的交互事件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值