@animech-public/playcanvas
Version:
PlayCanvas WebGL game engine
2 lines (1 loc) • 1.08 kB
JavaScript
import{EventHandler as e}from"../../core/event-handler.js";import{Vec3 as t}from"../../core/math/vec3.js";import{Quat as s}from"../../core/math/quat.js";class i extends e{constructor(e,i){super(),this._meshDetection=void 0,this._xrMesh=void 0,this._lastChanged=0,this._position=new t,this._rotation=new s,this._meshDetection=e,this._xrMesh=i,this._lastChanged=this._xrMesh.lastChangedTime}get xrMesh(){return this._xrMesh}get label(){return this._xrMesh.semanticLabel||""}get vertices(){return this._xrMesh.vertices}get indices(){return this._xrMesh.indices}destroy(){this._xrMesh&&(this._xrMesh=null,this.fire("remove"))}update(e){const t=this._meshDetection._manager,s=e.getPose(this._xrMesh.meshSpace,t._referenceSpace);s&&(this._position.copy(s.transform.position),this._rotation.copy(s.transform.orientation)),this._lastChanged!==this._xrMesh.lastChangedTime&&(this._lastChanged=this._xrMesh.lastChangedTime,this.fire("change"))}getPosition(){return this._position}getRotation(){return this._rotation}}i.EVENT_REMOVE="remove",i.EVENT_CHANGE="change";export{i as XrMesh};