@doegis/core
Version:
DOE GIS API
3 lines (1 loc) • 735 B
JavaScript
import{c as i}from"../../../../chunks/mat4.js";import{c as t}from"../../../../chunks/mat4f64.js";import{applyToViewMatrix as r}from"./localOriginHelper.js";class e{constructor(i){this._factory=i,this._originData=new Map}acquire(i){return this.register(this._factory.getOrigin(i))}register(i){const t=this._originData.get(i.id)||new s(i);return t.refCount++,this._originData.has(t.origin.id)||this._originData.set(t.origin.id,t),t}release(i){i.refCount--,0===i.refCount&&this._originData.delete(i.origin.id)}updateViewMatrices(t){this._originData.forEach((e=>{i(e.viewMatrix,t),r(e.origin.vec3,e.viewMatrix)}))}}class s{constructor(i){this.origin=i,this.refCount=0,this.viewMatrix=t()}}export{e as LocalOriginManager,s as OriginData};