autodesk-forge - 伪造查看器标记扩展可防止多种类型的工具
问题描述
我们在编辑模式下以编程方式添加一个圆圈和一些文本,效果很好。我们希望阻止用户向图层添加更多形状,但仍允许他们在画布周围移动圆圈和文本。如果当前图层中已经有一种类型,是否有阻止画布绘制形状的方法?
解决方案
不幸的是,没有官方配置选项只允许选择/移动,并阻止创建额外的标记。您必须对MarkupsCore
扩展对象的一些事件处理方法进行逆向工程并覆盖。例如,该onMouseDown
方法如下所示:
proto.onMouseDown = function(event) {
dismissLmvHudMessage();
this.callSnapperMouseDown();
var bounds = this.getBounds();
var mousePosition = this.getMousePosition();
if (mousePosition.x >= bounds.x && mousePosition.x <= bounds.x + bounds.width && mousePosition.y >= bounds.y && mousePosition.y <= bounds.y + bounds.height) {
this.editMode.onMouseDown(event);
}
if (!this.editMode.creating && event.target === this.svg) {
this.selectMarkup(null);
}
this.ignoreNextMouseUp = false;
};
她,理论上你可以避免将“鼠标按下”事件传递给“编辑模式”,从而防止创建任何新的标记。
推荐阅读
- python - 我的路线 /favicon.ico 在我的烧瓶实例中不起作用
- python - 生成具有 N 列的数组,行和等于 1
- reactjs - 如何在spring boot +react中实现CSRF
- angular - 从过滤表角度打字稿中获取数据计数
- angular - 我们如何从 Spring Boot 项目中添加离子路由
- r - 在 Power Bi Desktop 中为 R 脚本使用两个不同的表
- flutter - 颤振中的舍入问题
- azure - 使用新的服务器主要凭据更新 AKS 群集
- oracle - 我不明白的 PL/SQL 示例
- java - ClassNotFoundException:javax.xml.ws.Service