boxSelection v4.1.4

三维框选插件,该插件提供了在三维场景中通过鼠标点击的方式绘制框选区域,并获取落在区域范围中的模型对象。

注:该插件在俯视角度下使用体验最佳

  • 插件名称

    box-selection

  • 初始参数

  • 示例

import { webglPlugin } from "@tslfe/dt-enging"
...省略获取meta实例的步骤...

const selectionPlugin = meta.plugin.use(webglPlugin.boxSelection({color: 'red', radius: 0.1}));

属性

list

框选中的模型集合

方法

start( )

开启框选机制,然后通过鼠标在三维场景中点击打点

注:只有在打点超过 1 个后才会开始渲染连接线

function create: () => void
  • 参数

  • 返回值

  • 示例

...省略挂载tool插件的步骤...
selectionPlugin.start()

clear( )

清除当前绘制的框选区域线

function clear: () => void
  • 参数

  • 返回值

  • 示例

...省略挂载tool插件的步骤...

selectionPlugin.clear();

end( )

结束框选操作

function end: () => void
  • 参数

  • 返回值

  • 示例

...省略挂载tool插件的步骤...

selectionPlugin.end();

undo( ) v4.1.4

根据指定的撤销数量,从后往前撤销已插入点

注:传入的撤销数量为正整数

function undo: (num = 1) => void
  • 参数

    • num: number 撤销数量,默认为 1
  • 返回值

  • 示例

...省略挂载tool插件的步骤...

selectionPlugin.undo(2);

dispose( ) v4.1.4

销毁当前的框选插件实例,移除所有事件监听

注:当不再需要使用该插件时,应调用该方法销毁实例防止内存泄漏

function dispose: () => void
  • 参数

  • 返回值

  • 示例

...省略挂载tool插件的步骤...

selectionPlugin.dispose();

addEventListener( ) v4.1.4

监听框选中指定的事件,事件类型支持:start end point-change

function addEventListener: (type: string, listener: (e: DTEvent) => void) => void
  • 参数

    • type: string 事件类型,支持 start end point-change
    • listener: (e: DTEvent) => void 事件回调函数,参数 eDTEvent 类型
  • 返回值

  • 示例

...省略挂载tool插件的步骤...

selectionPlugin.addEventListener('end', (e)=>{
    // 输出当前处于绘制区域中的模型集合
    console.log(selectionPlugin.list);
});
上次更新:
贡献者: yangxun, yanhao