@realsee/dnalogel
Version:
69 lines (68 loc) • 1.77 kB
JavaScript
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
};