v4.1.4
boxSelection三维框选插件,该插件提供了在三维场景中通过鼠标点击的方式绘制框选区域,并获取落在区域范围中的模型对象。
注:该插件在俯视角度下使用体验最佳
插件名称
box-selection
初始参数
options: BoxSelectionOptions
区域线配置参数
示例
import { webglPlugin } from "@tslfe/dt-enging"
...省略获取meta实例的步骤...
const selectionPlugin = meta.plugin.use(webglPlugin.boxSelection({color: 'red', radius: 0.1}));
属性
list
框选中的模型集合
类型:
ComponentGroup
- 参考: ComponentGroup
说明: 获取当前处于绘制区域中的模型集合
方法
start( )
开启框选机制,然后通过鼠标在三维场景中点击打点
注:只有在打点超过 1 个后才会开始渲染连接线
function create: () => void
参数
- 无
返回值
- 无
示例
...省略挂载tool插件的步骤...
selectionPlugin.start();
clear( )
清除当前绘制的框选区域线
function clear: () => void
参数
- 无
返回值
- 无
示例
...省略挂载tool插件的步骤...
selectionPlugin.clear();
end( )
结束框选操作
function end: () => void
参数
- 无
返回值
- 无
示例
...省略挂载tool插件的步骤...
selectionPlugin.end();
v4.1.4
undo( )根据指定的撤销数量,从后往前撤销已插入点
注:传入的撤销数量为正整数
function undo: (num = 1) => void
参数
num: number
撤销数量,默认为 1
返回值
- 无
示例
...省略挂载tool插件的步骤...
selectionPlugin.undo(2);
v4.1.4
dispose( )销毁当前的框选插件实例,移除所有事件监听
注:当不再需要使用该插件时,应调用该方法销毁实例防止内存泄漏
function dispose: () => void
参数
- 无
返回值
- 无
示例
...省略挂载tool插件的步骤...
selectionPlugin.dispose();
v4.1.4
addEventListener( )监听框选中指定的事件,事件类型支持:start
end
point-change
function addEventListener: (type: string, listener: (e: DTEvent) => void) => void
参数
type: string
事件类型,支持start
end
point-change
listener: (e: DTEvent) => void
事件回调函数,参数e
为DTEvent
类型
返回值
- 无
示例
...省略挂载tool插件的步骤...
selectionPlugin.addEventListener('end', (e)=>{
// 输出当前处于绘制区域中的模型集合
console.log(selectionPlugin.list);
});