UNPKG

@allincart-ag/dive

Version:

Allincart Spatial Framework

106 lines (105 loc) 2.94 kB
var n = Object.defineProperty; var s = (t, e, o) => e in t ? n(t, e, { enumerable: !0, configurable: !0, writable: !0, value: o }) : t[e] = o; var i = (t, e, o) => s(t, typeof e != "symbol" ? e + "" : e, o); import { D as l } from "../../chunks/SelectTool-DFpr9XHT.mjs"; import { a as m, c as T, i as d, b as _ } from "../../chunks/SelectTool-DFpr9XHT.mjs"; class r { constructor(e, o) { i(this, "_scene"); i(this, "_controller"); i(this, "_activeTool"); i(this, "_selectTool"); this._scene = e, this._controller = o, this._selectTool = null, this._activeTool = null; } get selectTool() { return this._selectTool || (this._selectTool = new l( this._scene, this._controller )), this._selectTool; } dispose() { this.removeEventListeners(); } getActiveTool() { return this._activeTool; } useTool(e) { var o; switch ((o = this._activeTool) == null || o.deactivate(), e) { case "select": { this.addEventListeners(), this.selectTool.activate(), this._activeTool = this.selectTool; break; } case "none": { this.removeEventListeners(), this._activeTool = null; break; } default: console.warn(`DIVEToolBox.useTool: Unknown tool: ${e}`); } } setGizmoMode(e) { this.selectTool.setGizmoMode(e); } setGizmoVisibility(e) { this.selectTool.setGizmoVisibility(e); } setGizmoScaleLinked(e) { this.selectTool.setGizmoScaleLinked(e); } onPointerMove(e) { var o; (o = this._activeTool) == null || o.onPointerMove(e); } onPointerDown(e) { var o; (o = this._activeTool) == null || o.onPointerDown(e); } onPointerUp(e) { var o; (o = this._activeTool) == null || o.onPointerUp(e); } onWheel(e) { var o; (o = this._activeTool) == null || o.onWheel(e); } addEventListeners() { this._controller.domElement.addEventListener( "pointermove", (e) => this.onPointerMove(e) ), this._controller.domElement.addEventListener( "pointerdown", (e) => this.onPointerDown(e) ), this._controller.domElement.addEventListener( "pointerup", (e) => this.onPointerUp(e) ), this._controller.domElement.addEventListener( "wheel", (e) => this.onWheel(e) ); } removeEventListeners() { this._controller.domElement.removeEventListener( "pointermove", (e) => this.onPointerMove(e) ), this._controller.domElement.removeEventListener( "pointerdown", (e) => this.onPointerDown(e) ), this._controller.domElement.removeEventListener( "pointerup", (e) => this.onPointerUp(e) ), this._controller.domElement.removeEventListener( "wheel", (e) => this.onWheel(e) ); } } i(r, "DefaultTool", "select"); export { m as DIVEBaseTool, l as DIVESelectTool, T as DIVETransformTool, r as Toolbox, d as isSelectTool, _ as isTransformTool };