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

news/2024/7/8 6:52:55

前几天 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 的交互事件。


http://www.niftyadmin.cn/n/3037942.html

相关文章

Android获取通讯录并上传(包含通讯录加密)

好久没更新文章了,近期在做通讯录上传,把它分享出来,送给需要的朋友。 写了一个通讯录工具类,直接放代码吧,关键位置通过注释来解释。 这个工具类包含通讯录获取,加密,然后上传操作。看不懂的可…

《区块链底层设计Java实战》之第一章区块链简介

第1 章 区块链简介 与君初相识 犹如故人归 1.1 戏说区块链 当笔者奉调出任区块链研发负责人之初,加班相对之前又多了些。加班多了, 自然陪家里小宝宝玩儿的时间就少了。为此,小宝宝有点儿不开心。 家里三岁的小宝宝和笔者有过这样一段对话。…

qu(判定操作序列)NOIP模拟 数据结构判断 模拟

【问题描述】 给你一个操作序列,问这个维护操作序列的数据结构是哪一种? 【输入格式】 第一行是一个正整数?代表操作数目。 接下来?行,每行两个正整数???, ?。如果??? 1,代表我们将?加入数据结构;如果???…

Android 模拟系统事件(二)

简介 JNI(Java Native Interface)是本地编程接口,它允许Java代码和其他语言写的代码进行交互,它可以在 Java 虚拟机 (VM) 内部运行的 Java 代码与用其它编程语言(如 C、C 和汇编语言)编写的应用程序和库进行交互操作。 功能 通过…

【Oracle】解决SQL PLUS可以连接,外部工具不能连接的问题?

站在前人的肩膀上: https://www.cnblogs.com/david-zhang-index/p/4916770.html https://blog.csdn.net/breaker892902/article/details/17607479 https://blog.csdn.net/sunxiaoju/article/details/78890663 解决SQL PLUS可以连接,外部工具不能连接的问…

区块链技术十周年—回眸与前瞻

今年是中本聪的经典论文《Bitcoin:A Peer-to-Peer Electronic Cash System》发表10周年。10年来,从一开始小范围的极客追捧,到今日风靡全球,比特币及其背后的区块链技术现已成为大家更为关注的科技热点。10年间,我们曾…

使用JavaScript 将字符串中由空格隔开的每个单词首字母大写,写出通用方法。...

2019独角兽企业重金招聘Python工程师标准>>> 题目&#xff1a;使用JavaScript 将字符串中由空格隔开的每个单词首字母大写&#xff0c;写出通用方法。 function capitalize(string){var words string.split(" ");for(var i0;i<words.length;i){words[i…

java蓝桥杯--入门训练(2)圆的面积

关键字&#xff1a;入门 实数输出 题目&#xff1a; 解决方法&#xff1a; 方法一&#xff08;我的&#xff09;&#xff1a; 1 import java.text.DecimalFormat;2 import java.util.Scanner;3 4 import static java.lang.StrictMath.atan;5 6 public class Main{7 public …