UNPKG

@realsee/dnalogel

Version:
69 lines (68 loc) 1.77 kB
var f = Object.defineProperty; var k = (s, o, r) => o in s ? f(s, o, { enumerable: !0, configurable: !0, writable: !0, value: r }) : s[o] = r; var i = (s, o, r) => (k(s, typeof o != "symbol" ? o + "" : o, r), r); import { BaseUtil as w } from "./BaseUtil.js"; import * as a from "three"; import { transformPosition as n } from "../five/transformPosition.js"; class g extends w { constructor(r) { super(r); i(this, "_workCode"); } /** * @description: 设置插件当前的 workCode */ set workCode(r) { this._workCode = r; } /** * @description: 获取插件当前的 workCode */ get workCode() { var r; return (r = this._workCode) != null ? r : this.five.state.workCode; } /** * @description: 获取当前的 work */ get work() { var r, t; return (t = (r = this.five.works) == null ? void 0 : r.find((e) => e.workCode === this.workCode)) != null ? t : this.five.work; } get observers() { return this.work.observers; } get transform() { var t; const r = (t = this.work.options) == null ? void 0 : t.transform; return r ? r.clone() : new a.Matrix4(); } /** * @description: 获取全景点坐标 */ getObserverPosition(r) { var e; const t = (e = this.getObserver(r)) == null ? void 0 : e.position; if (t) return n(t, this.transform); } /** * @description: 获取全景点位和模型的地面坐标 */ getObserverStandingPosition(r) { var e; const t = (e = this.getObserver(r)) == null ? void 0 : e.standingPosition; if (t) return n(t, this.transform); } /** * @description: 获取observer */ getObserver(r) { var t; return (t = this.observers) == null ? void 0 : t[r]; } } export { g as WorkUtil };