@realsee/five 6.5.13 → 6.5.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/five/index.js +5 -5
- package/five/index.mjs +5 -5
- package/gltf-loader/index.js +3 -3
- package/gltf-loader/index.mjs +3 -3
- package/line/index.js +3 -3
- package/line/index.mjs +3 -3
- package/package.json +1 -1
- package/plugins/index.js +2 -2
- package/plugins/index.mjs +2 -2
- package/react/index.js +2 -2
- package/react/index.mjs +2 -2
- package/shader-lib/index.js +2 -2
- package/shader-lib/index.mjs +2 -2
- package/sticker/index.js +3 -3
- package/sticker/index.mjs +3 -3
- package/umd/five-gltf-loader.js +3 -3
- package/umd/five-line.js +3 -3
- package/umd/five-plugins.js +2 -2
- package/umd/five-react.js +2 -2
- package/umd/five-shader-lib.js +2 -2
- package/umd/five-sticker.js +3 -3
- package/umd/five-vfx.js +2 -2
- package/umd/five-vue.js +2 -2
- package/umd/five.js +5 -5
- package/vfx/index.js +2 -2
- package/vfx/index.mjs +2 -2
- package/vue/index.js +2 -2
- package/vue/index.mjs +2 -2
- package/work-downloader/index.js +2 -2
- package/work-downloader/index.mjs +2 -2
package/five/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
3
|
* @realsee/five
|
|
4
|
-
* Generated:
|
|
5
|
-
* Version: 6.5.
|
|
4
|
+
* Generated: 9/10/2025
|
|
5
|
+
* Version: 6.5.14
|
|
6
6
|
* Terms:
|
|
7
7
|
* Realsee SDK License Agreement
|
|
8
8
|
* Update: July 28, 2021
|
|
@@ -394,7 +394,7 @@
|
|
|
394
394
|
`)),v.fragmentShader=v.fragmentShader.replace(/MAIN_START/g,w.map(function(q){return q.fragment.mainStart}).filter(function(q){return!!q}).join(`
|
|
395
395
|
`)),v.fragmentShader=v.fragmentShader.replace(/MAIN_END/g,w.map(function(q){return q.fragment.mainEnd}).filter(function(q){return!!q}).join(`
|
|
396
396
|
`)),v.fragmentShader=v.fragmentShader.replace(/MAIN_MODEL_COLOR/g,w.map(function(q){return q.fragment.mainModelColor}).filter(function(q){return!!q}).join(`
|
|
397
|
-
`));var X=String(r.clippers.length);v.vertexShader=v.vertexShader.replace(/NUM_CLIPPERS/g,X),v.fragmentShader=v.fragmentShader.replace(/NUM_CLIPPERS/g,X);for(var D=0,J=w;D<J.length;D++){var U=J[D];U.onBeforeCompile&&U.onBeforeCompile(v,y)}};var c="";r.onBeforeRender=function(v,y,b,T,_,S){var R=r.shaderType;b instanceof Camera?(l.pixelRatio.value=b.pixelRatio,l.resolution.value.copy(b.resolution)):(l.pixelRatio.value=v.getPixelRatio(),v.getViewport(scratchViewport$2),l.resolution.value.set(scratchViewport$2.width,scratchViewport$2.height));var C=r.customShaders.filter(function(B){return B.type.includes(R)}),H=C.map(function(B){return"".concat(B.id,":").concat(B.version)}).join("|");c!==H&&(c=H,r.needsUpdate=!0)},Object.defineProperty(r,"uniform",{configurable:!1,enumerable:!1,get:function(){return l}});var p=(o=e==null?void 0:e.shaderType)!==null&&o!==void 0?o:"standard";defineProperty(r,"shaderType",{get:function(){return p},set:function(v){p!==v&&(p=v,this.needsUpdate=!0)}});var d=(s=e==null?void 0:e.combine)!==null&&s!==void 0?s:THREE__namespace.MultiplyOperation;defineProperty(r,"combine",{get:function(){return p!=="standard"?d:null},set:function(v){d=v}}),defineProperty(r,"isPBMMeshMaterial",{get:function(){return!0}}),defineProperty(r,"isShaderMaterial",{get:function(){return!0}}),defineProperty(r,"isMeshBasicMaterial",{get:function(){return p==="basic"||p==="none"}}),defineProperty(r,"isMeshPhongMaterial",{get:function(){return p==="phong"}}),defineProperty(r,"isMeshStandardMaterial",{get:function(){return p==="standard"}}),defineProperty(r,"vertexMarks",{get:function(){return!!u.USE_VERTEX_MARK},set:function(v){u.USE_VERTEX_MARK!==v&&(u.USE_VERTEX_MARK=v,this.needsUpdate=!0)}}),defineProperty(r,"colorAlpha",{get:function(){return l.colorAlpha.value},set:function(v){l.colorAlpha.value=v}});var f=null;defineProperty(r,"pano0",{get:function(){return f},set:function(v){f!==v&&(f=v,v===null?l.pano0.value={map:null,matrix:new THREE__namespace.Matrix4,zoom:1}:l.pano0.value={map:v.map,matrix:v.matrix,zoom:v.zoom})}});var h=null;defineProperty(r,"pano1",{get:function(){return h},set:function(v){h!==v&&(h=v,v===null?l.pano1.value={map:null,matrix:new THREE__namespace.Matrix4,zoom:1}:l.pano1.value={map:v.map,matrix:v.matrix,zoom:v.zoom})}});var g=null;defineProperty(r,"pano0Depth",{get:function(){return g},set:function(v){if(g!==v){g=v,v===null?(l.pano0Depth.value.map=null,l.pano0Depth.value.maxDepth=1):(l.pano0Depth.value.map=v.map,l.pano0Depth.value.maxDepth=v.maxDepth);var y=g!==null&&A!==null;u.USE_PANO_DEPTH!==y&&(u.USE_PANO_DEPTH=y,this.needsUpdate=!0)}}});var A=null;defineProperty(r,"pano1Depth",{get:function(){return A},set:function(v){if(A!==v){A=v,v===null?l.pano1Depth.value={map:null,maxDepth:1}:l.pano1Depth.value={map:v.map,maxDepth:v.maxDepth};var y=g!==null&&A!==null;u.USE_PANO_DEPTH!==y&&(u.USE_PANO_DEPTH=y,this.needsUpdate=!0)}}});var m=null;defineProperty(r,"refinedScreen",{get:function(){return m},set:function(v){if(m!==v){m=v;var y;v===null?(y=!1,l.refinedScreen.value={matrixInverse:new THREE__namespace.Matrix4,projectionMatrix:new THREE__namespace.Matrix4,map:null,pano:0,opacity:0}):(y=!0,l.refinedScreen.value={matrixInverse:v.matrixInverse,projectionMatrix:v.projectionMatrix,map:v.map,pano:v.pano,opacity:v.opacity}),u.USE_REFINED_SCREEN!==y&&(u.USE_REFINED_SCREEN=y,this.needsUpdate=!0)}}}),defineProperty(r,"modelAlpha",{get:function(){return l.modelAlpha.value},set:function(v){l.modelAlpha.value=v}}),defineProperty(r,"logDepthAlpha",{get:function(){return l.logDepthAlpha.value},set:function(v){l.logDepthAlpha.value=v}}),defineProperty(r,"progress",{get:function(){return l.progress.value},set:function(v){l.progress.value=v}}),defineProperty(r,"transition",{get:function(){return u.USE_BLACK_TRANSITION?"BLACK":u.USE_SPREAD_TRANSITION?"SPREAD":"FADE"},set:function(v){var y=u.USE_BLACK_TRANSITION,b=u.USE_SPREAD_TRANSITION,T=u.USE_FADE_TRANSITION;u.USE_BLACK_TRANSITION=!1,u.USE_SPREAD_TRANSITION=!1,u.USE_FADE_TRANSITION=!1,u["USE_".concat(v,"_TRANSITION")]=!0;var _=!1;y!==u.USE_BLACK_TRANSITION&&(_=!0),b!==u.USE_SPREAD_TRANSITION&&(_=!0),T!==u.USE_FADE_TRANSITION&&(_=!0),_&&(this.needsUpdate=!0)}}),defineProperty(r,"colorStyle",{get:function(){return u.USE_COLOR_CONSTANT?"CONSTANT":u.USE_COLOR_ALTITUDE?"ALTITUDE":"RGB"},set:function(v){var y=v==="CONSTANT",b=v==="ALTITUDE";u.USE_COLOR_CONSTANT!==y&&(u.USE_COLOR_CONSTANT=y,this.needsUpdate=!0),u.USE_COLOR_ALTITUDE!==b&&(u.USE_COLOR_ALTITUDE=b,this.needsUpdate=!0)}}),defineProperty(r,"constantColor",{get:function(){return l.constantColor.value},set:function(v){l.constantColor.value=v}}),defineProperty(r,"floorIndex",{get:function(){return l.floorIndex.value},set:function(v){l.floorIndex.value=v}}),defineProperty(r,"shownFloorIndex",{get:function(){return l.shownFloorIndex.value},set:function(v){l.shownFloorIndex.value=v}}),defineProperty(r,"floorStyle",{get:function(){return u.USE_FLOOR_STYLE_VISIBILITY?"VISIBILITY":"OPACITY"},set:function(v){var y=v==="VISIBILITY";u.USE_FLOOR_STYLE_VISIBILITY!==y&&(u.USE_FLOOR_STYLE_VISIBILITY=y,this.needsUpdate=!0)}}),defineProperty(r,"gradientTexture",{get:function(){return l.gradientTexture.value},set:function(v){l.gradientTexture.value=v}}),defineProperty(r,"brightness",{get:function(){return l.brightness.value},set:function(v){l.brightness.value=v}});var E=[];return defineProperty(r,"clippers",{get:function(){return E},set:function(v){E!==v&&(E=v,l.clippers.value=E.map(function(y){var b=typeof y.floorIndex=="number"?y.floorIndex:-1,T=new THREE__namespace.Matrix4().getInverse(y.clippingBoxMatrix);return{matrixInverse:T,floorIndex:b}}),this.needsUpdate=!0)}}),defineProperty(r,"colorSaturation",{get:function(){return l.colorSaturation.value},set:function(v){l.colorSaturation.value=v;var y=l.colorSaturation.value!==0||l.colorBrightness.value!==0;u.USE_COLOR_ADJUSTMENT!==y&&(u.USE_COLOR_ADJUSTMENT=y,this.needsUpdate=!0)}}),defineProperty(r,"colorBrightness",{get:function(){return l.colorBrightness.value},set:function(v){l.colorBrightness.value=v;var y=l.colorSaturation.value!==0||l.colorBrightness.value!==0;u.USE_COLOR_ADJUSTMENT!==y&&(u.USE_COLOR_ADJUSTMENT=y,this.needsUpdate=!0)}}),defineProperty(r,"useHQWeight",{get:function(){return u.USE_HQ_WEIGHT},set:function(v){v!==u.USE_HQ_WEIGHT&&(u.USE_HQ_WEIGHT=v,this.needsUpdate=!0)}}),defineProperty(r,"useHQDepth",{get:function(){return u.USE_HQ_DEPTH},set:function(v){v!==u.USE_HQ_DEPTH&&(u.USE_HQ_DEPTH=v,this.needsUpdate=!0)}}),defineProperty(r,"modelBoundingMin",{get:function(){return l.modelBoundingMin.value},set:function(v){l.modelBoundingMin.value=v}}),defineProperty(r,"modelBoundingMax",{get:function(){return l.modelBoundingMax.value},set:function(v){l.modelBoundingMax.value=v}}),typeof e=="object"&&r.setValues(e),r}return t.prototype.copy=function(e){return n.prototype.copy.call(this,e),this.shaderType=e.shaderType,this.vertexMarks=e.vertexMarks,this.vertexTangents=e.vertexColors,this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.specular.copy(e.specular),this.shininess=e.shininess,this.roughnessMap=e.roughnessMap,this.roughness=e.roughness,this.metalnessMap=e.metalnessMap,this.metalness=e.metalness,this.alphaMap=e.alphaMap,this.combine=e.combine,this.envMap=e.envMap,this.envMapIntensity=e.envMapIntensity,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.emissiveMap=e.emissiveMap,this.emissive.copy(e.emissive),this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.skinning=e.skinning,this.morphTargets=e.morphTargets,this.morphNormals=e.morphNormals,this.customShaders=e.customShaders,this.colorAlpha=e.colorAlpha,this.alphaMode=e.alphaMode,this.pano0=e.pano0,this.pano1=e.pano1,this.modelAlpha=e.modelAlpha,this.logDepthAlpha=e.logDepthAlpha,this.progress=e.progress,this.transition=e.transition,this.colorStyle=e.colorStyle,this.constantColor.copy(e.constantColor),this.floorIndex=e.floorIndex,this.shownFloorIndex=e.shownFloorIndex,this.floorStyle=e.floorStyle,this.gradientTexture=e.gradientTexture,this.brightness=e.brightness,this.clippers=e.clippers,this.colorSaturation=e.colorSaturation,this.colorBrightness=e.colorBrightness,this.useEDL=e.useEDL,this.useHQWeight=e.useHQWeight,this.useHQDepth=e.useHQDepth,this.modelBoundingMin.copy(e.modelBoundingMin),this.modelBoundingMax.copy(e.modelBoundingMax),this},t.prototype.clone=function(){var e=this.constructor;return new e().copy(this)},t.prototype.refreshUniforms=function(){},t}(PBMMaterial),PBMMesh=function(n){__extends(t,n);function t(e,r){var o=n.call(this,e,r)||this;return o.onBeforeRender=function(s,u,l,c,p,d){p instanceof PBMMeshMaterial&&p.onBeforeRender&&p.onBeforeRender(s,u,l,c,o,d)},o}return t}(THREE__namespace.Mesh),PBMSkinnedMesh=function(n){__extends(t,n);function t(e,r,o){var s=n.call(this,e,r,o)||this;return s.onBeforeRender=function(u,l,c,p,d,f){d instanceof PBMMeshMaterial&&d.onBeforeRender&&d.onBeforeRender(u,l,c,p,s,f)},s}return t}(THREE__namespace.SkinnedMesh);const pointCloudFragmentShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}("{vs|z-sy|n-sy||V{qr\x07H0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH0r{qvsp-Pyv}}r-\n--znA-znv\x07V{rrH--sy|n-sy||V{qr\x07H\fH0vs-[bZlPYV]]R_`-K-=--{vs|z-Pyv}}r-pyv}}rh[bZlPYV]]R_`jH0r{qvsn\bv{t-sy|n-_||sZnxHn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rpA-Sv{ny]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-sy|n-Y|tQr}uHn\bv{t-rp@-P|y|Hn\bv{t-sy|n-]|v{`v rH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-y|tQr}uNy}unH{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{H0v{pyqr-Ip|zz|{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{KZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--<<-JJJ-点-大小-形状-剔除-JJJ--vs-5]|v{`v r-I-=;==>6-\n----qvpnqH--\f--sy|n-}-J-?;=-7-tyl]|v{P||q;\x07-:->;=H--sy|n-}-J-?;=-7-tyl]|v{P||q;\b-:->;=H--sy|n-}-J-}-7-}-8-}-7-}H--<<-JJJ-形状裁切-JJJ--0vs-qrsv{rq5b`Rl]\\V[al`UN]RlPV_PYR6----vs-5]|v{`v r-K-@;=-33-}-K->;=6-\n------qvpnqH----\f--0r{qvs--<<-JJJJJJJJJJJJJ--<<-JJJ-楼层-JJJ--o||y-vPr{Sy||-J-u|{Sy||V{qr\x07-I-:=;=>-\v\v-no5sy||V{qr\x07-:-u|{Sy||V{qr\x076-I-=;FFH--sy|n-sy||\\}npv\b-J->;=H--vs-5.vPr{Sy||6-\n----0vs-qrsv{rq5b`RlSY\\\\_l`afYRlcV`VOVYVaf6------qvpnqH----0r{qvs----sy||\\}npv\b-J-pynz}5=;?-7-zv{55>;=-8-PnzrnQvrpv|{;\b69->;=69-=;=9->;=6H--\f--<<-JJJJJJJJJJJ--<<-JJJ-顶部裁切-JJJ--sy|n-||sP]|tr-J-}|5pynz}5:PnzrnQvrpv|{;\b9-=;=9->;=69-@;=6H--vs-5----_||sZnx-K-=;==>-33----Sv{ny]|vv|{;\b-K-z|qryO|{qv{tZn\x07;\b-:-||sP]|tr-7-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6--6-\n----qvpnqH--\f--<<-JJJJJJJJJJJJJJ--<<-JJJ-前置裁切计算-JJJ--0vs-[bZlPYV]]R_`-K-=----o||y-pyv}}rqH----rpA-pyv}}r]|vv|{H----0}ntzn-{|yyly||}ln----s|-5-v{-v-J-=H-v-I-[bZlPYV]]R_`H-v-88-6-\n------pyv}}r]|vv|{-J-pyv}}rh-v-j;znv\x07V{rr-7-Sv{ny]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5sy||V{qr\x07-:-pyv}}rh-v-j;sy||V{qr\x076-I->;=6H------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\x07-K-:=;B-33-pyv}}r]|vv|{;\x07-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\b-K-:=;B-33-pyv}}r]|vv|{;\b-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{; -K-:=;B-33-pyv}}r]|vv|{; -I-=;BH------vs-5pyv}}rq6-\n--------qvpnqH------\f----\f----0}ntzn-{|yyly||}lr{q--0r{qvs--<<-JJJJJJJJJJJJJJJJ--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--0v{pyqr-Iy|tqr}uoslsntzr{K--<<-JJJ-颜色-JJJ--tylSntP|y|-J-rpA5P|y|9-|}npv\b-7-sy||\\}npv\b-7-z|qryNy}un6H--ZNV[lZ\\QRYlP\\Y\\_--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--<<-JJJJ-使用深度表示-ny}un-JJJJ--tylSntP|y|;n-J-zv\x075tylSntP|y|;n9-Y|tQr}u9-y|tQr}uNy}un6H--0vs-qrsv{rq5b`RlU^ldRVTUa6----sy|n-qvn{pr-J-?;=-7-yr{tu5tyl]|v{P||q;\x07\b-:-=;B6H----sy|n-rvtu-J-zn\x075=;=9->;=-:-qvn{pr6H----rvtu-J-}|5rvtu9->;B6H----tylSntP|y|;n-J-rvtuH----tylSntP|y|;\x07\b -J-tylSntP|y|;\x07\b -7-rvtuH--0r{qvs--ZNV[lR[Q\f"),pointCloudVertexShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}("nvor-sy|n-lsrnrlvqlznxHn\bv{t-sy|n-_||sZnxH0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6--{vs|z-rp@-p|{n{P|y|H0r{qvs0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6--{vs|z-nz}yr?Q-tnqvr{ar\x07rH0r{qvs{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H{vs|z-sy|n-}|v{`pnyrH{vs|z-sy|n-}|v{Zv{]v\x07ryH{vs|z-sy|n-}|v{Zn\x07]v\x07ryH{vs|z-sy|n-|}npv\bH{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{H<<u调整{vs|z-sy|n-p|y|`nnv|{H{vs|z-sy|n-p|y|Ovtu{rH<<-边缘增益{vs|z-sy|n-|yv{rTnv{H{vs|z-sy|n-qvn{prTnv{Hn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rpA-Sv{ny]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-sy|n-Y|tQr}uHn\bv{t-rp@-P|y|Hn\bv{t-sy|n-]|v{`v rH0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-Is|tl}nlrr\x07K0v{pyqr-Iz|}untrl}nlrr\x07K0v{pyqr-Iy|tqr}uosl}nlrr\x07K0v{pyqr-Ipyv}}v{tl}yn{rl}nlrr\x07Krp@-_TOa|Yv{rn5rp@-nyr6-\n--r{-zv\x075----}|5-nyr;to-7-=;FADECD?FEC-8-rp@5-=;=B?>@?D=>A-69-rp@5-?;A-6-69----nyr;to-7-=;=DD@FF@E=E9----rp@5-yraun{R\0ny5-nyr;to9-rp@5-=;=A=AB-6-6-6--6H\frp@-to?u5rp@-p6-\n--rpA-X-J-rpA5=;=9-:>;=-<-@;=9-?;=-<-@;=9-:>;=6H--rpA-}-J-zv\x075rpA5p;ot9-X; 69-rpA5p;to9-X;\x07\b69-r}5p;o9-p;t66H--rpA-\0-J-zv\x075rpA5};\x07\b9-p;69-rpA5p;9-};\b \x0769-r}5};\x079-p;66H--sy|n-q-J-\0;\x07-:-zv{5\0;9-\0;\b6H--sy|n-r-J->;=r:>=H--r{-rp@5no5\0; -8-5\0;-:-\0;\b6-<-5C;=-7-q-8-r669-q-<-5\0;\x07-8-r69-\0;\x076H\frp@-u?to5rp@-p6-\n--rpA-X-J-rpA5>;=9-?;=-<-@;=9->;=-<-@;=9-@;=6H--rp@-}-J-no5snp5p;\x07\x07\x07-8-X;\x07\b 6-7-C;=-:-X;6H--r{-p; -7-zv\x075X;\x07\x07\x079-pynz}5}-:-X;\x07\x07\x079-=;=9->;=69-p;\b6H\frp@-trP|y|O\bUrvtu5nz}yr?Q-tnqvr{ar\x07r9-rpA-|yq]|vv|{6-\n--sy|n--J-5|yq]|vv|{;\b-:-z|qryO|{qv{tZv{;\b6-<-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6H--r{-r\x07r?Q5tnqvr{ar\x07r9-rp?59-=;B66;toH\fZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--0v{pyqr-Iortv{lrr\x07K--d|yq]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----d|yq]|vv|{-J-v{n{prZnv\x07-7-d|yq]|vv|{H--0r{qvs--d|yq]|vv|{-J-z|qryZnv\x07-7-d|yq]|vv|{H--rpA-z]|vv|{-J-vrZnv\x07-7-d|yq]|vv|{H--tyl]|vv|{-J-}|wrpv|{Znv\x07-7-z]|vv|{H--rpA-Sv{ny]|vv|{-J-d|yq]|vv|{H--0v{pyqr-Iy|tqr}uoslrr\x07K--0v{pyqr-Ipyv}}v{tl}yn{rlrr\x07K--zn@-pnzrn_|nv|{Znv\x07-J-zn@5vrZnv\x07h=jh=j9-vrZnv\x07h>jh=j9-vrZnv\x07h?jh=j9-vrZnv\x07h=jh>j9-vrZnv\x07h>jh>j9-vrZnv\x07h?jh>j9-vrZnv\x07h=jh?j9-vrZnv\x07h>jh?j9-vrZnv\x07h?jh?j6H--PnzrnQvrpv|{-J-{|znyv r5pnzrn_|nv|{Znv\x07-7-rp@5=;=9-=;=9-:>;=66H--<<传递nvor的p|y|到s里使用--<<动态调整}|v{`v r--sy|n-rny]|v{`v r-J-}|v{`pnyr-7-}v\x07ry_nv|H--0vs-qrsv{rq5b`Rl]\\V[al`VgRlNaaR[bNaV\\[6----sy|n-urvtu-J->;=-<-}|wrpv|{Znv\x07h>jh>j-7-zv\x075>;=9-:z]|vv|{; 9-:}|wrpv|{Znv\x07h?jh@j6-7-?;=H----rny]|v{`v r-J-r|yv|{;\b-7-rny]|v{`v r-<-urvtuH--0r{qvs--tyl]|v{`v r-J-pynz}5rny]|v{`v r9-}|v{Zv{]v\x07ry-7-}v\x07ry_nv|9-}|v{Zn\x07]v\x07ry-7-}v\x07ry_nv|6H--]|v{`v r-J-tyl]|v{`v rH--P|y|-J-_TOa|Yv{rn5p|y|6H--<<-JJJ-高度色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6----P|y|-J-trP|y|O\bUrvtu5tnqvr{ar\x07r9-Sv{ny]|vv|{6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-纯色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6----P|y|-J-p|{n{P|y|H--0r{qvs--<<-JJJJJJJJJJJ--0vs{qrs-SYNal`UNQRQ----[|zny-J-{|znyv r5zn@5z|qryZnv\x076-7-{|zny6H--0r{qvs--<<-JJJ-背面渲染-JJJ--0vs{qrs-SYNal`UNQRQ----0vs-qrsv{rq5b`Rl]\\V[alONPXlUVQQR[6------rp@-pnzrnQvrpv|{-J-{|znyv r5pnzrn]|vv|{-:-Sv{ny]|vv|{;\x07\b 6H------vs-5q|5pnzrnQvrpv|{9-[|zny6-I-=;=6-\n--------]|v{`v r-J-=;=H------\f----0ryvs-qrsv{rq5b`Rl]\\V[alONPXlQN_X6------rp@-pnzrnQvrpv|{-J-{|znyv r5pnzrn]|vv|{-:-Sv{ny]|vv|{;\x07\b 6H------vs-5q|5pnzrnQvrpv|{9-[|zny6-I-=;=6-\n--------P|y|;\x07\b -J-P|y|;\x07\b -7-=;EH------\f----0r{qvs--0r{qvs--<<-JJJ-颜色增益调整-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lNQWb`aZR[a6----rp@-uP|y|-J-to?u5P|y|6H----uP|y|;\b-8J-p|y|`nnv|{H----uP|y|; -8J-p|y|Ovtu{rH----0vs{qrs-SYNal`UNQRQ------rp@-vrQv-J-{|znyv r5v\\u|tn}uvp-L-PnzrnQvrpv|{-G-Sv{ny]|vv|{;\x07\b -:-pnzrn]|vv|{6H------<<-计算边缘增益------sy|n-p|aurn-J-q|5{|znyv r5[|zny69-vrQv6H------sy|n-n{tyr-J-np|5p|aurn6H------sy|n-|yv{rSnp|-J-}|5>;=-:-no5n{tyr-:-]VlUNYS6-<-]VlUNYS9-B;=6H------uP|y|; -8J-|yv{rTnv{-7-|yv{rSnp|H-<<-增加亮度------uP|y|; -J-pynz}5uP|y|; 9-=;=9->;=6H------<<-距离增益------rp@-o|{qv{tPr{r-J-5z|qryO|{qv{tZn\x07-8-z|qryO|{qv{tZv{6-<-?;=H------sy|n-o|{qv{tYr{tu-J-yr{tu5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6-7->;BH------sy|n-nrntrQvn{pr-J->=;=H-<<-设定一个平均距离------rp@-pnzrna|]|v{-J-Sv{ny]|vv|{;\x07\b -:-pnzrn]|vv|{H------sy|n-pnzrnO|{qv{tQvn{pr-J-zn\x075=;=9-yr{tu5pnzrn]|vv|{-:-o|{qv{tPr{r6-:-o|{qv{tYr{tu-<-?;=6H------sy|n-pnzrnQvn{pr-J-yr{tu5v\\u|tn}uvp-L-vrQv-7-q|5vrQv9-pnzrna|]|v{6-G-pnzrna|]|v{6-:-pnzrnO|{qv{tQvn{prH------sy|n-qvn{prSnp|-J-pynz}5zn\x075pnzrnQvn{pr-:-nrntrQvn{pr9-=;=6-<-o|{qv{tYr{tu9-=;=9->;=6H------qvn{prSnp|-J-5=;E-:-pynz}5>;=-:-}|5>;=-:-qvn{prSnp|9-@;=69-=;=9->;=66-7->?;=H------uP|y|; -8J-zv\x075uP|y|; -7-qvn{prTnv{-7-qvn{prSnp|9-=;=9-|yv{rSnp|6H-<<-增加透明度------uP|y|; -J-pynz}5uP|y|; 9-=;=9->;=6H----0r{qvs----P|y|-J-zn\x075u?to5uP|y|69-=;=6H--0r{qvs--<<-JJJJJJJJJJJJJJJJJJ--Y|tQr}u-J-y|t?5:z]|vv|{; 6H--0vs-qrsv{rq5b`RlU^lQR]aU6----<<-sy|n-}|wSnp|-J-:=;B-7-r|yv|{;\b-<-5n{5s|-<-?;=6-7-z]|vv|{; 6H----<<-sy|n-_nqv-J-rny]|v{`v r-<-}|wSnp|H----sy|n-|vtv{nyQr}u-J-tyl]|vv|{;H----sy|n-nqwrqQr}u-J-|vtv{nyQr}u-8-=;>H----sy|n-nqw-J-nqwrqQr}u-<-|vtv{nyQr}uH----z]|vv|{;\x07\b -J-z]|vv|{;\x07\b -7-nqwH----tyl]|vv|{-J-}|wrpv|{Znv\x07-7-z]|vv|{H--0r{qvs--_||sZnx-J-=;=H--0vs-qrsv{rq5b`RlcR_aRelZN_X6----_||sZnx-J-z||ur}5_\\\\SlZN_X-:-ZN_Xl`aR]9-_\\\\SlZN_X9-lsrnrlvqlznx6H--0r{qvs--0v{pyqr-I|yq}|lrr\x07K--0v{pyqr-Is|tlrr\x07K--ZNV[lR[Q\f");var scratchViewport$1=new THREE__namespace.Vector4,pbmUniforms={pointScale:new Uniform(1),pointMinPixel:new Uniform(1),pointMaxPixel:new Uniform(1),modelAlpha:new Uniform(1),logDepthAlpha:new Uniform(0),gradientTexture:new Uniform(null),clippers:new Uniform([]),shownFloorIndex:new Uniform(-1),constantColor:new Uniform(new THREE__namespace.Vector3),floorIndex:new Uniform(0),brightness:new Uniform(1),colorSaturation:new Uniform(0),colorBrightness:new Uniform(0),outlineGain:new Uniform(0),distanceGain:new Uniform(0),pixelRatio:new Uniform(1),resolution:new Uniform(new THREE__namespace.Vector2(512,512)),modelBoundingMin:new Uniform(new THREE__namespace.Vector3),modelBoundingMax:new Uniform(new THREE__namespace.Vector3)},shaderLib={pointcloud:{vertexShader:pointCloudVertexShader,fragmentShader:pointCloudFragmentShader}},uniformsLib=mergeUniforms({opacity:{value:1}},pbmUniforms),definesLib={USE_VERTEX_MARK:!1,USE_COLOR_CONSTANT:!1,USE_COLOR_ALTITUDE:!1,USE_COLOR_ADJUSTMENT:!1,USE_FLOOR_STYLE_VISIBILITY:!1,USE_POINT_SHAPE_CIRCLE:!1,USE_POINT_SIZE_ATTENUATION:!1,USE_POINT_BACK_HIDDEN:!1,USE_POINT_BACK_DARK:!1,USE_HQ_WEIGHT:!1,USE_HQ_DEPTH:!1},PBMPointCloudMaterial=function(n){__extends(t,n);function t(e){var r=n.call(this)||this;r.shaderType="pointcloud",r.clipping=!0,r.customShaders=[],r.vertexColors=!0,r.type="PBMPointCloudMaterial";var o=Object.assign({},definesLib),s=cloneUniforms(uniformsLib);r.defines=o,r.onBeforeCompile=function(c,p){var d,f,h=r.shaderType;c.vertexShader=shaderLib[h].vertexShader,c.fragmentShader=shaderLib[h].fragmentShader,c.uniforms=s;for(var g=0,A=Object.keys(o);g<A.length;g++){var m=A[g];m in definesLib||delete o[m]}for(var E=0,v=Object.keys(s);E<v.length;E++){var y=v[E];y in uniformsLib||delete s[y]}for(var b=r.customShaders.filter(function(P){return P.type.includes(h)}),T=0,_=b;T<_.length;T++){var S=_[T];for(var R in S.uniforms)R in s||Object.assign(s,(d={},d[R]=S.uniforms[R],d));for(var C in S.defines)C in o||Object.assign(o,(f={},f[C]=S.defines[C],f))}c.vertexShader=c.vertexShader.replace(/MAIN_BEFORE/g,b.map(function(P){return P.vertex.mainBefore}).filter(function(P){return!!P}).join(`
|
|
397
|
+
`));var X=String(r.clippers.length);v.vertexShader=v.vertexShader.replace(/NUM_CLIPPERS/g,X),v.fragmentShader=v.fragmentShader.replace(/NUM_CLIPPERS/g,X);for(var D=0,J=w;D<J.length;D++){var U=J[D];U.onBeforeCompile&&U.onBeforeCompile(v,y)}};var c="";r.onBeforeRender=function(v,y,b,T,_,S){var R=r.shaderType;b instanceof Camera?(l.pixelRatio.value=b.pixelRatio,l.resolution.value.copy(b.resolution)):(l.pixelRatio.value=v.getPixelRatio(),v.getViewport(scratchViewport$2),l.resolution.value.set(scratchViewport$2.width,scratchViewport$2.height));var C=r.customShaders.filter(function(B){return B.type.includes(R)}),H=C.map(function(B){return"".concat(B.id,":").concat(B.version)}).join("|");c!==H&&(c=H,r.needsUpdate=!0)},Object.defineProperty(r,"uniform",{configurable:!1,enumerable:!1,get:function(){return l}});var p=(o=e==null?void 0:e.shaderType)!==null&&o!==void 0?o:"standard";defineProperty(r,"shaderType",{get:function(){return p},set:function(v){p!==v&&(p=v,this.needsUpdate=!0)}});var d=(s=e==null?void 0:e.combine)!==null&&s!==void 0?s:THREE__namespace.MultiplyOperation;defineProperty(r,"combine",{get:function(){return p!=="standard"?d:null},set:function(v){d=v}}),defineProperty(r,"isPBMMeshMaterial",{get:function(){return!0}}),defineProperty(r,"isShaderMaterial",{get:function(){return!0}}),defineProperty(r,"isMeshBasicMaterial",{get:function(){return p==="basic"||p==="none"}}),defineProperty(r,"isMeshPhongMaterial",{get:function(){return p==="phong"}}),defineProperty(r,"isMeshStandardMaterial",{get:function(){return p==="standard"}}),defineProperty(r,"vertexMarks",{get:function(){return!!u.USE_VERTEX_MARK},set:function(v){u.USE_VERTEX_MARK!==v&&(u.USE_VERTEX_MARK=v,this.needsUpdate=!0)}}),defineProperty(r,"colorAlpha",{get:function(){return l.colorAlpha.value},set:function(v){l.colorAlpha.value=v}});var f=null;defineProperty(r,"pano0",{get:function(){return f},set:function(v){f!==v&&(f=v,v===null?l.pano0.value={map:null,matrix:new THREE__namespace.Matrix4,zoom:1}:l.pano0.value={map:v.map,matrix:v.matrix,zoom:v.zoom})}});var h=null;defineProperty(r,"pano1",{get:function(){return h},set:function(v){h!==v&&(h=v,v===null?l.pano1.value={map:null,matrix:new THREE__namespace.Matrix4,zoom:1}:l.pano1.value={map:v.map,matrix:v.matrix,zoom:v.zoom})}});var g=null;defineProperty(r,"pano0Depth",{get:function(){return g},set:function(v){if(g!==v){g=v,v===null?(l.pano0Depth.value.map=null,l.pano0Depth.value.maxDepth=1):(l.pano0Depth.value.map=v.map,l.pano0Depth.value.maxDepth=v.maxDepth);var y=g!==null&&A!==null;u.USE_PANO_DEPTH!==y&&(u.USE_PANO_DEPTH=y,this.needsUpdate=!0)}}});var A=null;defineProperty(r,"pano1Depth",{get:function(){return A},set:function(v){if(A!==v){A=v,v===null?l.pano1Depth.value={map:null,maxDepth:1}:l.pano1Depth.value={map:v.map,maxDepth:v.maxDepth};var y=g!==null&&A!==null;u.USE_PANO_DEPTH!==y&&(u.USE_PANO_DEPTH=y,this.needsUpdate=!0)}}});var m=null;defineProperty(r,"refinedScreen",{get:function(){return m},set:function(v){if(m!==v){m=v;var y;v===null?(y=!1,l.refinedScreen.value={matrixInverse:new THREE__namespace.Matrix4,projectionMatrix:new THREE__namespace.Matrix4,map:null,pano:0,opacity:0}):(y=!0,l.refinedScreen.value={matrixInverse:v.matrixInverse,projectionMatrix:v.projectionMatrix,map:v.map,pano:v.pano,opacity:v.opacity}),u.USE_REFINED_SCREEN!==y&&(u.USE_REFINED_SCREEN=y,this.needsUpdate=!0)}}}),defineProperty(r,"modelAlpha",{get:function(){return l.modelAlpha.value},set:function(v){l.modelAlpha.value=v}}),defineProperty(r,"logDepthAlpha",{get:function(){return l.logDepthAlpha.value},set:function(v){l.logDepthAlpha.value=v}}),defineProperty(r,"progress",{get:function(){return l.progress.value},set:function(v){l.progress.value=v}}),defineProperty(r,"transition",{get:function(){return u.USE_BLACK_TRANSITION?"BLACK":u.USE_SPREAD_TRANSITION?"SPREAD":"FADE"},set:function(v){var y=u.USE_BLACK_TRANSITION,b=u.USE_SPREAD_TRANSITION,T=u.USE_FADE_TRANSITION;u.USE_BLACK_TRANSITION=!1,u.USE_SPREAD_TRANSITION=!1,u.USE_FADE_TRANSITION=!1,u["USE_".concat(v,"_TRANSITION")]=!0;var _=!1;y!==u.USE_BLACK_TRANSITION&&(_=!0),b!==u.USE_SPREAD_TRANSITION&&(_=!0),T!==u.USE_FADE_TRANSITION&&(_=!0),_&&(this.needsUpdate=!0)}}),defineProperty(r,"colorStyle",{get:function(){return u.USE_COLOR_CONSTANT?"CONSTANT":u.USE_COLOR_ALTITUDE?"ALTITUDE":"RGB"},set:function(v){var y=v==="CONSTANT",b=v==="ALTITUDE";u.USE_COLOR_CONSTANT!==y&&(u.USE_COLOR_CONSTANT=y,this.needsUpdate=!0),u.USE_COLOR_ALTITUDE!==b&&(u.USE_COLOR_ALTITUDE=b,this.needsUpdate=!0)}}),defineProperty(r,"constantColor",{get:function(){return l.constantColor.value},set:function(v){l.constantColor.value=v}}),defineProperty(r,"floorIndex",{get:function(){return l.floorIndex.value},set:function(v){l.floorIndex.value=v}}),defineProperty(r,"shownFloorIndex",{get:function(){return l.shownFloorIndex.value},set:function(v){l.shownFloorIndex.value=v}}),defineProperty(r,"floorStyle",{get:function(){return u.USE_FLOOR_STYLE_VISIBILITY?"VISIBILITY":"OPACITY"},set:function(v){var y=v==="VISIBILITY";u.USE_FLOOR_STYLE_VISIBILITY!==y&&(u.USE_FLOOR_STYLE_VISIBILITY=y,this.needsUpdate=!0)}}),defineProperty(r,"gradientTexture",{get:function(){return l.gradientTexture.value},set:function(v){l.gradientTexture.value=v}}),defineProperty(r,"brightness",{get:function(){return l.brightness.value},set:function(v){l.brightness.value=v}});var E=[];return defineProperty(r,"clippers",{get:function(){return E},set:function(v){E!==v&&(E=v,l.clippers.value=E.map(function(y){var b=typeof y.floorIndex=="number"?y.floorIndex:-1,T=new THREE__namespace.Matrix4().getInverse(y.clippingBoxMatrix);return{matrixInverse:T,floorIndex:b}}),this.needsUpdate=!0)}}),defineProperty(r,"colorSaturation",{get:function(){return l.colorSaturation.value},set:function(v){l.colorSaturation.value=v;var y=l.colorSaturation.value!==0||l.colorBrightness.value!==0;u.USE_COLOR_ADJUSTMENT!==y&&(u.USE_COLOR_ADJUSTMENT=y,this.needsUpdate=!0)}}),defineProperty(r,"colorBrightness",{get:function(){return l.colorBrightness.value},set:function(v){l.colorBrightness.value=v;var y=l.colorSaturation.value!==0||l.colorBrightness.value!==0;u.USE_COLOR_ADJUSTMENT!==y&&(u.USE_COLOR_ADJUSTMENT=y,this.needsUpdate=!0)}}),defineProperty(r,"useHQWeight",{get:function(){return u.USE_HQ_WEIGHT},set:function(v){v!==u.USE_HQ_WEIGHT&&(u.USE_HQ_WEIGHT=v,this.needsUpdate=!0)}}),defineProperty(r,"useHQDepth",{get:function(){return u.USE_HQ_DEPTH},set:function(v){v!==u.USE_HQ_DEPTH&&(u.USE_HQ_DEPTH=v,this.needsUpdate=!0)}}),defineProperty(r,"modelBoundingMin",{get:function(){return l.modelBoundingMin.value},set:function(v){l.modelBoundingMin.value=v}}),defineProperty(r,"modelBoundingMax",{get:function(){return l.modelBoundingMax.value},set:function(v){l.modelBoundingMax.value=v}}),typeof e=="object"&&r.setValues(e),r}return t.prototype.copy=function(e){return n.prototype.copy.call(this,e),this.shaderType=e.shaderType,this.vertexMarks=e.vertexMarks,this.vertexTangents=e.vertexColors,this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.specular.copy(e.specular),this.shininess=e.shininess,this.roughnessMap=e.roughnessMap,this.roughness=e.roughness,this.metalnessMap=e.metalnessMap,this.metalness=e.metalness,this.alphaMap=e.alphaMap,this.combine=e.combine,this.envMap=e.envMap,this.envMapIntensity=e.envMapIntensity,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.emissiveMap=e.emissiveMap,this.emissive.copy(e.emissive),this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.skinning=e.skinning,this.morphTargets=e.morphTargets,this.morphNormals=e.morphNormals,this.customShaders=e.customShaders,this.colorAlpha=e.colorAlpha,this.alphaMode=e.alphaMode,this.pano0=e.pano0,this.pano1=e.pano1,this.modelAlpha=e.modelAlpha,this.logDepthAlpha=e.logDepthAlpha,this.progress=e.progress,this.transition=e.transition,this.colorStyle=e.colorStyle,this.constantColor.copy(e.constantColor),this.floorIndex=e.floorIndex,this.shownFloorIndex=e.shownFloorIndex,this.floorStyle=e.floorStyle,this.gradientTexture=e.gradientTexture,this.brightness=e.brightness,this.clippers=e.clippers,this.colorSaturation=e.colorSaturation,this.colorBrightness=e.colorBrightness,this.useEDL=e.useEDL,this.useHQWeight=e.useHQWeight,this.useHQDepth=e.useHQDepth,this.modelBoundingMin.copy(e.modelBoundingMin),this.modelBoundingMax.copy(e.modelBoundingMax),this},t.prototype.clone=function(){var e=this.constructor;return new e().copy(this)},t.prototype.refreshUniforms=function(){},t}(PBMMaterial),PBMMesh=function(n){__extends(t,n);function t(e,r){var o=n.call(this,e,r)||this;return o.onBeforeRender=function(s,u,l,c,p,d){p instanceof PBMMeshMaterial&&p.onBeforeRender&&p.onBeforeRender(s,u,l,c,o,d)},o}return t}(THREE__namespace.Mesh),PBMSkinnedMesh=function(n){__extends(t,n);function t(e,r,o){var s=n.call(this,e,r,o)||this;return s.onBeforeRender=function(u,l,c,p,d,f){d instanceof PBMMeshMaterial&&d.onBeforeRender&&d.onBeforeRender(u,l,c,p,s,f)},s}return t}(THREE__namespace.SkinnedMesh);const pointCloudFragmentShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}("{vs|z-sy|n-sy||V{qr\x07H0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH0r{qvsp-Pyv}}r-\n--znA-znv\x07V{rrH--sy|n-sy||V{qr\x07H\fH0vs-[bZlPYV]]R_`-K-=--{vs|z-Pyv}}r-pyv}}rh[bZlPYV]]R_`jH0r{qvsn\bv{t-sy|n-_||sZnxHn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rpA-Sv{ny]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-sy|n-Y|tQr}uHn\bv{t-rp@-P|y|Hn\bv{t-sy|n-]|v{`v rH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-y|tQr}uNy}unH{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{H0v{pyqr-Ip|zz|{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{KZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--<<-JJJ-点-大小-形状-剔除-JJJ--vs-5]|v{`v r-I-=;==>6-\n----qvpnqH--\f--sy|n-}-J-?;=-7-tyl]|v{P||q;\x07-:->;=H--sy|n-}-J-?;=-7-tyl]|v{P||q;\b-:->;=H--sy|n-}-J-}-7-}-8-}-7-}H--<<-JJJ-形状裁切-JJJ--0vs-qrsv{rq5b`Rl]\\V[al`UN]RlPV_PYR6----vs-5]|v{`v r-K-@;=-33-}-K->;=6-\n------qvpnqH----\f--0r{qvs--<<-JJJJJJJJJJJJJ--<<-JJJ-楼层-JJJ--o||y-vPr{Sy||-J-u|{Sy||V{qr\x07-I-:=;=>-\v\v-no5sy||V{qr\x07-:-u|{Sy||V{qr\x076-I-=;FFH--sy|n-sy||\\}npv\b-J->;=H--vs-5.vPr{Sy||6-\n----0vs-qrsv{rq5b`RlSY\\\\_l`afYRlcV`VOVYVaf6------qvpnqH----0r{qvs----sy||\\}npv\b-J-pynz}5=;?-7-zv{55>;=-8-PnzrnQvrpv|{;\b69->;=69-=;=9->;=6H--\f--<<-JJJJJJJJJJJ--<<-JJJ-顶部裁切-JJJ--sy|n-||sP]|tr-J-}|5pynz}5:PnzrnQvrpv|{;\b9-=;=9->;=69-@;=6H--vs-5----_||sZnx-K-=;==>-33----Sv{ny]|vv|{;\b-K-z|qryO|{qv{tZn\x07;\b-:-||sP]|tr-7-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6--6-\n----qvpnqH--\f--<<-JJJJJJJJJJJJJJ--<<-JJJ-前置裁切计算-JJJ--0vs-[bZlPYV]]R_`-K-=----o||y-pyv}}rqH----rpA-pyv}}r]|vv|{H----0}ntzn-{|yyly||}ln----s|-5-v{-v-J-=H-v-I-[bZlPYV]]R_`H-v-88-6-\n------pyv}}r]|vv|{-J-pyv}}rh-v-j;znv\x07V{rr-7-Sv{ny]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5sy||V{qr\x07-:-pyv}}rh-v-j;sy||V{qr\x076-I->;=6H------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\x07-K-:=;B-33-pyv}}r]|vv|{;\x07-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\b-K-:=;B-33-pyv}}r]|vv|{;\b-I-=;BH------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{; -K-:=;B-33-pyv}}r]|vv|{; -I-=;BH------vs-5pyv}}rq6-\n--------qvpnqH------\f----\f----0}ntzn-{|yyly||}lr{q--0r{qvs--<<-JJJJJJJJJJJJJJJJ--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--0v{pyqr-Iy|tqr}uoslsntzr{K--<<-JJJ-颜色-JJJ--tylSntP|y|-J-rpA5P|y|9-|}npv\b-7-sy||\\}npv\b-7-z|qryNy}un6H--ZNV[lZ\\QRYlP\\Y\\_--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--<<-JJJJ-使用深度表示-ny}un-JJJJ--tylSntP|y|;n-J-zv\x075tylSntP|y|;n9-Y|tQr}u9-y|tQr}uNy}un6H--0vs-qrsv{rq5b`RlU^ldRVTUa6----sy|n-qvn{pr-J-?;=-7-yr{tu5tyl]|v{P||q;\x07\b-:-=;B6H----sy|n-rvtu-J-zn\x075=;=9->;=-:-qvn{pr6H----rvtu-J-}|5rvtu9->;B6H----tylSntP|y|;n-J-rvtuH----tylSntP|y|;\x07\b -J-tylSntP|y|;\x07\b -7-rvtuH--0r{qvs--ZNV[lR[Q\f"),pointCloudVertexShader=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=113,o=126,s=0,u="";return t[s].split(u).map(function(l){return l.charCodeAt(s)>o?l:String.fromCharCode((l.charCodeAt(s)+r)%o)}).join(u)}("nvor-sy|n-lsrnrlvqlznxHn\bv{t-sy|n-_||sZnxH0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6--{vs|z-rp@-p|{n{P|y|H0r{qvs0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6--{vs|z-nz}yr?Q-tnqvr{ar\x07rH0r{qvs{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H{vs|z-sy|n-}|v{`pnyrH{vs|z-sy|n-}|v{Zv{]v\x07ryH{vs|z-sy|n-}|v{Zn\x07]v\x07ryH{vs|z-sy|n-|}npv\bH{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{H<<u调整{vs|z-sy|n-p|y|`nnv|{H{vs|z-sy|n-p|y|Ovtu{rH<<-边缘增益{vs|z-sy|n-|yv{rTnv{H{vs|z-sy|n-qvn{prTnv{Hn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rpA-Sv{ny]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-sy|n-Y|tQr}uHn\bv{t-rp@-P|y|Hn\bv{t-sy|n-]|v{`v rH0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-Is|tl}nlrr\x07K0v{pyqr-Iz|}untrl}nlrr\x07K0v{pyqr-Iy|tqr}uosl}nlrr\x07K0v{pyqr-Ipyv}}v{tl}yn{rl}nlrr\x07Krp@-_TOa|Yv{rn5rp@-nyr6-\n--r{-zv\x075----}|5-nyr;to-7-=;FADECD?FEC-8-rp@5-=;=B?>@?D=>A-69-rp@5-?;A-6-69----nyr;to-7-=;=DD@FF@E=E9----rp@5-yraun{R\0ny5-nyr;to9-rp@5-=;=A=AB-6-6-6--6H\frp@-to?u5rp@-p6-\n--rpA-X-J-rpA5=;=9-:>;=-<-@;=9-?;=-<-@;=9-:>;=6H--rpA-}-J-zv\x075rpA5p;ot9-X; 69-rpA5p;to9-X;\x07\b69-r}5p;o9-p;t66H--rpA-\0-J-zv\x075rpA5};\x07\b9-p;69-rpA5p;9-};\b \x0769-r}5};\x079-p;66H--sy|n-q-J-\0;\x07-:-zv{5\0;9-\0;\b6H--sy|n-r-J->;=r:>=H--r{-rp@5no5\0; -8-5\0;-:-\0;\b6-<-5C;=-7-q-8-r669-q-<-5\0;\x07-8-r69-\0;\x076H\frp@-u?to5rp@-p6-\n--rpA-X-J-rpA5>;=9-?;=-<-@;=9->;=-<-@;=9-@;=6H--rp@-}-J-no5snp5p;\x07\x07\x07-8-X;\x07\b 6-7-C;=-:-X;6H--r{-p; -7-zv\x075X;\x07\x07\x079-pynz}5}-:-X;\x07\x07\x079-=;=9->;=69-p;\b6H\frp@-trP|y|O\bUrvtu5nz}yr?Q-tnqvr{ar\x07r9-rpA-|yq]|vv|{6-\n--sy|n--J-5|yq]|vv|{;\b-:-z|qryO|{qv{tZv{;\b6-<-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6H--r{-r\x07r?Q5tnqvr{ar\x07r9-rp?59-=;B66;toH\fZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--0v{pyqr-Iortv{lrr\x07K--d|yq]|vv|{-J-rpA5n{s|zrq9->;=6H--0vsqrs-b`RlV[`aN[PV[T----d|yq]|vv|{-J-v{n{prZnv\x07-7-d|yq]|vv|{H--0r{qvs--d|yq]|vv|{-J-z|qryZnv\x07-7-d|yq]|vv|{H--rpA-z]|vv|{-J-vrZnv\x07-7-d|yq]|vv|{H--tyl]|vv|{-J-}|wrpv|{Znv\x07-7-z]|vv|{H--Sv{ny]|vv|{-J-d|yq]|vv|{H--0v{pyqr-Iy|tqr}uoslrr\x07K--0v{pyqr-Ipyv}}v{tl}yn{rlrr\x07K--zn@-pnzrn_|nv|{Znv\x07-J-zn@5vrZnv\x07h=jh=j9-vrZnv\x07h>jh=j9-vrZnv\x07h?jh=j9-vrZnv\x07h=jh>j9-vrZnv\x07h>jh>j9-vrZnv\x07h?jh>j9-vrZnv\x07h=jh?j9-vrZnv\x07h>jh?j9-vrZnv\x07h?jh?j6H--PnzrnQvrpv|{-J-{|znyv r5pnzrn_|nv|{Znv\x07-7-rp@5=;=9-=;=9-:>;=66H--<<传递nvor的p|y|到s里使用--<<动态调整}|v{`v r--sy|n-rny]|v{`v r-J-}|v{`pnyr-7-}v\x07ry_nv|H--0vs-qrsv{rq5b`Rl]\\V[al`VgRlNaaR[bNaV\\[6----sy|n-urvtu-J->;=-<-}|wrpv|{Znv\x07h>jh>j-7-zv\x075>;=9-:z]|vv|{; 9-:}|wrpv|{Znv\x07h?jh@j6-7-?;=H----rny]|v{`v r-J-r|yv|{;\b-7-rny]|v{`v r-<-urvtuH--0r{qvs--tyl]|v{`v r-J-pynz}5rny]|v{`v r9-}|v{Zv{]v\x07ry-7-}v\x07ry_nv|9-}|v{Zn\x07]v\x07ry-7-}v\x07ry_nv|6H--]|v{`v r-J-tyl]|v{`v rH--P|y|-J-_TOa|Yv{rn5p|y|6H--<<-JJJ-高度色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6----P|y|-J-trP|y|O\bUrvtu5tnqvr{ar\x07r9-Sv{ny]|vv|{6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-纯色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6----P|y|-J-p|{n{P|y|H--0r{qvs--<<-JJJJJJJJJJJ--0vs{qrs-SYNal`UNQRQ----[|zny-J-{|znyv r5zn@5z|qryZnv\x076-7-{|zny6H--0r{qvs--<<-JJJ-背面渲染-JJJ--0vs{qrs-SYNal`UNQRQ----0vs-qrsv{rq5b`Rl]\\V[alONPXlUVQQR[6------rp@-pnzrnQvrpv|{-J-{|znyv r5pnzrn]|vv|{-:-Sv{ny]|vv|{;\x07\b 6H------vs-5q|5pnzrnQvrpv|{9-[|zny6-I-=;=6-\n--------]|v{`v r-J-=;=H------\f----0ryvs-qrsv{rq5b`Rl]\\V[alONPXlQN_X6------rp@-pnzrnQvrpv|{-J-{|znyv r5pnzrn]|vv|{-:-Sv{ny]|vv|{;\x07\b 6H------vs-5q|5pnzrnQvrpv|{9-[|zny6-I-=;=6-\n--------P|y|;\x07\b -J-P|y|;\x07\b -7-=;EH------\f----0r{qvs--0r{qvs--<<-JJJ-颜色增益调整-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lNQWb`aZR[a6----rp@-uP|y|-J-to?u5P|y|6H----uP|y|;\b-8J-p|y|`nnv|{H----uP|y|; -8J-p|y|Ovtu{rH----0vs{qrs-SYNal`UNQRQ------rp@-vrQv-J-{|znyv r5v\\u|tn}uvp-L-PnzrnQvrpv|{-G-Sv{ny]|vv|{;\x07\b -:-pnzrn]|vv|{6H------<<-计算边缘增益------sy|n-p|aurn-J-q|5{|znyv r5[|zny69-vrQv6H------sy|n-n{tyr-J-np|5p|aurn6H------sy|n-|yv{rSnp|-J-}|5>;=-:-no5n{tyr-:-]VlUNYS6-<-]VlUNYS9-B;=6H------uP|y|; -8J-|yv{rTnv{-7-|yv{rSnp|H-<<-增加亮度------uP|y|; -J-pynz}5uP|y|; 9-=;=9->;=6H------<<-距离增益------rp@-o|{qv{tPr{r-J-5z|qryO|{qv{tZn\x07-8-z|qryO|{qv{tZv{6-<-?;=H------sy|n-o|{qv{tYr{tu-J-yr{tu5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6-7->;BH------sy|n-nrntrQvn{pr-J->=;=H-<<-设定一个平均距离------rp@-pnzrna|]|v{-J-Sv{ny]|vv|{;\x07\b -:-pnzrn]|vv|{H------sy|n-pnzrnO|{qv{tQvn{pr-J-zn\x075=;=9-yr{tu5pnzrn]|vv|{-:-o|{qv{tPr{r6-:-o|{qv{tYr{tu-<-?;=6H------sy|n-pnzrnQvn{pr-J-yr{tu5v\\u|tn}uvp-L-vrQv-7-q|5vrQv9-pnzrna|]|v{6-G-pnzrna|]|v{6-:-pnzrnO|{qv{tQvn{prH------sy|n-qvn{prSnp|-J-pynz}5zn\x075pnzrnQvn{pr-:-nrntrQvn{pr9-=;=6-<-o|{qv{tYr{tu9-=;=9->;=6H------qvn{prSnp|-J-5=;E-:-pynz}5>;=-:-}|5>;=-:-qvn{prSnp|9-@;=69-=;=9->;=66-7->?;=H------uP|y|; -8J-zv\x075uP|y|; -7-qvn{prTnv{-7-qvn{prSnp|9-=;=9-|yv{rSnp|6H-<<-增加透明度------uP|y|; -J-pynz}5uP|y|; 9-=;=9->;=6H----0r{qvs----P|y|-J-zn\x075u?to5uP|y|69-=;=6H--0r{qvs--<<-JJJJJJJJJJJJJJJJJJ--Y|tQr}u-J-y|t?5:z]|vv|{; 6H--0vs-qrsv{rq5b`RlU^lQR]aU6----<<-sy|n-}|wSnp|-J-:=;B-7-r|yv|{;\b-<-5n{5s|-<-?;=6-7-z]|vv|{; 6H----<<-sy|n-_nqv-J-rny]|v{`v r-<-}|wSnp|H----sy|n-|vtv{nyQr}u-J-tyl]|vv|{;H----sy|n-nqwrqQr}u-J-|vtv{nyQr}u-8-=;>H----sy|n-nqw-J-nqwrqQr}u-<-|vtv{nyQr}uH----z]|vv|{;\x07\b -J-z]|vv|{;\x07\b -7-nqwH----tyl]|vv|{-J-}|wrpv|{Znv\x07-7-z]|vv|{H--0r{qvs--_||sZnx-J-=;=H--0vs-qrsv{rq5b`RlcR_aRelZN_X6----_||sZnx-J-z||ur}5_\\\\SlZN_X-:-ZN_Xl`aR]9-_\\\\SlZN_X9-lsrnrlvqlznx6H--0r{qvs--0v{pyqr-I|yq}|lrr\x07K--0v{pyqr-Is|tlrr\x07K--ZNV[lR[Q\f");var scratchViewport$1=new THREE__namespace.Vector4,pbmUniforms={pointScale:new Uniform(1),pointMinPixel:new Uniform(1),pointMaxPixel:new Uniform(1),modelAlpha:new Uniform(1),logDepthAlpha:new Uniform(0),gradientTexture:new Uniform(null),clippers:new Uniform([]),shownFloorIndex:new Uniform(-1),constantColor:new Uniform(new THREE__namespace.Vector3),floorIndex:new Uniform(0),brightness:new Uniform(1),colorSaturation:new Uniform(0),colorBrightness:new Uniform(0),outlineGain:new Uniform(0),distanceGain:new Uniform(0),pixelRatio:new Uniform(1),resolution:new Uniform(new THREE__namespace.Vector2(512,512)),modelBoundingMin:new Uniform(new THREE__namespace.Vector3),modelBoundingMax:new Uniform(new THREE__namespace.Vector3)},shaderLib={pointcloud:{vertexShader:pointCloudVertexShader,fragmentShader:pointCloudFragmentShader}},uniformsLib=mergeUniforms({opacity:{value:1}},pbmUniforms),definesLib={USE_VERTEX_MARK:!1,USE_COLOR_CONSTANT:!1,USE_COLOR_ALTITUDE:!1,USE_COLOR_ADJUSTMENT:!1,USE_FLOOR_STYLE_VISIBILITY:!1,USE_POINT_SHAPE_CIRCLE:!1,USE_POINT_SIZE_ATTENUATION:!1,USE_POINT_BACK_HIDDEN:!1,USE_POINT_BACK_DARK:!1,USE_HQ_WEIGHT:!1,USE_HQ_DEPTH:!1},PBMPointCloudMaterial=function(n){__extends(t,n);function t(e){var r=n.call(this)||this;r.shaderType="pointcloud",r.clipping=!0,r.customShaders=[],r.vertexColors=!0,r.type="PBMPointCloudMaterial";var o=Object.assign({},definesLib),s=cloneUniforms(uniformsLib);r.defines=o,r.onBeforeCompile=function(c,p){var d,f,h=r.shaderType;c.vertexShader=shaderLib[h].vertexShader,c.fragmentShader=shaderLib[h].fragmentShader,c.uniforms=s;for(var g=0,A=Object.keys(o);g<A.length;g++){var m=A[g];m in definesLib||delete o[m]}for(var E=0,v=Object.keys(s);E<v.length;E++){var y=v[E];y in uniformsLib||delete s[y]}for(var b=r.customShaders.filter(function(P){return P.type.includes(h)}),T=0,_=b;T<_.length;T++){var S=_[T];for(var R in S.uniforms)R in s||Object.assign(s,(d={},d[R]=S.uniforms[R],d));for(var C in S.defines)C in o||Object.assign(o,(f={},f[C]=S.defines[C],f))}c.vertexShader=c.vertexShader.replace(/MAIN_BEFORE/g,b.map(function(P){return P.vertex.mainBefore}).filter(function(P){return!!P}).join(`
|
|
398
398
|
`)),c.vertexShader=c.vertexShader.replace(/MAIN_START/g,b.map(function(P){return P.vertex.mainStart}).filter(function(P){return!!P}).join(`
|
|
399
399
|
`)),c.vertexShader=c.vertexShader.replace(/MAIN_END/g,b.map(function(P){return P.vertex.mainEnd}).filter(function(P){return!!P}).join(`
|
|
400
400
|
`)),c.fragmentShader=c.fragmentShader.replace(/MAIN_BEFORE/g,b.map(function(P){return P.fragment.mainBefore}).filter(function(P){return!!P}).join(`
|
|
@@ -2128,7 +2128,7 @@ void main() {
|
|
|
2128
2128
|
#include <premultiplied_alpha_fragment>
|
|
2129
2129
|
|
|
2130
2130
|
}
|
|
2131
|
-
`},LineMaterial=function(n){__extends(t,n);function t(e){var r=n.call(this,{uniforms:THREE__namespace.UniformsUtils.clone(lineShader.uniforms),vertexShader:lineShader.vertexShader,fragmentShader:lineShader.fragmentShader,clipping:!0})||this;return r.type="LineMaterial",r.dashed=!1,Object.defineProperties(r,{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(o){this.uniforms.diffuse.value=o}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(o){this.uniforms.linewidth.value=o}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(o){this.uniforms.dashScale.value=o}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(o){this.uniforms.dashSize.value=o}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(o){this.uniforms.gapSize.value=o}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(o){this.uniforms.opacity.value=o}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(o){this.uniforms.resolution.value.copy(o)}}}),r.setValues(e),r}return t}(THREE__namespace.ShaderMaterial);Object.assign(LineMaterial.prototype,{isLineMaterial:!0});var LineSegments2=function(n){__extends(t,n);function t(e,r){var o=n.call(this)||this;return o.type="LineSegments2",o.geometry=e!==void 0?e:new LineSegmentsGeometry,o.material=r!==void 0?r:new LineMaterial({color:Math.random()*16777215}),o}return t.prototype.computeLineDistances=function(){for(var e=this.geometry,r=e.attributes.instanceStart,o=e.attributes.instanceEnd,s=new Float32Array(2*r.count),u=new THREE__namespace.Vector3,l=new THREE__namespace.Vector3,c=0,p=0,d=r.count;c<d;c++,p+=2)u.fromBufferAttribute(r,c),l.fromBufferAttribute(o,c),s[p]=p===0?0:s[p-1],s[p+1]=s[p]+u.distanceTo(l);var f=new THREE__namespace.InstancedInterleavedBuffer(s,2,1);return e.setAttribute("instanceDistanceStart",new THREE__namespace.InterleavedBufferAttribute(f,1,0)),e.setAttribute("instanceDistanceEnd",new THREE__namespace.InterleavedBufferAttribute(f,1,1)),this},t.prototype.raycast=function(e,r){e.camera===null&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2.');var o=e.ray,s=e.camera,u=s.projectionMatrix,l=this.geometry,c=this.material,p=c.resolution,d=c.linewidth,f=l.attributes.instanceStart,h=l.attributes.instanceEnd,g=new THREE__namespace.Vector4,A=new THREE__namespace.Vector4,m=new THREE__namespace.Vector4,E=new THREE__namespace.Vector3,v=new THREE__namespace.Matrix4,y=new THREE__namespace.Line3,b=new THREE__namespace.Vector3;o.at(1,m),m.w=1,m.applyMatrix4(s.matrixWorldInverse),m.applyMatrix4(u),m.multiplyScalar(1/m.w),m.x*=p.x/2,m.y*=p.y/2,m.z=0,E.copy(m);var T=this.matrixWorld;v.multiplyMatrices(s.matrixWorldInverse,T);for(var _=0,S=f.count;_<S;_++){g.fromBufferAttribute(f,_),A.fromBufferAttribute(h,_),g.w=1,A.w=1,g.applyMatrix4(v),A.applyMatrix4(v),g.applyMatrix4(u),A.applyMatrix4(u),g.multiplyScalar(1/g.w),A.multiplyScalar(1/A.w);var R=g.z<-1&&A.z<-1,C=g.z>1&&A.z>1;if(!(R||C)){g.x*=p.x/2,g.y*=p.y/2,A.x*=p.x/2,A.y*=p.y/2,y.start.copy(g),y.start.z=0,y.end.copy(A),y.end.z=0;var H=y.closestPointToPointParameter(E,!0);y.at(H,b);var B=THREE__namespace.MathUtils.lerp(g.z,A.z,H),M=B>=-1&&B<=1,w=E.distanceTo(b)<d*.5;if(M&&w){y.start.fromBufferAttribute(f,_),y.end.fromBufferAttribute(h,_),y.start.applyMatrix4(T),y.end.applyMatrix4(T);var P=new THREE__namespace.Vector3,O=new THREE__namespace.Vector3;o.distanceSqToSegment(y.start,y.end,O,P),r.push({point:O,pointOnLine:P,distance:o.origin.distanceTo(O),object:this,faceIndex:_})}}}},t}(THREE__namespace.Mesh);Object.assign(LineSegments2.prototype,{isLineSegments2:!0});var Line2=function(n){__extends(t,n);function t(e,r){var o=n.call(this,e,r)||this;return o.type="Line2",o}return t}(LineSegments2);Object.assign(Line2.prototype,{isLine2:!0});var LineGeometry=function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.type="LineGeometry",e}return t.prototype.setPositions=function(e){for(var r=e.length-3,o=new Float32Array(2*r),s=0;s<r;s+=3)o[2*s]=e[s],o[2*s+1]=e[s+1],o[2*s+2]=e[s+2],o[2*s+3]=e[s+3],o[2*s+4]=e[s+4],o[2*s+5]=e[s+5];return n.prototype.setPositions.call(this,o),this},t.prototype.setColors=function(e){for(var r=e.length-3,o=new Float32Array(2*r),s=0;s<r;s+=3)o[2*s]=e[s],o[2*s+1]=e[s+1],o[2*s+2]=e[s+2],o[2*s+3]=e[s+3],o[2*s+4]=e[s+4],o[2*s+5]=e[s+5];return n.prototype.setColors.call(this,o),this},t.prototype.fromLine=function(e){var r=e.geometry;if(r instanceof THREE__namespace.Geometry){var o=new THREE__namespace.BufferGeometry().fromGeometry(r);this.setPositions(o.attributes.position.array)}else r instanceof THREE__namespace.BufferGeometry&&this.setPositions(r.attributes.position.array);return this},t.prototype.copy=function(){return this},t}(LineSegmentsGeometry);Object.assign(LineGeometry.prototype,{isLineGeometry:!0});var circleImageURL="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sHDgwCEMBJZu0AAAAdaVRYdENvbW1lbnQAAAAAAENyZWF0ZWQgd2l0aCBHSU1QZC5lBwAABM5JREFUWMO1V0tPG2cUPZ4Hxh6DazIOrjFNqJs0FIMqWFgWQkatsmvVbtggKlSVRVf5AWz4AWz4AUSKEChll19QJYSXkECuhFxsHjEhxCYm+DWGMZ5HF72DJq4bAzFXurI0M/I5997v3u9cC65vTJVn2lX/xHINQOYSBLTLEuIuCWw4Z3IGAEvf6ASmVHjNzHCXBG4A0AjACsAOwEbO0nsFQBnAGYASAIl+ZRMR7SolMEdsByD09fV5R0ZGgg8ePPjW5/N1iqLYpuu6RZblciKR2I9Go69evnwZnZ+fjwI4IS8AKBIRzeQfJWCANwKwh0KhtrGxsYehUOin1tbW+zzP23ietzY2NnIAoGmaLsuyUiqVyvl8XtrY2NiamZn589mzZxsAUgCOAeQAnFI2tI+VxIjaAeDzoaGh7xYWFuZOTk6OZVk+12uYqqq6JEnn0Wg0OT4+/geAXwGEAdwDIFJQXC1wO4DWR48e/RCPxxclSSroVzRFUbSDg4P848ePFwH8DuAhkWih83TRQWxFOXgAwvDwcOfo6OhvXV1d39tsNtuVBwTDWBwOh1UUxVsMw1hXVlbSdCgNV43uYSvrHg6H24aHh38eHBz85TrgF9FYLHA4HLzH43FvbW2d7u/vG+dANp8FpqIlbd3d3V8Fg8EfBUFw4BONZVmL3+9vHhkZCQL4AoAHgJPK8G+yzC0XDofdoVAo5PP5vkadTBAEtr+/39ff3x8gAp/RPOEqx2qjx+NpvXv3bk9DQ0NDvQgwDIOWlhZrMBj8kgi0UJdxRgYMArzL5XJ7vd57qLPZ7Xamp6fnNgBXtQxcjFuHw+Hyer3t9SYgCAITCAScAJoBNNEY/08GOFVVrfVMv7kMNDntFD1vjIAPrlRN0xjckOm6biFQ3jwNPwDMZrOnqVTqfb3Bi8Wivru7W/VCYkwPlKOjo0IikXh7EwQikYgE4Nw0CfXKDCipVCoTj8df3QABbW1tLUc6oUgkFPMkVACUNjc337148eKvw8PDbJ2jP1taWkoCyNDVXDSECmNSK4qiKNLq6urW8+fPI/UicHx8rD59+jSVy+WOAKSJhKENwFItLtoxk8mwsixzHR0dHe3t7c5PAU+n09rs7OzJkydPYqVSaQfANoDXALIk31S2smU1TWMPDg7K5XKZ7+3t9TudTut1U7+wsFCcmJiIpdPpbQBxADsAknQWymYCOukBHYCuKApisdhpMpnURFEU79y503TVyKenpzOTk5M7e3t7MQKPV0Zv1gNm+awB0MvlshqLxfLb29uyJElWURSbXC4XXyvqxcXFs6mpqeTc3Nzu3t7e3wQcA7BPZ8Cov1pNlJplmQtAG8MwHV6v95tAINA5MDBwPxAIuLu6upr8fr/VAN3c3JQjkcjZ+vp6fnl5+d2bN29SuVzuNYAEpf01CdRChUL+X1VskHACuA3Ay3Fcu9vt7nA6nZ7m5uYWQRCaNE3jVVW15PP580KhIGUymWw2m00DOAJwSP4WwPtq4LX2Ao6USxNlQyS/RcQcdLGwlNIz6vEMAaZpNzCk2Pll94LK/cDYimxERiBwG10sxjgvEZBE0UpE6vxj+0Ct5bTaXthgEhRmja8QWNkkPGsuIpfdjpkK+cZUWTC0KredVmtD/gdlSl6EG4AMvQAAAABJRU5ErkJggg==",DEFAULT_COLOR=14467195,POINT_SIZE=8,DEFAULT_LINEWIDTH=2,DEFAULT_DASHSCALE=20,sharedCircleTexture=null,FiveLine=function(n){__extends(t,n);function t(e,r){e===void 0&&(e=new THREE__namespace.Vector3),r===void 0&&(r=new THREE__namespace.Vector3);var o=n.call(this)||this;o.type="FiveLine",o.needsRender=!0;var s=new LineGeometry,u=new LineMaterial({color:DEFAULT_COLOR,linewidth:DEFAULT_LINEWIDTH,dashScale:DEFAULT_DASHSCALE,dashed:!1});o.line=new Line2(s,u);var l=new THREE__namespace.BufferGeometry,c=new THREE__namespace.PointsMaterial({color:DEFAULT_COLOR,size:POINT_SIZE,map:sharedCircleTexture||(sharedCircleTexture=new THREE__namespace.TextureLoader().load(circleImageURL)),sizeAttenuation:!1,transparent:!0});return o.points=new THREE__namespace.Points(l,c),o.points.renderOrder=11,o.points.frustumCulled=!1,o.setPoints(e,r),o.add(o.line,o.points),o}return Object.defineProperty(t,"version",{get:function(){return"6.5.13"},enumerable:!1,configurable:!0}),t.prototype.setPoints=function(e,r){var o=[].concat(e.toArray(),r.toArray());this.points.geometry.setAttribute("position",new THREE__namespace.BufferAttribute(new Float32Array(o),3)),this.line.geometry.setPositions(o),this.line.computeLineDistances(),this.needsRender=!0},t.prototype.getPoints=function(){var e=this.points.geometry.attributes.position.array;return[new THREE__namespace.Vector3(e[0],e[1],e[2]),new THREE__namespace.Vector3(e[3],e[4],e[5])]},t.prototype.setMaterial=function(e){var r=this.line.material;for(var o in e)if(e.hasOwnProperty(o)){var s=e[o];o==="dashed"?(r.dashed=s,s?r.defines.USE_DASH="":delete r.defines.USE_DASH,r.needsUpdate=!0):r[o]=e[o]}this.needsRender=!0},t.prototype.setResolution=function(e,r){var o=this.line.material.resolution;(o.x!==e||o.y!==r)&&(o.set(e,r),this.needsRender=!0)},t}(THREE__namespace.Object3D);Object.assign(FiveLine.prototype,{isFiveLine:!0});var Constants={Handedness:Object.freeze({NONE:"none",LEFT:"left",RIGHT:"right"}),ComponentState:Object.freeze({DEFAULT:"default",TOUCHED:"touched",PRESSED:"pressed"}),ComponentProperty:Object.freeze({BUTTON:"button",X_AXIS:"xAxis",Y_AXIS:"yAxis",STATE:"state"}),ComponentType:Object.freeze({TRIGGER:"trigger",SQUEEZE:"squeeze",TOUCHPAD:"touchpad",THUMBSTICK:"thumbstick",BUTTON:"button"}),ButtonTouchThreshold:.05,AxisTouchThreshold:.1,VisualResponseProperty:Object.freeze({TRANSFORM:"transform",VISIBILITY:"visibility"})};function fetchJsonFile(n){return __awaiter(this,void 0,void 0,function(){var t;return __generator(this,function(e){switch(e.label){case 0:return[4,fetch(n)];case 1:if(t=e.sent(),t.ok)return[2,t.json()];throw new Error(t.statusText)}})})}function fetchProfilesList(n){return __awaiter(this,void 0,void 0,function(){var t,e;return __generator(this,function(r){switch(r.label){case 0:if(!n)throw new Error("No basePath supplied");return t="profilesList.json",[4,fetchJsonFile("".concat(n,"/").concat(t))];case 1:return e=r.sent(),[2,e]}})})}function fetchProfile(n,t){return __awaiter(this,arguments,void 0,function(e,r,o,s){var u,l,c,p,d,f;return o===void 0&&(o=null),s===void 0&&(s=!0),__generator(this,function(h){switch(h.label){case 0:if(!e)throw new Error("No xrInputSource supplied");if(!r)throw new Error("No basePath supplied");return[4,fetchProfilesList(r)];case 1:if(u=h.sent(),e.profiles.some(function(g){var A=u[g];return A&&(l={profileId:g,profilePath:"".concat(r,"/").concat(A.path),deprecated:!!A.deprecated}),!!l}),!l){if(!o)throw new Error("No matching profile name found");if(c=u[o],!c)throw new Error('No matching profile name found and default profile "'.concat(o,'" missing.'));l={profileId:o,profilePath:"".concat(r,"/").concat(c.path),deprecated:!!c.deprecated}}return[4,fetchJsonFile(l.profilePath)];case 2:if(p=h.sent(),s){if(f=void 0,f=p.layouts[e.handedness],!f)throw new Error("No matching handedness, ".concat(e.handedness,", in profile ").concat(l.profileId));f.assetPath&&(d=l.profilePath.replace("profile.json",f.assetPath))}return[2,{profile:p,assetPath:d}]}})})}var defaultComponentValues={xAxis:0,yAxis:0,button:0,state:Constants.ComponentState.DEFAULT};function normalizeAxes(n,t){n===void 0&&(n=0),t===void 0&&(t=0);var e=n,r=t,o=Math.sqrt(n*n+t*t);if(o>1){var s=Math.atan2(t,n);e=Math.cos(s),r=Math.sin(s)}var u={normalizedXAxis:e*.5+.5,normalizedYAxis:r*.5+.5};return u}var VisualResponse=function(){function n(t){this.componentProperty=t.componentProperty,this.states=t.states,this.valueNodeName=t.valueNodeName,this.valueNodeProperty=t.valueNodeProperty,this.valueNodeProperty===Constants.VisualResponseProperty.TRANSFORM&&(this.minNodeName=t.minNodeName,this.maxNodeName=t.maxNodeName),this.value=0,this.updateFromComponent(defaultComponentValues)}return n.prototype.updateFromComponent=function(t){var e=t.xAxis,r=t.yAxis,o=t.button,s=t.state,u=normalizeAxes(e,r),l=u.normalizedXAxis,c=u.normalizedYAxis;switch(this.componentProperty){case Constants.ComponentProperty.X_AXIS:this.value=this.states.includes(s)?l:.5;break;case Constants.ComponentProperty.Y_AXIS:this.value=this.states.includes(s)?c:.5;break;case Constants.ComponentProperty.BUTTON:this.value=this.states.includes(s)?o:0;break;case Constants.ComponentProperty.STATE:this.valueNodeProperty===Constants.VisualResponseProperty.VISIBILITY?this.value=this.states.includes(s):this.value=this.states.includes(s)?1:0;break;default:throw new Error("Unexpected visualResponse componentProperty ".concat(this.componentProperty))}},n}(),Component=function(){function n(t,e){var r=this;if(!t||!e||!e.visualResponses||!e.gamepadIndices||Object.keys(e.gamepadIndices).length===0)throw new Error("Invalid arguments supplied");this.id=t,this.type=e.type,this.rootNodeName=e.rootNodeName,this.touchPointNodeName=e.touchPointNodeName,this.visualResponses={},Object.keys(e.visualResponses).forEach(function(o){var s=new VisualResponse(e.visualResponses[o]);r.visualResponses[o]=s}),this.gamepadIndices=Object.assign({},e.gamepadIndices),this.values={state:Constants.ComponentState.DEFAULT,button:this.gamepadIndices.button!==void 0?0:void 0,xAxis:this.gamepadIndices.xAxis!==void 0?0:void 0,yAxis:this.gamepadIndices.yAxis!==void 0?0:void 0}}return Object.defineProperty(n.prototype,"data",{get:function(){var t=__assign({id:this.id},this.values);return t},enumerable:!1,configurable:!0}),n.prototype.updateFromGamepad=function(t){var e=this;if(this.values.state=Constants.ComponentState.DEFAULT,this.gamepadIndices.button!==void 0&&t.buttons.length>this.gamepadIndices.button){var r=t.buttons[this.gamepadIndices.button];this.values.button=r.value,this.values.button=this.values.button<0?0:this.values.button,this.values.button=this.values.button>1?1:this.values.button,r.pressed||this.values.button===1?this.values.state=Constants.ComponentState.PRESSED:(r.touched||this.values.button>Constants.ButtonTouchThreshold)&&(this.values.state=Constants.ComponentState.TOUCHED)}this.gamepadIndices.xAxis!==void 0&&t.axes.length>this.gamepadIndices.xAxis&&(this.values.xAxis=t.axes[this.gamepadIndices.xAxis],this.values.xAxis=this.values.xAxis<-1?-1:this.values.xAxis,this.values.xAxis=this.values.xAxis>1?1:this.values.xAxis,this.values.state===Constants.ComponentState.DEFAULT&&Math.abs(this.values.xAxis)>Constants.AxisTouchThreshold&&(this.values.state=Constants.ComponentState.TOUCHED)),this.gamepadIndices.yAxis!==void 0&&t.axes.length>this.gamepadIndices.yAxis&&(this.values.yAxis=t.axes[this.gamepadIndices.yAxis],this.values.yAxis=this.values.yAxis<-1?-1:this.values.yAxis,this.values.yAxis=this.values.yAxis>1?1:this.values.yAxis,this.values.state===Constants.ComponentState.DEFAULT&&Math.abs(this.values.yAxis)>Constants.AxisTouchThreshold&&(this.values.state=Constants.ComponentState.TOUCHED)),Object.values(this.visualResponses).forEach(function(o){o.updateFromComponent(e.values)})},n}(),MotionController=function(){function n(t,e,r){var o=this;if(!t)throw new Error("No xrInputSource supplied");if(!e)throw new Error("No profile supplied");this.xrInputSource=t,this.assetUrl=r,this.id=e.profileId,this.layoutDescription=e.layouts[t.handedness],this.components={},Object.keys(this.layoutDescription.components).forEach(function(s){var u=o.layoutDescription.components[s];o.components[s]=new Component(s,u)}),this.updateFromGamepad()}return Object.defineProperty(n.prototype,"gripSpace",{get:function(){return this.xrInputSource.gripSpace},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"targetRaySpace",{get:function(){return this.xrInputSource.targetRaySpace},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"data",{get:function(){var t=[];return Object.values(this.components).forEach(function(e){t.push(e.data)}),t},enumerable:!1,configurable:!0}),n.prototype.updateFromGamepad=function(){var t=this;Object.values(this.components).forEach(function(e){e.updateFromGamepad(t.xrInputSource.gamepad)})},n}(),DEFAULT_PROFILES_PATH="https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles",DEFAULT_PROFILE="generic-trigger",XRControllerModel=function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.motionController=null,e.envMap=null,e}return t.prototype.setEnvironmentMap=function(e){var r=this;return this.envMap==e?this:(this.envMap=e,this.traverse(function(o){o instanceof THREE__namespace.Mesh&&o.isMesh&&(o.material.envMap=r.envMap,o.material.needsUpdate=!0)}),this)},t.prototype.updateMatrixWorld=function(e){n.prototype.updateMatrixWorld.call(this,e),this.motionController&&(this.motionController.updateFromGamepad(),Object.values(this.motionController.components).forEach(function(r){Object.values(r.visualResponses).forEach(function(o){var s=o.valueNode,u=o.minNode,l=o.maxNode,c=o.value,p=o.valueNodeProperty;s&&(p===Constants.VisualResponseProperty.VISIBILITY?s.visible=c:p===Constants.VisualResponseProperty.TRANSFORM&&(s.quaternion.copy(u.quaternion).slerp(l.quaternion,c),s.position.lerpVectors(u.position,l.position,c)))})}))},t}(THREE.Object3D);function findNodes(n,t){Object.values(n.components).forEach(function(e){var r=e.type,o=e.touchPointNodeName,s=e.visualResponses;if(r===Constants.ComponentType.TOUCHPAD)if(e.touchPointNode=t.getObjectByName(o),e.touchPointNode){var u=new THREE.SphereGeometry(.001),l=new THREE.MeshBasicMaterial({color:255}),c=new THREE.Mesh(u,l);e.touchPointNode.add(c)}else console.warn("Could not find touch dot, ".concat(e.touchPointNodeName,", in touchpad component ").concat(e.id));Object.values(s).forEach(function(p){var d=p.valueNodeName,f=p.minNodeName,h=p.maxNodeName,g=p.valueNodeProperty;if(g===Constants.VisualResponseProperty.TRANSFORM){if(p.minNode=t.getObjectByName(f),p.maxNode=t.getObjectByName(h),!p.minNode){console.warn("Could not find ".concat(f," in the model"));return}if(!p.maxNode){console.warn("Could not find ".concat(h," in the model"));return}}p.valueNode=t.getObjectByName(d),p.valueNode||console.warn("Could not find ".concat(d," in the model"))})})}function addAssetSceneToControllerModel(n,t){findNodes(n.motionController,t),n.envMap&&t.traverse(function(e){e instanceof THREE__namespace.Mesh&&e.isMesh&&(e.material.envMap=n.envMap,e.material.needsUpdate=!0)}),n.add(t)}var XRControllerModelFactory=function(){function n(t){t===void 0&&(t=null),this.gltfLoader=t,this.path=DEFAULT_PROFILES_PATH,this._assetCache={}}return n.prototype.createControllerModel=function(t){var e=this,r=new XRControllerModel,o=null;return t.addEventListener("connected",function(s){var u=s.data;u.targetRayMode!=="tracked-pointer"||!u.gamepad||fetchProfile(u,e.path,DEFAULT_PROFILE).then(function(l){var c=l.profile,p=l.assetPath;r.motionController=new MotionController(u,c,p);var d=e._assetCache[r.motionController.assetUrl];if(d)o=d.scene.clone(),addAssetSceneToControllerModel(r,o);else{if(!e.gltfLoader)throw new Error("GLTFLoader not set.");e.gltfLoader.load(r.motionController.assetUrl,function(f){e._assetCache[r.motionController.assetUrl]=f,o=f.scene.clone(),addAssetSceneToControllerModel(r,o)})}}).catch(function(l){console.warn(l)})}),t.addEventListener("disconnected",function(){r.motionController=null,r.remove(o),o=null}),r},n}(),defaultXRPanoramaControllerInitArgs=__assign({},omit(defaultPanoramaControllerCustomInitArgs,["maxLatitude","minLatitude"]));function mapPanoResource(n,t){return n}var CONTROLLER_EVNET_DELTA_TIME=300,scratchRaycaster=new THREE__namespace.Raycaster,scratchVector3=new THREE__namespace.Vector3,XRPanoramaController=function(n){__extends(t,n);function t(e){var r=n.call(this,e)||this;r.xrManager=new XRManager(r.renderer,r.renderer.getContext(),{onSessionStart:function(c){r.emit("xr.session.start",createEvent("xr.session.start",{session:c,machineType:r.xrManager.machineType}))},onSessionEnd:function(){r.emit("xr.session.end",createEvent("xr.session.end",{session:null,machineType:r.xrManager.machineType}))}}),r.xrControllerRay={left:new THREE__namespace.Raycaster,right:new THREE__namespace.Raycaster},r.xrControllerRay.left.params.Points={threshold:.1},r.xrControllerRay.right.params.Points={threshold:.1},r.gazeRay=null,r.pointerLines={left:new FiveLine,right:new FiveLine},r.pointerLines.left.visible=!1,r.pointerLines.right.visible=!0,r.pointerLines.left.setMaterial({color:new THREE__namespace.Vector3(1,1,1)}),r.pointerLines.left.points.material.depthTest=!1,r.pointerLines.right.setMaterial({color:new THREE__namespace.Vector3(1,1,1)}),r.pointerLines.right.points.material.depthTest=!1,r.controllerWrappers=[new THREE__namespace.Group,new THREE__namespace.Group];var o=r.xrManager.getController(0);r.controllerWrappers[0].add(o);var s=r.xrManager.getController(1);r.controllerWrappers[1].add(s);var u=new XRControllerModelFactory;u.gltfLoader={load:function(c,p){internalFetcher.ajax(c,{responseType:"arraybuffer"}).then(function(d){var f;return parseGltf(d.body,{resourcePath:c.slice(0,c.lastIndexOf("/")+1),search:(f=c.split("?")[1])!==null&&f!==void 0?f:"",fetcher:internalFetcher})}).then(function(d){return p(d)})}},(r.xrManager.machineType==="Oculus"||r.xrManager.machineType==="Pico")&&r.scene.add(r.pointerLines.left,r.pointerLines.right,r.controllerWrappers[0],r.controllerWrappers[1]),r.panoResources={},r.panoResources[r.locationMotion.keyframes[0].key=r.locationMotion.keyframes[1].key=createUuid()]={panoId:panoStringify(r.currentPano),leftPanoPicture:null,position:r.camera.pose.offset.clone(),effect:"fade",fixCameraTransform:new THREE__namespace.Matrix4},r.parallaxCameraMatrixs=[];var l=AnimationFrameLoop.shared.getContext();return l?(r.on("xr.session.end",function(){r.scene.remove(r.pointerLines.left,r.pointerLines.right)}),r.xrManager.setSession(l),r.on("xr.session.start",function(){var c=r.xrManager.getControllerGrip(0);c.add(u.createControllerModel(c)),r.controllerWrappers[0].add(c);var p=r.xrManager.getControllerGrip(1);p.add(u.createControllerModel(p)),r.controllerWrappers[1].add(p)}),r.xrHandleState={LeftAxesUp:{touchStartTime:0,touchStart:!1},LeftAxesDown:{touchStartTime:0,touchStart:!1},LeftAxesLeft:{touchStartTime:0,touchStart:!1},LeftAxesRight:{touchStartTime:0,touchStart:!1},LeftTrigger:{touchStartTime:0,touchStart:!1},LeftPinch:{touchStartTime:0,touchStart:!1},RightAxesUp:{touchStartTime:0,touchStart:!1},RightAxesDown:{touchStartTime:0,touchStart:!1},RightAxesLeft:{touchStartTime:0,touchStart:!1},RightAxesRight:{touchStartTime:0,touchStart:!1},RightTrigger:{touchStartTime:0,touchStart:!1},RightPinch:{touchStartTime:0,touchStart:!1},Y:{touchStartTime:0,touchStart:!1},X:{touchStartTime:0,touchStart:!1},A:{touchStartTime:0,touchStart:!1},B:{touchStartTime:0,touchStart:!1}},r.xrManager.machineType==="VP"&&r.initHandEvent(),r):(console.error("获取session失败,请退出重试"),r)}return t.parseArgs=function(e){if(e instanceof t)return e;var r=__assign(__assign({},e),{maxLatitude:Math.PI/2,minLatitude:-Math.PI/2});return n.parseArgs.call(this,r)},t.initAnimationEndState=function(e){var r=this.parseArgs(e),o=n.initAnimationEndState.call(this,r);return __assign(__assign({},o),{mode:"XRPanorama"})},t.prototype.updateConfiguration=function(e){return n.prototype.updateConfiguration.call(this,__assign(__assign({},e),{maxLatitude:Math.PI/2,minLatitude:-Math.PI/2}))},t.prototype.moveToPano=function(e,r,o){var s=this,u,l,c,p,d=(u=r.effect)!==null&&u!==void 0?u:"fade";this.userAction=o,this.stopMomentumMovement();var f=this.works.getResolvedObserver(e);if(!f)throw new Error("Invalid PanoIndex");var h=getImageSizeFromURL(f.images.up),g=this.imageOptions.size;typeof g=="undefined"&&f&&h&&(g=Number(h)),typeof g=="undefined"&&(g=2048);var A=this.imageOptions.transform,m=function(B,M){return mapPanoResource(applyImageURLOptions(B,A,M))},E=__assign({key:"pano.".concat(f.panoId)},pick(this.imageOptions,["format","size","quality"])),v=f.images;c=(l=f.images.tiles)===null||l===void 0?void 0:l.filter(function(B){return B.size>g});var y="pano:"+jsonHash([v,E,A]);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===y)return;var b=this.pendingTextureTask.panoId;(p=this.panoMeshes[b])===null||p===void 0||p.setProgress(0),this.emit("pano.texture.abort",createEvent("pano.texture.abort",{error:null,progress:0,meta:null,pano:f.pano}))}var T=this.modelScene.parameter.resolveValue(),_=T.pano0,S=T.pano1,R;if((_==null?void 0:_.map.name)===y?R=_:(S==null?void 0:S.map.name)===y&&(R=S),R){var C={panoId:f.panoId,effect:d,leftPanoPicture:{panoId:R.panoId,map:R.map,mapSize:R.mapSize,matrix:f.matrix.clone(),zoom:1},position:f.position.clone(),fixCameraTransform:new THREE__namespace.Matrix4};this.doMoveToPano(f.pano,C,r);return}var H="move-to-pano-"+f.panoId;this.pending.add(H),this.pendingTextureTask={panoId:f.panoId,hash:y,onLoad:function(B){var M;s.pending.delete(H);var w=B.body;if(s.destroyed)w.dispose();else{w.name=y;var P=Array.isArray(w.image)?w.image[0]:w.image,O=(M=P==null?void 0:P.width)!==null&&M!==void 0?M:2048,L={panoId:f.panoId,effect:d,leftPanoPicture:{panoId:f.panoId,map:w,mapSize:O,matrix:f.matrix.clone(),zoom:1},position:f.position.clone(),fixCameraTransform:new THREE__namespace.Matrix4};s.doMoveToPano(f.pano,L,r)}},onError:function(B){s.pending.delete(H);var M=__assign(__assign(__assign({},f.pano),{mode:s.mode}),clonePose(s.camera.pose));s.emit("pano.error",createEvent("pano.error",{error:B,userAction:s.userAction,options:r,prevPano:s.currentPano,progress:0,state:M})),s.emit("pano.cancel",createEvent("pano.cancel",{error:null,userAction:s.userAction,options:r,prevPano:s.currentPano,progress:0,state:M})),r.moveCancelCallback&&r.moveCancelCallback()}},this.textureLoader.loadCubeTexture(v,{imageURL:{transform:m,options:E},format:THREE__namespace.RGBAFormat,fetcher:getFetcher(f.work)},void 0,void 0,function(B){var M,w;((M=s.pendingTextureTask)===null||M===void 0?void 0:M.hash)===y&&((w=s.panoMeshes[f.panoId])===null||w===void 0||w.setProgress(B)),s.emit("pano.texture.progress",createEvent("pano.texture.progress",{error:null,progress:B,meta:null,pano:f.pano}))},this.renderer).then(function(B){var M,w;((M=s.pendingTextureTask)===null||M===void 0?void 0:M.hash)===y?(s.pendingTextureTask.onLoad(B),(w=s.panoMeshes[f.panoId])===null||w===void 0||w.setProgress(0),delete s.pendingTextureTask,s.emit("pano.texture.success",createEvent("pano.texture.success",{error:null,progress:1,meta:B.meta,pano:f.pano}))):B.body.dispose()}).catch(function(B){var M,w;((M=s.pendingTextureTask)===null||M===void 0?void 0:M.hash)===y&&(s.pendingTextureTask.onError(B),(w=s.panoMeshes[f.panoId])===null||w===void 0||w.setProgress(0),delete s.pendingTextureTask,s.emit("pano.texture.error",createEvent("pano.texture.error",{error:B,progress:0,meta:null,pano:f.pano})),s.emit("error",B))}),this.emit("pano.texture.load",createEvent("pano.texture.load",{error:null,progress:0,meta:null,pano:f.pano}))},t.prototype.doMoveToPano=function(e,r,o){var s=this,u,l,c,p,d,f,h,g,A,m;o===void 0&&(o={});var E=now(),v=createUuid();this.panoResources[v]=r;var y=1,b,T,_;if(this.locationMotion.ended){var S=this.locationMotion.getKeyFrameSegment(E);S[0];var R=S[1],C=this.locationMotion.value,H=this.panoResourceFromLocationMotionKeyframe(R).position,B=r.position;b=Math.max(H.distanceTo(B),y),T=[{key:R.key,progress:0,value:__assign(__assign({},C),{count:0})},{key:v,progress:1,value:{distance:0,count:1}}],_=0}else{var M=this.locationMotion.getKeyFrameSegment(E),w=M[0],R=M[1],C=this.locationMotion.value,P=this.panoResourceFromLocationMotionKeyframe(w).position,H=this.panoResourceFromLocationMotionKeyframe(R).position,B=r.position,O=R.value.count-C.count,L=Math.max(P.distanceTo(H),y)*O,N=Math.max(H.distanceTo(B),y);b=L+N,T=[{key:w.key,progress:0,value:__assign({},C)},{key:R.key,progress:L/b,value:R.value},{key:v,progress:1,value:{count:R.value.count+1,distance:0}}];var V=this.locationMotionKeyframesLength(this.locationMotion.keyframes),X=this.locationMotionKeyframesLength(T);_=this.locationMotion.getProgressVelocity(E)*V/X}var D=r.effect==="instant"?0:this.calculateMovingDuration(o.duration,r.effect==="fly"?b:0),J={longitude:o.longitude,latitude:o.latitude,fov:o.fov},U=__assign(__assign({},e),{mode:this.mode,longitude:(u=J.longitude)!==null&&u!==void 0?u:this.camera.pose.longitude,latitude:(l=J.latitude)!==null&&l!==void 0?l:this.camera.pose.latitude,fov:(c=J.fov)!==null&&c!==void 0?c:this.camera.pose.fov,offset:r.position.clone(),distance:0}),q=this.currentPano;if(this.emit("pano.moveTo",createEvent("pano.moveTo",{options:o,prevPano:q,progress:0,state:U,userAction:this.userAction,error:null})),o.moveStartCallback&&o.moveStartCallback(U),this.videoTexture&&this.videoTexture.image instanceof HTMLVideoElement&&this.videoTexture.image.getAttribute("src")&&(this.videoTexture.image.pause(),this.videoTexture.image.removeAttribute("uuid"),this.videoTexture.image.removeAttribute("src"),this.videoTexture.image.oncanplay=noop$1,this.videoTexture.needsUpdate=!0),this.panoVideo.setMaterial(null),r.effect==="fly")this.cameraMotion.set(J,D).catch(noop$1);else{var G=coordinatesToVector({longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude}),Z=coordinatesToVector({longitude:(p=J.longitude)!==null&&p!==void 0?p:this.cameraMotion.value.longitude,latitude:(d=J.latitude)!==null&&d!==void 0?d:this.cameraMotion.value.latitude}),Y=new THREE__namespace.Object3D;Y.lookAt(G);var ee=new THREE__namespace.Matrix4().makeRotationFromQuaternion(Y.quaternion);Y.lookAt(Z);var ae=new THREE__namespace.Matrix4().makeRotationFromQuaternion(Y.quaternion),ne=new THREE__namespace.Matrix4().getInverse(ee).premultiply(ae),K=this.cameraMotion.value.fov,j=(f=J.fov)!==null&&f!==void 0?f:this.cameraMotion.value.fov,te=1;r.effect==="zoomin"?te=1.5:r.effect==="zoomout"&&(te=.4);for(var ie=j*te,ue=0;ue<T.length-1;ue++){var pe=T[ue].key;if(pe){var he=this.panoResources[pe];he&&(he.fixCameraTransform.copy(ne),he.leftPanoPicture&&(he.leftPanoPicture.zoom=Math.tan(ie/2/180*Math.PI)/Math.tan(K/2/180*Math.PI)))}}this.cameraMotion.setKeyframes([{progress:0,value:{longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude,fov:this.cameraMotion.value.fov}},{progress:0,value:{longitude:(h=J.longitude)!==null&&h!==void 0?h:this.cameraMotion.value.longitude,latitude:(g=J.latitude)!==null&&g!==void 0?g:this.cameraMotion.value.latitude,fov:ie}},{progress:1,value:{longitude:(A=J.longitude)!==null&&A!==void 0?A:this.cameraMotion.value.longitude,latitude:(m=J.latitude)!==null&&m!==void 0?m:this.cameraMotion.value.latitude,fov:j}}],D).catch(noop$1)}var ge=this.locationMotion.setKeyframes(T,D,_);ge.then(function(){for(var Se=0,Ae=s.modelScene.children;Se<Ae.length;Se++){var me=Ae[Se];me instanceof Model&&me.show()}var oe=__assign(__assign({},e),{mode:s.mode,longitude:s.camera.pose.longitude,latitude:s.camera.pose.latitude,fov:s.camera.pose.fov,offset:s.camera.pose.offset.clone(),distance:0});s.emit("pano.arrived",createEvent("pano.arrived",{options:o,prevPano:q,progress:1,state:oe,userAction:s.userAction,error:null})),o.moveEndCallback&&o.moveEndCallback(oe);var W=s.works.getResolvedObserver(s.currentPano);if(W&&W.video&&s.videoTexture&&s.videoTexture.image instanceof HTMLVideoElement){var re={map:s.videoTexture,size:W.video.size,matrix:W.video.matrix,panoMatrix:W.matrix,alpha:1},Q=createUuid(),ce=s.videoTexture.image;ce.setAttribute("uuid",Q),canplayVideo().then(function(ve){ve&&W.video&&ce.getAttribute("uuid")===Q&&(ce.oncanplay=function(){ce.oncanplay=noop$1,ce.play()},ce.ontimeupdate=function(){ce.currentTime>.5&&(ce.ontimeupdate=noop$1,s.panoVideo.setMaterial(re))},ce.src=W.video.source)}).catch(function(){ce.removeAttribute("uuid")})}},function(){s.emit("pano.cancel",createEvent("pano.cancel",{options:o,prevPano:q,progress:0,state:U,userAction:s.userAction,error:null})),o.moveCancelCallback&&o.moveCancelCallback()})},t.prototype.checkSelectedPano=function(e){var r=this,o;this.stopMomentumMovement(),this.camera.getDirection(new THREE__namespace.Vector3).setY(0);var s=null,u=this.works.getResolvedObserver(this.currentPano);if(!u)return null;var l=u.accessibleIds.filter(function(b){var T=panoParse(b);if(panoEqual(T,r.currentPano))return!1;var _=r.works.getResolvedObserver(T);return!_||_.position.distanceTo(r.camera.position)>r.maxAccessibleDistance?!1:_.loadable||_.active}),c=this.modelScene.intersectRaycaster(e)[0];if(c){var p=arrayMin(l,function(b){var T=r.works.getResolvedObserver(b);if(!T)return 1/0;var _=T.standingPosition.clone();return _.distanceTo(c.point)},!0),d=p[0],f=p[1];d&&f<this.panoTapTriggerRadius&&(s=(o=this.works.getResolvedObserver(d))!==null&&o!==void 0?o:null)}if(isNil(s)){var h=this.getForwardObserverOrNot(e);h&&(s=h)}for(var g=0,A=this.locationMotion.keyframes;g<A.length;g++){var m=A[g],E=this.panoResourceFromLocationMotionKeyframe(m);if(!(m.progress<this.locationMotion.progress)&&s&&E.panoId===s.panoId){s=null;break}}if(isNil(s))return this.locationMotion.ended===!0&&this.cameraBounce(),null;if(!s.active){var v=s.panoId;this.panoMeshes[v]&&(this.panoMeshes[v].setDisabled(!1),this.panoMeshes[v].setLoading(!0))}var y={workCode:s.pano.workCode,panoIndex:s.pano.panoIndex,mode:this.mode,longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,distance:0,offset:s?s.position.clone():new THREE__namespace.Vector3};return this.emit("pano.select",createEvent("pano.select",{prevPano:this.currentPano,state:y,userAction:!0,options:{},progress:0,error:null})),s&&s.active?(this.emit("pano.request",createEvent("pano.request",{userAction:!0,prevPano:this.currentPano,progress:0,state:y,options:{},error:null})),s.pano):null},t.prototype.destroy=function(){n.prototype.destroy.call(this)},t.prototype.isReady=function(){return!1},t.prototype.updateCamera=function(e,r,o){return Promise.resolve()},t.prototype.updateCameraWithKeyframes=function(e,r,o){return Promise.resolve()},t.prototype.updateTime=function(e,r){for(var o=this,s,u,l,c,p,d,f,h,g=[],A=2;A<arguments.length;A++)g[A-2]=arguments[A];this.userAction=!0;var m={},E={},v=this.locationMotion.keyframes[0],y=this.locationMotion.keyframes[this.locationMotion.keyframes.length-1],b=this.locationMotion.getKeyFrameSegment(e),T=b[0],_=b[1];this.panoResourceFromLocationMotionKeyframe(T);var S=this.panoResourceFromLocationMotionKeyframe(_),R=this.panoResourceFromLocationMotionKeyframe(v),C=this.panoResourceFromLocationMotionKeyframe(y),H=!1;if(this.cameraMotion.ended===!1&&(this.cameraMotion.update(e),E.longitude=this.cameraMotion.value.longitude,E.latitude=this.cameraMotion.value.latitude,E.fov=this.cameraMotion.value.fov),this.modelAlphaMotion.ended===!1&&(this.modelAlphaMotion.update(e),m.modelAlpha=this.modelAlphaMotion.value.modelAlpha),this.perspToOrthoMotion.ended===!1&&(this.perspToOrthoMotion.update(e),this.camera.perspToOrtho.setScalar(clamp$1(this.perspToOrthoMotion.value.perspToOrtho,0,1))),this.locationMotion.ended===!1){this.locationMotion.update(e);var B=this.locationMotion.getKeyFrameSegment(e),M=B[0],w=B[1],P=this.panoResourceFromLocationMotionKeyframe(M),O=this.panoResourceFromLocationMotionKeyframe(w),L=new THREE__namespace.Vector3().copy(P.position),N=new THREE__namespace.Vector3().copy(O.position),V=this.locationMotion.value.count-w.value.count+1;if(m.progress=V,O.leftPanoPicture&&(V<1?P.leftPanoPicture&&(m.pano0=P.leftPanoPicture):m.pano0=O.leftPanoPicture,m.pano1=O.leftPanoPicture),O.effect==="montage"?m.transition="BLACK":O.effect==="spread"?m.transition="SPREAD":m.transition="FADE",(O.effect==="zoomin"||O.effect==="zoomout")&&(m.progress=Math.pow(V,3)),V<1&&O.effect!=="fly"){if(m.pano0&&P.leftPanoPicture){var X={panoId:m.pano0.panoId,map:m.pano0.map,mapSize:m.pano0.mapSize,zoom:m.pano0.zoom,matrix:P.leftPanoPicture.matrix.clone().setPosition(O.position)},D=this.panoPictureObserverMap.get(m.pano0);D&&this.panoPictureObserverMap.set(X,D),m.pano0=X}L.copy(N),H=!0}E.distance=this.locationMotion.value.distance,E.offset=new THREE__namespace.Vector3(L.x+(N.x-L.x)*V,L.y+(N.y-L.y)*V,L.z+(N.z-L.z)*V);for(var J=[],U=[],q=0,G=this.locationMotion.keyframes;q<G.length;q++){var Z=G[q],Y=Z.key,ee=Z.progress;Y!==void 0&&(J.push(Y),ee>this.locationMotion.progress&&U.push(Y))}for(var ae=0,ne=Object.keys(this.panoResources);ae<ne.length;ae++){var K=ne[ae];if(!(U.indexOf(K)>=0)){var j=this.panoResources[K];if(j.leftPanoPicture){var te=j.leftPanoPicture.map;if(te){if(te===((s=m.pano0)===null||s===void 0?void 0:s.map)||te===((u=m.pano1)===null||u===void 0?void 0:u.map))continue;te.dispose(),j.leftPanoPicture=null}}J.indexOf(K)>=0||delete this.panoResources[K]}}var ie=panoParse(O.panoId);ie!==this.currentPano&&(this.currentPano=ie,this.accessibleObserverFloorCheckCount=0),this.emit("pano.moving",createEvent("pano.moving",{userAction:this.userAction,prevPano:panoParse(R.panoId),state:__assign(__assign(__assign(__assign({},panoParse(C.panoId)),{mode:this.mode}),clonePose(this.camera.pose)),E),options:{},progress:this.locationMotion.progress,error:null}))}isEmptyObject(m)===!1&&this.modelScene.parameter.set(m),isEmptyObject(E)===!1&&this.setCamera(E),this.xrManager.cameraVR.projectionMatrix.copy(this.camera.projectionMatrix),this.xrManager.cameraVR.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse),this.xrManager.cameraVR.matrix.copy(this.camera.matrix),this.xrManager.cameraVR.position.copy(this.camera.position),this.xrManager.cameraVR.quaternion.copy(this.camera.quaternion),this.xrManager.cameraVR.scale.copy(this.camera.scale),this.xrManager.cameraVR.matrixAutoUpdate=!1,this.xrManager.cameraVR.matrixWorld.copy(this.camera.matrixWorld);var ue=g,pe=ue[1],he=new THREE__namespace.Vector3(0,0,0),ge=new THREE__namespace.Vector2().copy(this.camera.resolution);if(pe&&this.xrManager.session&&this.xrManager.referenceSpace&&this.xrManager.session.renderState.baseLayer){var Se=this.xrManager.cameraVR,Ae=this.xrManager.referenceSpace,me=this.xrManager.session.renderState.baseLayer,oe=pe.getViewerPose(Ae),W=(l=oe==null?void 0:oe.views)!==null&&l!==void 0?l:[];this.renderer.setFramebuffer(me.framebuffer);for(var re=0;re<W.length;re++){var Q=W[re],ce=Se.cameras[re],ve=me.getViewport(Q);ve&&(ce.projectionMatrix.fromArray(Q.projectionMatrix),ce.projectionMatrixInverse.getInverse(ce.projectionMatrix),ce.matrix.fromArray(Q.transform.matrix),ce.matrix.setPosition(this.camera.position),ce.matrix.decompose(ce.position,ce.quaternion,ce.scale),ce.matrixWorld.copy(ce.matrix),ce.matrixWorldInverse.getInverse(ce.matrixWorld),ce.matrixAutoUpdate=!1,he.copy(ce.position),ce.viewport.set(ve.x,ve.y,ve.width,ve.height),ge.set(ve.width,ve.height))}if(this.xrManager.setProjectionFromUnion(this.xrManager.cameraVR,this.xrManager.cameraL,this.xrManager.cameraR),this.camera.quaternion.copy(this.xrManager.cameraVR.quaternion),this.camera.scale.copy(this.xrManager.cameraVR.scale),this.camera.matrix.compose(this.camera.position,this.camera.quaternion,this.camera.scale),this.xrManager.session&&this.xrManager.session.inputSources){for(var re=0;re<this.xrManager.session.inputSources.length;re++)if(this.xrManager.session.inputSources[re]&&this.xrManager.session.inputSources[re].targetRayMode==="transient-pointer"){var Ve=pe.getPose(this.xrManager.session.inputSources[re].targetRaySpace,Ae);if(Ve){var Ue=Ve.transform.orientation,$e=new THREE__namespace.Quaternion(Ue.x,Ue.y,Ue.z,Ue.w),Pe=new THREE__namespace.Vector3(0,0,-1).applyQuaternion($e),de=new THREE__namespace.Raycaster(this.camera.position,Pe);this.gazeRay=de}}}if(this.xrManager.machineType==="Oculus"||this.xrManager.machineType==="Pico"){for(var Ee=this.xrManager.session.inputSources,xe=function(yt){var We=le.xrManager.controllers[yt],nt=Ee[yt];if(!nt)return"continue";We&&We.update(nt,pe,Ae);var it=le.xrManager.getController(yt),Rt=new THREE__namespace.Vector3(0,1.2,0),bt=it.position.clone().add(he).sub(Rt);nt.handedness==="left"?le.xrControllerRay.left.set(bt,new THREE__namespace.Vector3(0,0,-1).applyEuler(it.rotation)):nt.handedness==="right"&&le.xrControllerRay.right.set(bt,new THREE__namespace.Vector3(0,0,-1).applyEuler(it.rotation)),le.controllerWrappers[yt].position.copy(new THREE__namespace.Vector3(0,0,0).add(he).sub(Rt));var ht=le.modelScene.intersectRaycaster(le.xrControllerRay.right);if(ht.length===0){var Mt=le.works.getResolvedObserver(le.currentPano);ht=le.xrControllerRay.right.intersectObject(le.boundingMesh,!0).map(function(I){var F;return __assign({floor:(F=Mt==null?void 0:Mt.floorIndex)!==null&&F!==void 0?F:0},I)})}if(ht.length>=1&&ht[0].face)if(nt.handedness==="right"){var wt=le.xrControllerRay.right.intersectObject(le.xrCustomObjectsScene,!0),Ct=ht[0].face.normal,xt=Ct.clone(),Bt=ht[0].point.clone();le.intersectMesh.position.copy(Bt);var Ht=Bt.clone().add(xt);if(le.intersectMesh.lookAt(Ht),Math.abs(Ct.y)>.99){var It=le.camera.position.clone().sub(Bt);le.intersectMesh.rotation.z=-Math.atan2(It.z,It.x)}le.intersectMesh.visible=!0,le.needsRender=!0,wt.length>0?(le.pointerLines.right.setPoints(bt,wt[0].point),le.pointerLines.right.points.visible=!0,le.intersectMesh.visible=!1):(le.pointerLines.right.points.visible=!1,le.pointerLines.right.setPoints(bt,ht[0].point));var Pt=ht[0],Ft=createEvent("intersect.update",{raycaster:(c=le.xrControllerRay.right)!==null&&c!==void 0?c:null,intersection:Pt!=null?Pt:null,object:le.intersectMesh});if(le.emit("intersect.update",Ft),Ft.defaultPrevented)return le.hideIntersectMesh(),{value:void 0}}else le.pointerLines.left.setPoints(bt,ht[0].point)},le=this,re=0;re<Ee.length;re++){var Me=xe(re);if(typeof Me=="object")return Me.value}this.updateControllerHelper(Ee,e,r)}}else pe||console.error("xrFrame丢失,请重试"),this.xrManager.session||console.error("session丢失,请重试"),this.xrManager.session&&!this.xrManager.session.renderState.baseLayer&&console.error("no layer found");var Ce=this.works.getResolvedObserver(this.currentPano);if(this.camera.pose.distance>.1||H)for(var Ze=0,ye=Object.keys(this.panoMeshes);Ze<ye.length;Ze++){var _e=ye[Ze],fe=this.panoMeshes[_e];fe.setOpacity(0),fe.setCurrent(!1),fe.updateTime&&fe.updateTime(e,r),fe.visible=!1}else if(Ce){var Le=arrayMin(Ce.visibleIds,function(yt){var We=o.works.getResolvedObserver(yt);return We?Ce.standingPosition.distanceTo(We.standingPosition):1/0},!0),Fe=Le[1];Fe=clamp$1(Fe,2.5,1/0);for(var ot=Ce.visibleIds.concat(panoStringify(this.currentPano)),ze=this.getForwardObserverOrNot(),Ke=this.camera.getDirection(new THREE__namespace.Vector3),Xe=0,je=Object.keys(this.panoMeshes);Xe<je.length;Xe++){var _e=je[Xe],fe=this.panoMeshes[_e],D=this.works.getResolvedObserver(_e);if(ot.indexOf(_e)===-1)fe.setCurrent(!1),fe.setOpacity(0);else if(!D)fe.setCurrent(!1),fe.setOpacity(0);else if(!D.loadable&&!D.active)fe.setCurrent(!1),fe.setOpacity(0);else{var Ie=fe.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);fe.setCurrent(!fe.loading&&fe.progress===0&&ze!==null&&ze.panoId===_e),fe.setOpacity(Ie<.01?0:clamp$1(Fe/Ie*1.2,.65,.98));var De=this.camera.position.clone().setY(fe.position.y),Pe=new THREE__namespace.Vector3().copy(fe.position).sub(De).normalize();if(_e===panoStringify(this.currentPano)){var Re=clamp$1((.5-De.distanceTo(fe.position))/.5,0,1);Pe.multiplyScalar(1-Re).add(Ke.clone().multiplyScalar(Re))}Pe.length()>0&&fe.quaternion.setFromEuler(new THREE__namespace.Euler(0,Math.atan2(Pe.x,Pe.z),0))}fe.updateTime&&fe.updateTime(e,r)}}if(this.adjustPanoCircleMeshPositionBasedOnModel&&this.helper.visible&&Ce){for(var we=[],Ye=0,Be=Ce.accessibleIds;Ye<Be.length;Ye++){var _e=Be[Ye],D=this.works.getResolvedObserver(_e);D&&we.push(D)}if(we.sort(function(yt,We){return yt.standingPosition.distanceTo(Ce.standingPosition)-We.standingPosition.distanceTo(Ce.standingPosition)}),we.length){this.accessibleObserverFloorCheckCount=this.accessibleObserverFloorCheckCount%we.length;var He=we[this.accessibleObserverFloorCheckCount],fe=this.panoMeshes[He.panoId],tt=this.modelScene.models.find(function(We){return We.work===(He==null?void 0:He.work)});if(He&&fe&&tt&&tt.visible){var st=.3,ut=.05,gt=.005,vt=adjustPanoCircleMeshVectors.map(function(We){scratchVector3.copy(We),scratchVector3.setY(st),scratchRaycaster.ray.origin.copy(He.standingPosition),scratchRaycaster.ray.origin.add(scratchVector3),scratchRaycaster.ray.direction.set(0,-1,0);var nt=tt.intersectRaycaster(scratchRaycaster,null,!0)[0];return nt&&nt.distance-gt<=st?new THREE__namespace.Vector3().copy(He.standingPosition).setY(nt.point.y+gt):He.standingPosition});vt.sort(function(We,nt){return nt.y-We.y});var ft=vt[Math.floor(vt.length/2)],qe=vt.filter(function(We){return We.distanceTo(ft)<=ut})[0];qe&&!qe.equals(fe.position)&&(fe.position.copy(qe),this.needsRender=!0)}this.accessibleObserverFloorCheckCount++}}{var V=(p=this.modelScene.parameter.progress)!==null&&p!==void 0?p:1,mt=Math.round(V),Qe=this.modelScene.parameter.pano0,Oe=this.modelScene.parameter.pano1,ke=mt===0?Qe:Oe,D=void 0;if(ke&&(D=this.works.getResolvedObserver(ke.panoId),D||(D=this.panoPictureObserverMap.get(ke))),this.tiling.appearDuration=this.tileAppearDuration,this.tiling.maxRequest=V<=.6?0:V<1?1:this.tileMaxRequest,this.tiling.imageOptions=this.imageOptions,!D||!ke||this.tileLevelForFov===!1){this.tiling.setObserver(null);var be={renderer:this.renderer,resolution:ge,pixelRatio:1,time:this.camera.time,cameraMatrix:this.xrManager.cameraVR.matrixWorld,cameraProjectionMatrix:this.xrManager.cameraVR.projectionMatrix,panoMap:null,panoMatrix:new THREE__namespace.Matrix4,panoZoom:1,minLevel:0,level:0};this.tiling.update(be),this.modelScene.parameter.set("refinedScreen",null)}else{var lt=getImageSizeLevel(ke.mapSize),St=lt+1,Lt=4;this.tiling.setObserver(D);var be={renderer:this.renderer,resolution:ge,pixelRatio:1,time:this.camera.time,cameraMatrix:this.xrManager.cameraVR.matrixWorld,cameraProjectionMatrix:this.xrManager.cameraVR.projectionMatrix,panoMap:ke.map,panoMatrix:ke.matrix,panoZoom:ke.zoom,minLevel:St,level:Lt},Ot=this.tiling.update(be),Tt={map:this.tiling.renderTarget.texture,matrixInverse:this.tiling.camera.matrixWorldInverse,projectionMatrix:this.tiling.camera.projectionMatrix,pano:mt,opacity:(Qe==null?void 0:Qe.panoId)===(Oe==null?void 0:Oe.panoId)?1:easeInQuart(Math.abs(((d=this.modelScene.parameter.progress)!==null&&d!==void 0?d:0)-.5)*2)},Je=this.modelScene.parameter.refinedScreen;(Ot||Tt.pano!==(Je==null?void 0:Je.pano)||Tt.opacity!==(Je==null?void 0:Je.opacity))&&this.modelScene.parameter.set("refinedScreen",Tt)}}this.panoVideo.object.position.copy(this.camera.position),this.panoVideo.updateTime(e);{var _t=S.effect,At=this.modelScene.parameter,Qe=At.pano0,Oe=At.pano1;if(Qe&&Oe&&Qe!==Oe&&_t==="fly"&&this.flyEffectUseDepthBuffer){if(((f=this.modelScene.parameter.pano0Depth)===null||f===void 0?void 0:f.panoId)!==Qe.panoId||((h=this.modelScene.parameter.pano1Depth)===null||h===void 0?void 0:h.panoId)!==Oe.panoId){var ct=500,pt=512;this.pano0DepthCubeRenderTarget?this.pano0DepthCubeRenderTarget.width!==pt&&this.pano0DepthCubeRenderTarget.setSize(pt,pt):this.pano0DepthCubeRenderTarget=new THREE__namespace.WebGLCubeRenderTarget(pt,{minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,generateMipmaps:!1}),this.pano1DepthCubeRenderTarget?this.pano1DepthCubeRenderTarget.width!==pt&&this.pano1DepthCubeRenderTarget.setSize(pt,pt):this.pano1DepthCubeRenderTarget=new THREE__namespace.WebGLCubeRenderTarget(pt,{minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,generateMipmaps:!1});var rt=new THREE__namespace.CubeCamera(this.camera.near,this.camera.far,this.pano0DepthCubeRenderTarget);rt.matrix.copy(Qe.matrix),rt.matrixWorld.copy(rt.matrix),rt.matrixAutoUpdate=!1,renderDepthCube(this.renderer,this.modelScene,rt,ct);var at=new THREE__namespace.CubeCamera(this.camera.near,this.camera.far,this.pano1DepthCubeRenderTarget);at.matrix.copy(Oe.matrix),at.matrixWorld.copy(at.matrix),at.matrixAutoUpdate=!1,renderDepthCube(this.renderer,this.modelScene,at,ct),this.modelScene.parameter.set({pano0Depth:{panoId:Qe.panoId,map:this.pano0DepthCubeRenderTarget.texture,mapSize:this.pano0DepthCubeRenderTarget.width,maxDepth:ct},pano1Depth:{panoId:Oe.panoId,map:this.pano1DepthCubeRenderTarget.texture,mapSize:this.pano1DepthCubeRenderTarget.width,maxDepth:ct}})}}else this.modelScene.parameter.set({pano0Depth:null,pano1Depth:null}),this.flyEffectUseDepthBuffer||(this.pano0DepthCubeRenderTarget&&(this.pano0DepthCubeRenderTarget.dispose(),this.pano0DepthCubeRenderTarget=void 0),this.pano1DepthCubeRenderTarget&&(this.pano1DepthCubeRenderTarget.dispose(),this.pano1DepthCubeRenderTarget=void 0))}},t.prototype.render=function(){this.renderer.setScissorTest(!1);var e=this.xrManager.cameraVR;this.renderer.render(this.modelScene,e),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,e),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0},t.prototype.onPanGesture=function(){},t.prototype.onTapGesture=function(){},t.prototype.onPinchGesture=function(){},t.prototype.onMouseMove=function(){},t.prototype.onMouseOut=function(){},t.prototype.panoResourceFromLocationMotionKeyframe=function(e){return this.panoResources[e.key]},t.prototype.updateControllerHelper=function(e,r,o){var s=this.xrControllerRay.left,u=this.xrControllerRay.right;if(!(!e||e.length===0)){for(var l={buttons:{X:!1,Y:!1,LeftTrigger:!1,LeftPinch:!1,A:!1,B:!1,RightTrigger:!1,RightPinch:!1}},c=0;c<e.length;c++){var p=e[c].handedness,d=e[c].gamepad;switch(p){case"left":d.axes&&(this.emitHandleEvent(d.axes[2]===-1,"LeftAxesLeft",r),this.emitHandleEvent(d.axes[2]===1,"LeftAxesRight",r),this.emitHandleEvent(d.axes[3]===-1,"LeftAxesUp",r),this.emitHandleEvent(d.axes[3]===1,"LeftAxesDown",r)),d!=null&&d.buttons&&(d.buttons[4]&&this.emitHandleEvent(d.buttons[4].pressed,"X",r),d.buttons[5]&&this.emitHandleEvent(d.buttons[5].pressed,"Y",r),d.buttons[0]&&this.emitHandleEvent(d.buttons[0].pressed,"LeftTrigger",r),d.buttons[1]&&this.emitHandleEvent(d.buttons[1].pressed,"LeftPinch",r));var f={raycaster:s,axes:{up:d.axes&&d.axes[3]<0?Math.abs(d.axes[3]):0,down:d.axes&&d.axes[3]<0?0:Math.abs(d.axes[3]),left:d.axes&&d.axes[2]<0?Math.abs(d.axes[2]):0,right:d.axes&&d.axes[2]<0?0:Math.abs(d.axes[2])},deltaTime:o};l.buttons.X=d.buttons&&d.buttons[4]?d.buttons[4].pressed:!1,l.buttons.Y=d.buttons&&d.buttons[5]?d==null?void 0:d.buttons[5].pressed:!1,l.buttons.LeftTrigger=d.buttons&&d.buttons[0]?d==null?void 0:d.buttons[0].pressed:!1,l.buttons.LeftPinch=d.buttons&&d.buttons[1]?d==null?void 0:d.buttons[1].pressed:!1,l.left=f;break;case"right":d.axes&&(this.emitHandleEvent(d.axes[2]===-1,"RightAxesLeft",r),this.emitHandleEvent(d.axes[2]===1,"RightAxesRight",r),this.emitHandleEvent(d.axes[3]===-1,"RightAxesUp",r),this.emitHandleEvent(d.axes[3]===1,"RightAxesDown",r)),d.buttons&&(d.buttons[4]&&this.emitHandleEvent(d.buttons[4].pressed,"A",r),d.buttons[5]&&this.emitHandleEvent(d.buttons[5].pressed,"B",r),d.buttons[0]&&this.emitHandleEvent(d.buttons[0].pressed,"RightTrigger",r),d.buttons[1]&&this.emitHandleEvent(d.buttons[1].pressed,"RightPinch",r));var h={raycaster:u,axes:{up:d.axes&&d.axes[3]<0?Math.abs(d.axes[3]):0,down:d.axes&&d.axes[3]<0?0:Math.abs(d.axes[3]),left:d.axes&&d.axes[2]<0?Math.abs(d.axes[2]):0,right:d.axes&&d.axes[2]<0?0:Math.abs(d.axes[2])},deltaTime:o};l.right=h,l.buttons.A=d.buttons&&d.buttons[4]?d==null?void 0:d.buttons[4].pressed:!1,l.buttons.B=d.buttons&&d.buttons[5]?d==null?void 0:d.buttons[5].pressed:!1,l.buttons.RightTrigger=d.buttons&&d.buttons[0]?d==null?void 0:d.buttons[0].pressed:!1,l.buttons.RightPinch=d.buttons&&d.buttons[1]?d==null?void 0:d.buttons[1].pressed:!1;break}}this.emit("xr.controller.update",createEvent("xr.controller.update",l))}},t.prototype.emitHandleEvent=function(e,r,o){var s=this.xrControllerRay.left,u=this.xrControllerRay.right;if(e)if(this.xrHandleState[r].touchStart===!1)this.xrHandleState[r].touchStartTime=o,this.xrHandleState[r].touchStart=!0,this.emit("xr.gesture.buttonDown",createEvent("xr.gesture.buttonDown",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!1,isFirst:!0,controllers:{raycaster:{leftRay:s,rightRay:u}}}));else{var l=o-this.xrHandleState[r].touchStartTime;l>CONTROLLER_EVNET_DELTA_TIME&&this.emit("xr.gesture.press",createEvent("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!0,controllers:{raycaster:{leftRay:s,rightRay:u}}}))}else if(this.xrHandleState[r].touchStart===!0){this.emit("xr.gesture.buttonUp",createEvent("xr.gesture.buttonUp",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:s,rightRay:u}}}));var l=o-this.xrHandleState[r].touchStartTime;if(l<=CONTROLLER_EVNET_DELTA_TIME){var c=createEvent("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:s,rightRay:u}}}),p=this.emit("xr.gesture.tap",c);!p&&!c.defaultPrevented&&r==="RightTrigger"&&this.checkSelectedPano(this.xrControllerRay.right)}this.xrHandleState[r].touchStart=!1,this.xrHandleState[r].touchStartTime=0}},t.prototype.initHandEvent=function(){var e=this;if(!this.xrManager.session)throw new Error("初始化失败");this.xrManager.session.addEventListener("select",function(r){e.gazeRay&&e.checkSelectedPano(e.gazeRay)})},t}(PanoramaController),Controllers={Floorplan:FloorplanController,Topview:TopviewController,Panorama:PanoramaController,VRPanorama:VRPanoramaController,Model:ModelController,Mapview:MapviewController,XRPanorama:XRPanoramaController},controllersDefaultInitArgs={Floorplan:defaultFloorplanControllerCustomInitArgs,Topview:defaultTopviewControllerCustomInitArgs,Panorama:defaultPanoramaControllerCustomInitArgs,VRPanorama:defaultVRPanoramaControllerCustomInitArgs,Model:defaultModelControllerCustomInitArgs,Mapview:defaultMapviewControllerCustomInitArgs,XRPanorama:defaultXRPanoramaControllerInitArgs},PROXY_CONTROLLER_EVENT_NAMES=["gesture.pan","gesture.tap","gesture.dbltap","gesture.press","gesture.pinch","gesture.mousewheel","gesture.mousemove","gesture.momentum","initAnimation.start","initAnimation.end","camera.update","intersect.update","pano.select","pano.moveTo","pano.moving","pano.arrived","pano.cancel","pano.error","pano.texture.load","pano.texture.progress","pano.texture.success","pano.texture.error","pano.texture.abort","xr.session.start","xr.session.end","xr.gesture.tap","xr.gesture.press","xr.gesture.buttonUp","xr.gesture.buttonDown","xr.controller.update"];function initLegacyEvent(n){n.on("initAnimation.start",function(t){n.emit("initAnimationWillStart",t.state.panoIndex,t.state,t.userAction)}),n.on("initAnimation.end",function(t){n.emit("initAnimationEnded",t.state.panoIndex,t.state,t.userAction)}),n.on("gesture.pan",function(t){var e=!1;e=n.emit("wantsGesture","pan",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPanGesture",t.state,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","pan",t.pointers,t.isFinal),n.emit("panGesture",t.state,t.isFinal))}),n.on("gesture.tap",function(t){var e=!1;e=n.emit("wantsGesture","tap",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsTapGesture",t.center.raycaster,t.center.coords,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","tap",t.pointers,t.isFinal),n.emit("tapGesture",t.center.raycaster,t.center.coords,t.isFinal))}),n.on("gesture.dbltap",function(t){var e=!1;e=n.emit("wantsGesture","dbltap",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsDblTapGesture",t.center.raycaster,t.center.coords,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","dbltap",t.pointers,t.isFinal),n.emit("dblTapGesture",t.center.raycaster,t.center.coords,t.isFinal))}),n.on("gesture.press",function(t){var e=!1;e=n.emit("wantsGesture","press",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPressGesture",t.center.raycaster,t.center.coords,t.center.delta,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","press",t.pointers,t.isFinal),n.emit("pressGesture",t.center.raycaster,t.center.coords,t.center.delta,t.isFinal))}),n.on("gesture.pinch",function(t){var e=!1;e=n.emit("wantsGesture","pinch",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPinchGesture",t.scale,t.state.fov,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","pinch",t.pointers,t.isFinal),n.emit("pinchGesture",t.scale,t.state.fov,t.isFinal))}),n.on("gesture.mousewheel",function(t){var e=!1;e=n.emit("wantsGesture","mouseWheel",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsMouseWheel",t.center.delta,t.state.fov,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","mouseWheel",t.pointers,t.isFinal),n.emit("mouseWheel",t.center.delta,t.state.fov,t.isFinal))}),n.on("gesture.mousemove",function(t){var e=!1;e=n.emit("wantsGesture","mouseMove",t.pointers,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","mouseMove",t.pointers,t.isFinal),e=n.emit("wantsChangeCameraFov",t.state.fov),e&&t.preventDefault())}),n.on("gesture.momentum",function(t){var e=!1;e=n.emit("wantsInteriaPan",t.state),e&&t.preventDefault(),t.defaultPrevented||n.emit("interiaPan",t.state,t.isFinal)}),n.on("camera.update",function(t){n.emit("cameraFovUpdate",t.state.fov,t.userAction),n.emit("cameraDirectionUpdate",t.state,t.userAction);var e=coordinatesToVector(t.state);e.setLength(t.state.distance);var r=t.state.offset.clone().sub(e);n.emit("cameraPositionUpdate",r,t.userAction),n.emit("cameraUpdate",t.state,t.userAction)}),n.on("intersect.update",function(t){if(t.intersection){var e=!1;e=n.emit("wantsShowIntersectionOnModel",t.raycaster),e&&t.preventDefault(),t.defaultPrevented||n.emit("intersectionOnModelUpdate",t.intersection,t.object)}else n.emit("intersectionHidden")}),n.on("pano.request",function(t){var e=n.emit("wantsMoveToPano",t.state.panoIndex,t.options,t.userAction);e||(e=n.emit("wantsToMoveToPano",t.state.panoIndex,t.options,t.userAction)),e&&t.preventDefault(),t.defaultPrevented||n.emit("panoWillLoad",t.state.panoIndex)}),n.on("pano.select",function(t){n.emit("panoSelected",t.state.panoIndex)}),n.on("pano.moveTo",function(t){n.emit("panoLoaded",t.state.panoIndex),n.emit("moveToPano",t.state.panoIndex,t.userAction),n.emit("panoWillArrive",t.state.panoIndex,t.state,t.userAction)}),n.on("pano.moving",function(t){n.emit("movingToPano",t.state.panoIndex,t.prevPano.panoIndex,t.progress)}),n.on("pano.arrived",function(t){n.emit("panoArrived",t.state.panoIndex,t.state,t.userAction)}),n.on("pano.cancel",function(t){n.emit("moveToPanoCanceled",t.state.panoIndex)}),n.on("pano.error",function(t){n.emit("panoLoadError",t.error,t.state.panoIndex)}),n.on("pano.texture.load",function(t){n.emit("textureStartLoad",t.pano.panoIndex)}),n.on("pano.texture.success",function(t){n.emit("textureLoaded",t.pano.panoIndex,t.meta)}),n.on("pano.texture.error",function(t){n.emit("textureError",t.error,t.pano.panoIndex)}),n.on("pano.texture.abort",function(t){n.emit("textureAbort",t.pano.panoIndex)}),n.on("pano.texture.progress",function(t){n.emit("textureLoading",t.progress,t.pano.panoIndex)}),n.on("xr.session.start",function(t){n.emit("webXRSessionStart")}),n.on("xr.session.end",function(t){n.emit("webXRSessionEnd")}),n.on("xr.gesture.tap",function(t){n.emit("webXRControllerEvent","tap",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.press",function(t){n.emit("webXRControllerEvent","press",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.buttonUp",function(t){n.emit("webXRControllerEvent","buttonUp",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.buttonDown",function(t){n.emit("webXRControllerEvent","buttonDown",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.controller.update",function(t){n.emit("webXRControllerRayUpdate",{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0}),t.left&&n.emit("webXRAxesUpdate","left",{raycaster:{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0},axesState:{up:t.left.axes.up,down:t.left.axes.down,left:t.left.axes.left,right:t.left.axes.right},deltaTime:t.left.deltaTime}),t.right&&n.emit("webXRAxesUpdate","right",{raycaster:{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0},axesState:{up:t.right.axes.up,down:t.right.axes.down,left:t.right.axes.left,right:t.right.axes.right},deltaTime:t.right.deltaTime})}),n.on("works.request",function(t){n.emit("willLoad",t.input,t.works[0],t.state)}),n.on("works.load",function(t){n.emit("load",t.input,t.works[0],t.state)}),n.on("works.ready",function(t){n.emit("loaded",t.input,t.works[0])}),n.on("state.change",function(t){n.emit("stateChange",t.state,t.userAction)}),n.on("currentState.change",function(t){n.emit("currentStateChange",t.state,t.userAction)}),n.on("state.set",function(t){n.emit("setState",t.state)}),n.on("state.synced",function(t){n.emit("stateSynced",t.state)}),n.on("model.request",function(t){n.emit("modelWillLoad",t.work.model)}),n.on("model.error",function(t){n.emit("modelLoadError",t.error,t.model)}),n.on("model.load",function(t){n.emit("modelLoaded",t.model)}),n.on("model.changeShownFloor",function(t){n.emit("modelShownFloorChange",t.model.shownFloor,t.model.floorLength)}),n.on("render",function(t){n.emit("renderFrame",t.needsRender)}),n.on("mode.change.request",function(t){n.emit("wantsChangeMode",t.mode,t.prevMode)}),n.on("mode.change",function(t){n.emit("modeChange",t.mode,t.prevMode,t.state.panoIndex,t.state,t.userAction)}),n.on("helpers.visible",function(t){n.emit("helpersVisibleChange",t.object.visible)}),n.on("network.resource",function(t){n.emit("network",t.source,t.requestType,t.requestState,t.detail)})}function generateDefaultVideoElement(){if(typeof window!="undefined"){var n=document.createElement("video");n.loop=!0,n.autoplay=!0,n.playsInline=!0,n.muted=!0,n.crossOrigin="";var t=function(){document.removeEventListener("touchstart",t,!1),document.removeEventListener("mousedown",t,!1),n.muted=!1};return document.addEventListener("touchstart",t,!1),document.addEventListener("mousedown",t,!1),n}else return{}}function initLights(){var n=new THREE__namespace.Group;n.name="internalLights";{var t=new THREE__namespace.DirectionalLight(16777215,.1);t.name="direction0",t.position.copy(new THREE__namespace.Vector3(0,1,0)),n.add(t)}{var t=new THREE__namespace.DirectionalLight(16777215,.1);t.name="direction1",t.position.copy(new THREE__namespace.Vector3(-1,-1,-1)),n.add(t)}{var t=new THREE__namespace.DirectionalLight(16777215,.3);t.name="direction2",t.position.copy(new THREE__namespace.Vector3(1,1,1)),n.add(t)}{var t=new THREE__namespace.AmbientLight(16777215,.6);t.name="ambient0",n.add(t)}return n}function parseKeyValue(n){for(var t,e,r={},o=n.split(/(\;|\,)/),s=0,u=o;s<u.length;s++){var l=u[s],c=l.split("="),p=(t=c[0])===null||t===void 0?void 0:t.trim(),d=(e=c[1])===null||e===void 0?void 0:e.trim();p&&d&&(r[p]=d)}return r}function getViewportScale(){var n;if(typeof document!="undefined")for(var t=document.getElementsByTagName("meta"),e=0;e<t.length;e++){var r=t[e];if(r.getAttribute("name")==="viewport"){var o=parseKeyValue((n=r.getAttribute("content"))!==null&&n!==void 0?n:""),s=Number(o["initial-scale"]);if(!isNaN(s))return s}}return 1}const textureURL="data:image/png;base64,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";var imageSize=[351,63],imageOffset=[20,20],vertices=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),uvs=new Float32Array([0,0,1,0,0,1,1,1]),index=new Uint8Array([0,1,2,1,3,2]),geometry$4=new THREE__namespace.BufferGeometry;geometry$4.setAttribute("position",new THREE__namespace.BufferAttribute(vertices,3));geometry$4.setAttribute("uv",new THREE__namespace.BufferAttribute(uvs,2));geometry$4.setIndex(new THREE__namespace.BufferAttribute(index,1));var material=new THREE__namespace.MeshBasicMaterial({transparent:!0,depthTest:!1,depthWrite:!1,stencilWrite:!1,fog:!1}),mesh$4=new THREE__namespace.Mesh(geometry$4,material);mesh$4.matrixAutoUpdate=!1;var scene$2=new THREE__namespace.Scene;scene$2.add(mesh$4);scene$2.matrixAutoUpdate=!1;var camera$2=new THREE__namespace.OrthographicCamera(-.5,.5,.5,-.5,.1,1);camera$2.position.set(0,0,.5);camera$2.lookAt(0,0,0);camera$2.updateMatrixWorld(!0);camera$2.matrixAutoUpdate=!1;var prevViewport=new THREE__namespace.Vector4,prevScissor=new THREE__namespace.Vector4;function renderPoweredByRealsee(n){if(material.map){var r=n.getViewport(prevViewport),o=n.getScissor(prevScissor),s=n.getScissorTest(),u=n.autoClear,l=o.x+imageOffset[0]/3,c=o.y+imageOffset[1]/3,p=imageSize[0]/3,d=imageSize[1]/3;n.setViewport(l,c,p,d),n.setScissor(l,c,p,d),n.setScissorTest(!0),n.autoClear=!1,n.render(scene$2,camera$2),n.setViewport(r),n.setScissor(o),n.setScissorTest(s),n.autoClear=u}else{var t=new THREE__namespace.Texture,e=new Image;e.onload=function(){t.image=e,t.wrapS=THREE__namespace.ClampToEdgeWrapping,t.wrapT=THREE__namespace.ClampToEdgeWrapping,t.minFilter=THREE__namespace.LinearFilter,t.needsUpdate=!0,t.generateMipmaps=!1,material.needsUpdate=!0,e.onload=noop$1},e.src=textureURL,material.map=t}}var FRAGMENT$2=`
|
|
2131
|
+
`},LineMaterial=function(n){__extends(t,n);function t(e){var r=n.call(this,{uniforms:THREE__namespace.UniformsUtils.clone(lineShader.uniforms),vertexShader:lineShader.vertexShader,fragmentShader:lineShader.fragmentShader,clipping:!0})||this;return r.type="LineMaterial",r.dashed=!1,Object.defineProperties(r,{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(o){this.uniforms.diffuse.value=o}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(o){this.uniforms.linewidth.value=o}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(o){this.uniforms.dashScale.value=o}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(o){this.uniforms.dashSize.value=o}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(o){this.uniforms.gapSize.value=o}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(o){this.uniforms.opacity.value=o}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(o){this.uniforms.resolution.value.copy(o)}}}),r.setValues(e),r}return t}(THREE__namespace.ShaderMaterial);Object.assign(LineMaterial.prototype,{isLineMaterial:!0});var LineSegments2=function(n){__extends(t,n);function t(e,r){var o=n.call(this)||this;return o.type="LineSegments2",o.geometry=e!==void 0?e:new LineSegmentsGeometry,o.material=r!==void 0?r:new LineMaterial({color:Math.random()*16777215}),o}return t.prototype.computeLineDistances=function(){for(var e=this.geometry,r=e.attributes.instanceStart,o=e.attributes.instanceEnd,s=new Float32Array(2*r.count),u=new THREE__namespace.Vector3,l=new THREE__namespace.Vector3,c=0,p=0,d=r.count;c<d;c++,p+=2)u.fromBufferAttribute(r,c),l.fromBufferAttribute(o,c),s[p]=p===0?0:s[p-1],s[p+1]=s[p]+u.distanceTo(l);var f=new THREE__namespace.InstancedInterleavedBuffer(s,2,1);return e.setAttribute("instanceDistanceStart",new THREE__namespace.InterleavedBufferAttribute(f,1,0)),e.setAttribute("instanceDistanceEnd",new THREE__namespace.InterleavedBufferAttribute(f,1,1)),this},t.prototype.raycast=function(e,r){e.camera===null&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2.');var o=e.ray,s=e.camera,u=s.projectionMatrix,l=this.geometry,c=this.material,p=c.resolution,d=c.linewidth,f=l.attributes.instanceStart,h=l.attributes.instanceEnd,g=new THREE__namespace.Vector4,A=new THREE__namespace.Vector4,m=new THREE__namespace.Vector4,E=new THREE__namespace.Vector3,v=new THREE__namespace.Matrix4,y=new THREE__namespace.Line3,b=new THREE__namespace.Vector3;o.at(1,m),m.w=1,m.applyMatrix4(s.matrixWorldInverse),m.applyMatrix4(u),m.multiplyScalar(1/m.w),m.x*=p.x/2,m.y*=p.y/2,m.z=0,E.copy(m);var T=this.matrixWorld;v.multiplyMatrices(s.matrixWorldInverse,T);for(var _=0,S=f.count;_<S;_++){g.fromBufferAttribute(f,_),A.fromBufferAttribute(h,_),g.w=1,A.w=1,g.applyMatrix4(v),A.applyMatrix4(v),g.applyMatrix4(u),A.applyMatrix4(u),g.multiplyScalar(1/g.w),A.multiplyScalar(1/A.w);var R=g.z<-1&&A.z<-1,C=g.z>1&&A.z>1;if(!(R||C)){g.x*=p.x/2,g.y*=p.y/2,A.x*=p.x/2,A.y*=p.y/2,y.start.copy(g),y.start.z=0,y.end.copy(A),y.end.z=0;var H=y.closestPointToPointParameter(E,!0);y.at(H,b);var B=THREE__namespace.MathUtils.lerp(g.z,A.z,H),M=B>=-1&&B<=1,w=E.distanceTo(b)<d*.5;if(M&&w){y.start.fromBufferAttribute(f,_),y.end.fromBufferAttribute(h,_),y.start.applyMatrix4(T),y.end.applyMatrix4(T);var P=new THREE__namespace.Vector3,O=new THREE__namespace.Vector3;o.distanceSqToSegment(y.start,y.end,O,P),r.push({point:O,pointOnLine:P,distance:o.origin.distanceTo(O),object:this,faceIndex:_})}}}},t}(THREE__namespace.Mesh);Object.assign(LineSegments2.prototype,{isLineSegments2:!0});var Line2=function(n){__extends(t,n);function t(e,r){var o=n.call(this,e,r)||this;return o.type="Line2",o}return t}(LineSegments2);Object.assign(Line2.prototype,{isLine2:!0});var LineGeometry=function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.type="LineGeometry",e}return t.prototype.setPositions=function(e){for(var r=e.length-3,o=new Float32Array(2*r),s=0;s<r;s+=3)o[2*s]=e[s],o[2*s+1]=e[s+1],o[2*s+2]=e[s+2],o[2*s+3]=e[s+3],o[2*s+4]=e[s+4],o[2*s+5]=e[s+5];return n.prototype.setPositions.call(this,o),this},t.prototype.setColors=function(e){for(var r=e.length-3,o=new Float32Array(2*r),s=0;s<r;s+=3)o[2*s]=e[s],o[2*s+1]=e[s+1],o[2*s+2]=e[s+2],o[2*s+3]=e[s+3],o[2*s+4]=e[s+4],o[2*s+5]=e[s+5];return n.prototype.setColors.call(this,o),this},t.prototype.fromLine=function(e){var r=e.geometry;if(r instanceof THREE__namespace.Geometry){var o=new THREE__namespace.BufferGeometry().fromGeometry(r);this.setPositions(o.attributes.position.array)}else r instanceof THREE__namespace.BufferGeometry&&this.setPositions(r.attributes.position.array);return this},t.prototype.copy=function(){return this},t}(LineSegmentsGeometry);Object.assign(LineGeometry.prototype,{isLineGeometry:!0});var circleImageURL="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sHDgwCEMBJZu0AAAAdaVRYdENvbW1lbnQAAAAAAENyZWF0ZWQgd2l0aCBHSU1QZC5lBwAABM5JREFUWMO1V0tPG2cUPZ4Hxh6DazIOrjFNqJs0FIMqWFgWQkatsmvVbtggKlSVRVf5AWz4AWz4AUSKEChll19QJYSXkECuhFxsHjEhxCYm+DWGMZ5HF72DJq4bAzFXurI0M/I5997v3u9cC65vTJVn2lX/xHINQOYSBLTLEuIuCWw4Z3IGAEvf6ASmVHjNzHCXBG4A0AjACsAOwEbO0nsFQBnAGYASAIl+ZRMR7SolMEdsByD09fV5R0ZGgg8ePPjW5/N1iqLYpuu6RZblciKR2I9Go69evnwZnZ+fjwI4IS8AKBIRzeQfJWCANwKwh0KhtrGxsYehUOin1tbW+zzP23ietzY2NnIAoGmaLsuyUiqVyvl8XtrY2NiamZn589mzZxsAUgCOAeQAnFI2tI+VxIjaAeDzoaGh7xYWFuZOTk6OZVk+12uYqqq6JEnn0Wg0OT4+/geAXwGEAdwDIFJQXC1wO4DWR48e/RCPxxclSSroVzRFUbSDg4P848ePFwH8DuAhkWih83TRQWxFOXgAwvDwcOfo6OhvXV1d39tsNtuVBwTDWBwOh1UUxVsMw1hXVlbSdCgNV43uYSvrHg6H24aHh38eHBz85TrgF9FYLHA4HLzH43FvbW2d7u/vG+dANp8FpqIlbd3d3V8Fg8EfBUFw4BONZVmL3+9vHhkZCQL4AoAHgJPK8G+yzC0XDofdoVAo5PP5vkadTBAEtr+/39ff3x8gAp/RPOEqx2qjx+NpvXv3bk9DQ0NDvQgwDIOWlhZrMBj8kgi0UJdxRgYMArzL5XJ7vd57qLPZ7Xamp6fnNgBXtQxcjFuHw+Hyer3t9SYgCAITCAScAJoBNNEY/08GOFVVrfVMv7kMNDntFD1vjIAPrlRN0xjckOm6biFQ3jwNPwDMZrOnqVTqfb3Bi8Wivru7W/VCYkwPlKOjo0IikXh7EwQikYgE4Nw0CfXKDCipVCoTj8df3QABbW1tLUc6oUgkFPMkVACUNjc337148eKvw8PDbJ2jP1taWkoCyNDVXDSECmNSK4qiKNLq6urW8+fPI/UicHx8rD59+jSVy+WOAKSJhKENwFItLtoxk8mwsixzHR0dHe3t7c5PAU+n09rs7OzJkydPYqVSaQfANoDXALIk31S2smU1TWMPDg7K5XKZ7+3t9TudTut1U7+wsFCcmJiIpdPpbQBxADsAknQWymYCOukBHYCuKApisdhpMpnURFEU79y503TVyKenpzOTk5M7e3t7MQKPV0Zv1gNm+awB0MvlshqLxfLb29uyJElWURSbXC4XXyvqxcXFs6mpqeTc3Nzu3t7e3wQcA7BPZ8Cov1pNlJplmQtAG8MwHV6v95tAINA5MDBwPxAIuLu6upr8fr/VAN3c3JQjkcjZ+vp6fnl5+d2bN29SuVzuNYAEpf01CdRChUL+X1VskHACuA3Ay3Fcu9vt7nA6nZ7m5uYWQRCaNE3jVVW15PP580KhIGUymWw2m00DOAJwSP4WwPtq4LX2Ao6USxNlQyS/RcQcdLGwlNIz6vEMAaZpNzCk2Pll94LK/cDYimxERiBwG10sxjgvEZBE0UpE6vxj+0Ct5bTaXthgEhRmja8QWNkkPGsuIpfdjpkK+cZUWTC0KredVmtD/gdlSl6EG4AMvQAAAABJRU5ErkJggg==",DEFAULT_COLOR=14467195,POINT_SIZE=8,DEFAULT_LINEWIDTH=2,DEFAULT_DASHSCALE=20,sharedCircleTexture=null,FiveLine=function(n){__extends(t,n);function t(e,r){e===void 0&&(e=new THREE__namespace.Vector3),r===void 0&&(r=new THREE__namespace.Vector3);var o=n.call(this)||this;o.type="FiveLine",o.needsRender=!0;var s=new LineGeometry,u=new LineMaterial({color:DEFAULT_COLOR,linewidth:DEFAULT_LINEWIDTH,dashScale:DEFAULT_DASHSCALE,dashed:!1});o.line=new Line2(s,u);var l=new THREE__namespace.BufferGeometry,c=new THREE__namespace.PointsMaterial({color:DEFAULT_COLOR,size:POINT_SIZE,map:sharedCircleTexture||(sharedCircleTexture=new THREE__namespace.TextureLoader().load(circleImageURL)),sizeAttenuation:!1,transparent:!0});return o.points=new THREE__namespace.Points(l,c),o.points.renderOrder=11,o.points.frustumCulled=!1,o.setPoints(e,r),o.add(o.line,o.points),o}return Object.defineProperty(t,"version",{get:function(){return"6.5.14"},enumerable:!1,configurable:!0}),t.prototype.setPoints=function(e,r){var o=[].concat(e.toArray(),r.toArray());this.points.geometry.setAttribute("position",new THREE__namespace.BufferAttribute(new Float32Array(o),3)),this.line.geometry.setPositions(o),this.line.computeLineDistances(),this.needsRender=!0},t.prototype.getPoints=function(){var e=this.points.geometry.attributes.position.array;return[new THREE__namespace.Vector3(e[0],e[1],e[2]),new THREE__namespace.Vector3(e[3],e[4],e[5])]},t.prototype.setMaterial=function(e){var r=this.line.material;for(var o in e)if(e.hasOwnProperty(o)){var s=e[o];o==="dashed"?(r.dashed=s,s?r.defines.USE_DASH="":delete r.defines.USE_DASH,r.needsUpdate=!0):r[o]=e[o]}this.needsRender=!0},t.prototype.setResolution=function(e,r){var o=this.line.material.resolution;(o.x!==e||o.y!==r)&&(o.set(e,r),this.needsRender=!0)},t}(THREE__namespace.Object3D);Object.assign(FiveLine.prototype,{isFiveLine:!0});var Constants={Handedness:Object.freeze({NONE:"none",LEFT:"left",RIGHT:"right"}),ComponentState:Object.freeze({DEFAULT:"default",TOUCHED:"touched",PRESSED:"pressed"}),ComponentProperty:Object.freeze({BUTTON:"button",X_AXIS:"xAxis",Y_AXIS:"yAxis",STATE:"state"}),ComponentType:Object.freeze({TRIGGER:"trigger",SQUEEZE:"squeeze",TOUCHPAD:"touchpad",THUMBSTICK:"thumbstick",BUTTON:"button"}),ButtonTouchThreshold:.05,AxisTouchThreshold:.1,VisualResponseProperty:Object.freeze({TRANSFORM:"transform",VISIBILITY:"visibility"})};function fetchJsonFile(n){return __awaiter(this,void 0,void 0,function(){var t;return __generator(this,function(e){switch(e.label){case 0:return[4,fetch(n)];case 1:if(t=e.sent(),t.ok)return[2,t.json()];throw new Error(t.statusText)}})})}function fetchProfilesList(n){return __awaiter(this,void 0,void 0,function(){var t,e;return __generator(this,function(r){switch(r.label){case 0:if(!n)throw new Error("No basePath supplied");return t="profilesList.json",[4,fetchJsonFile("".concat(n,"/").concat(t))];case 1:return e=r.sent(),[2,e]}})})}function fetchProfile(n,t){return __awaiter(this,arguments,void 0,function(e,r,o,s){var u,l,c,p,d,f;return o===void 0&&(o=null),s===void 0&&(s=!0),__generator(this,function(h){switch(h.label){case 0:if(!e)throw new Error("No xrInputSource supplied");if(!r)throw new Error("No basePath supplied");return[4,fetchProfilesList(r)];case 1:if(u=h.sent(),e.profiles.some(function(g){var A=u[g];return A&&(l={profileId:g,profilePath:"".concat(r,"/").concat(A.path),deprecated:!!A.deprecated}),!!l}),!l){if(!o)throw new Error("No matching profile name found");if(c=u[o],!c)throw new Error('No matching profile name found and default profile "'.concat(o,'" missing.'));l={profileId:o,profilePath:"".concat(r,"/").concat(c.path),deprecated:!!c.deprecated}}return[4,fetchJsonFile(l.profilePath)];case 2:if(p=h.sent(),s){if(f=void 0,f=p.layouts[e.handedness],!f)throw new Error("No matching handedness, ".concat(e.handedness,", in profile ").concat(l.profileId));f.assetPath&&(d=l.profilePath.replace("profile.json",f.assetPath))}return[2,{profile:p,assetPath:d}]}})})}var defaultComponentValues={xAxis:0,yAxis:0,button:0,state:Constants.ComponentState.DEFAULT};function normalizeAxes(n,t){n===void 0&&(n=0),t===void 0&&(t=0);var e=n,r=t,o=Math.sqrt(n*n+t*t);if(o>1){var s=Math.atan2(t,n);e=Math.cos(s),r=Math.sin(s)}var u={normalizedXAxis:e*.5+.5,normalizedYAxis:r*.5+.5};return u}var VisualResponse=function(){function n(t){this.componentProperty=t.componentProperty,this.states=t.states,this.valueNodeName=t.valueNodeName,this.valueNodeProperty=t.valueNodeProperty,this.valueNodeProperty===Constants.VisualResponseProperty.TRANSFORM&&(this.minNodeName=t.minNodeName,this.maxNodeName=t.maxNodeName),this.value=0,this.updateFromComponent(defaultComponentValues)}return n.prototype.updateFromComponent=function(t){var e=t.xAxis,r=t.yAxis,o=t.button,s=t.state,u=normalizeAxes(e,r),l=u.normalizedXAxis,c=u.normalizedYAxis;switch(this.componentProperty){case Constants.ComponentProperty.X_AXIS:this.value=this.states.includes(s)?l:.5;break;case Constants.ComponentProperty.Y_AXIS:this.value=this.states.includes(s)?c:.5;break;case Constants.ComponentProperty.BUTTON:this.value=this.states.includes(s)?o:0;break;case Constants.ComponentProperty.STATE:this.valueNodeProperty===Constants.VisualResponseProperty.VISIBILITY?this.value=this.states.includes(s):this.value=this.states.includes(s)?1:0;break;default:throw new Error("Unexpected visualResponse componentProperty ".concat(this.componentProperty))}},n}(),Component=function(){function n(t,e){var r=this;if(!t||!e||!e.visualResponses||!e.gamepadIndices||Object.keys(e.gamepadIndices).length===0)throw new Error("Invalid arguments supplied");this.id=t,this.type=e.type,this.rootNodeName=e.rootNodeName,this.touchPointNodeName=e.touchPointNodeName,this.visualResponses={},Object.keys(e.visualResponses).forEach(function(o){var s=new VisualResponse(e.visualResponses[o]);r.visualResponses[o]=s}),this.gamepadIndices=Object.assign({},e.gamepadIndices),this.values={state:Constants.ComponentState.DEFAULT,button:this.gamepadIndices.button!==void 0?0:void 0,xAxis:this.gamepadIndices.xAxis!==void 0?0:void 0,yAxis:this.gamepadIndices.yAxis!==void 0?0:void 0}}return Object.defineProperty(n.prototype,"data",{get:function(){var t=__assign({id:this.id},this.values);return t},enumerable:!1,configurable:!0}),n.prototype.updateFromGamepad=function(t){var e=this;if(this.values.state=Constants.ComponentState.DEFAULT,this.gamepadIndices.button!==void 0&&t.buttons.length>this.gamepadIndices.button){var r=t.buttons[this.gamepadIndices.button];this.values.button=r.value,this.values.button=this.values.button<0?0:this.values.button,this.values.button=this.values.button>1?1:this.values.button,r.pressed||this.values.button===1?this.values.state=Constants.ComponentState.PRESSED:(r.touched||this.values.button>Constants.ButtonTouchThreshold)&&(this.values.state=Constants.ComponentState.TOUCHED)}this.gamepadIndices.xAxis!==void 0&&t.axes.length>this.gamepadIndices.xAxis&&(this.values.xAxis=t.axes[this.gamepadIndices.xAxis],this.values.xAxis=this.values.xAxis<-1?-1:this.values.xAxis,this.values.xAxis=this.values.xAxis>1?1:this.values.xAxis,this.values.state===Constants.ComponentState.DEFAULT&&Math.abs(this.values.xAxis)>Constants.AxisTouchThreshold&&(this.values.state=Constants.ComponentState.TOUCHED)),this.gamepadIndices.yAxis!==void 0&&t.axes.length>this.gamepadIndices.yAxis&&(this.values.yAxis=t.axes[this.gamepadIndices.yAxis],this.values.yAxis=this.values.yAxis<-1?-1:this.values.yAxis,this.values.yAxis=this.values.yAxis>1?1:this.values.yAxis,this.values.state===Constants.ComponentState.DEFAULT&&Math.abs(this.values.yAxis)>Constants.AxisTouchThreshold&&(this.values.state=Constants.ComponentState.TOUCHED)),Object.values(this.visualResponses).forEach(function(o){o.updateFromComponent(e.values)})},n}(),MotionController=function(){function n(t,e,r){var o=this;if(!t)throw new Error("No xrInputSource supplied");if(!e)throw new Error("No profile supplied");this.xrInputSource=t,this.assetUrl=r,this.id=e.profileId,this.layoutDescription=e.layouts[t.handedness],this.components={},Object.keys(this.layoutDescription.components).forEach(function(s){var u=o.layoutDescription.components[s];o.components[s]=new Component(s,u)}),this.updateFromGamepad()}return Object.defineProperty(n.prototype,"gripSpace",{get:function(){return this.xrInputSource.gripSpace},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"targetRaySpace",{get:function(){return this.xrInputSource.targetRaySpace},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"data",{get:function(){var t=[];return Object.values(this.components).forEach(function(e){t.push(e.data)}),t},enumerable:!1,configurable:!0}),n.prototype.updateFromGamepad=function(){var t=this;Object.values(this.components).forEach(function(e){e.updateFromGamepad(t.xrInputSource.gamepad)})},n}(),DEFAULT_PROFILES_PATH="https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles",DEFAULT_PROFILE="generic-trigger",XRControllerModel=function(n){__extends(t,n);function t(){var e=n.call(this)||this;return e.motionController=null,e.envMap=null,e}return t.prototype.setEnvironmentMap=function(e){var r=this;return this.envMap==e?this:(this.envMap=e,this.traverse(function(o){o instanceof THREE__namespace.Mesh&&o.isMesh&&(o.material.envMap=r.envMap,o.material.needsUpdate=!0)}),this)},t.prototype.updateMatrixWorld=function(e){n.prototype.updateMatrixWorld.call(this,e),this.motionController&&(this.motionController.updateFromGamepad(),Object.values(this.motionController.components).forEach(function(r){Object.values(r.visualResponses).forEach(function(o){var s=o.valueNode,u=o.minNode,l=o.maxNode,c=o.value,p=o.valueNodeProperty;s&&(p===Constants.VisualResponseProperty.VISIBILITY?s.visible=c:p===Constants.VisualResponseProperty.TRANSFORM&&(s.quaternion.copy(u.quaternion).slerp(l.quaternion,c),s.position.lerpVectors(u.position,l.position,c)))})}))},t}(THREE.Object3D);function findNodes(n,t){Object.values(n.components).forEach(function(e){var r=e.type,o=e.touchPointNodeName,s=e.visualResponses;if(r===Constants.ComponentType.TOUCHPAD)if(e.touchPointNode=t.getObjectByName(o),e.touchPointNode){var u=new THREE.SphereGeometry(.001),l=new THREE.MeshBasicMaterial({color:255}),c=new THREE.Mesh(u,l);e.touchPointNode.add(c)}else console.warn("Could not find touch dot, ".concat(e.touchPointNodeName,", in touchpad component ").concat(e.id));Object.values(s).forEach(function(p){var d=p.valueNodeName,f=p.minNodeName,h=p.maxNodeName,g=p.valueNodeProperty;if(g===Constants.VisualResponseProperty.TRANSFORM){if(p.minNode=t.getObjectByName(f),p.maxNode=t.getObjectByName(h),!p.minNode){console.warn("Could not find ".concat(f," in the model"));return}if(!p.maxNode){console.warn("Could not find ".concat(h," in the model"));return}}p.valueNode=t.getObjectByName(d),p.valueNode||console.warn("Could not find ".concat(d," in the model"))})})}function addAssetSceneToControllerModel(n,t){findNodes(n.motionController,t),n.envMap&&t.traverse(function(e){e instanceof THREE__namespace.Mesh&&e.isMesh&&(e.material.envMap=n.envMap,e.material.needsUpdate=!0)}),n.add(t)}var XRControllerModelFactory=function(){function n(t){t===void 0&&(t=null),this.gltfLoader=t,this.path=DEFAULT_PROFILES_PATH,this._assetCache={}}return n.prototype.createControllerModel=function(t){var e=this,r=new XRControllerModel,o=null;return t.addEventListener("connected",function(s){var u=s.data;u.targetRayMode!=="tracked-pointer"||!u.gamepad||fetchProfile(u,e.path,DEFAULT_PROFILE).then(function(l){var c=l.profile,p=l.assetPath;r.motionController=new MotionController(u,c,p);var d=e._assetCache[r.motionController.assetUrl];if(d)o=d.scene.clone(),addAssetSceneToControllerModel(r,o);else{if(!e.gltfLoader)throw new Error("GLTFLoader not set.");e.gltfLoader.load(r.motionController.assetUrl,function(f){e._assetCache[r.motionController.assetUrl]=f,o=f.scene.clone(),addAssetSceneToControllerModel(r,o)})}}).catch(function(l){console.warn(l)})}),t.addEventListener("disconnected",function(){r.motionController=null,r.remove(o),o=null}),r},n}(),defaultXRPanoramaControllerInitArgs=__assign({},omit(defaultPanoramaControllerCustomInitArgs,["maxLatitude","minLatitude"]));function mapPanoResource(n,t){return n}var CONTROLLER_EVNET_DELTA_TIME=300,scratchRaycaster=new THREE__namespace.Raycaster,scratchVector3=new THREE__namespace.Vector3,XRPanoramaController=function(n){__extends(t,n);function t(e){var r=n.call(this,e)||this;r.xrManager=new XRManager(r.renderer,r.renderer.getContext(),{onSessionStart:function(c){r.emit("xr.session.start",createEvent("xr.session.start",{session:c,machineType:r.xrManager.machineType}))},onSessionEnd:function(){r.emit("xr.session.end",createEvent("xr.session.end",{session:null,machineType:r.xrManager.machineType}))}}),r.xrControllerRay={left:new THREE__namespace.Raycaster,right:new THREE__namespace.Raycaster},r.xrControllerRay.left.params.Points={threshold:.1},r.xrControllerRay.right.params.Points={threshold:.1},r.gazeRay=null,r.pointerLines={left:new FiveLine,right:new FiveLine},r.pointerLines.left.visible=!1,r.pointerLines.right.visible=!0,r.pointerLines.left.setMaterial({color:new THREE__namespace.Vector3(1,1,1)}),r.pointerLines.left.points.material.depthTest=!1,r.pointerLines.right.setMaterial({color:new THREE__namespace.Vector3(1,1,1)}),r.pointerLines.right.points.material.depthTest=!1,r.controllerWrappers=[new THREE__namespace.Group,new THREE__namespace.Group];var o=r.xrManager.getController(0);r.controllerWrappers[0].add(o);var s=r.xrManager.getController(1);r.controllerWrappers[1].add(s);var u=new XRControllerModelFactory;u.gltfLoader={load:function(c,p){internalFetcher.ajax(c,{responseType:"arraybuffer"}).then(function(d){var f;return parseGltf(d.body,{resourcePath:c.slice(0,c.lastIndexOf("/")+1),search:(f=c.split("?")[1])!==null&&f!==void 0?f:"",fetcher:internalFetcher})}).then(function(d){return p(d)})}},(r.xrManager.machineType==="Oculus"||r.xrManager.machineType==="Pico")&&r.scene.add(r.pointerLines.left,r.pointerLines.right,r.controllerWrappers[0],r.controllerWrappers[1]),r.panoResources={},r.panoResources[r.locationMotion.keyframes[0].key=r.locationMotion.keyframes[1].key=createUuid()]={panoId:panoStringify(r.currentPano),leftPanoPicture:null,position:r.camera.pose.offset.clone(),effect:"fade",fixCameraTransform:new THREE__namespace.Matrix4},r.parallaxCameraMatrixs=[];var l=AnimationFrameLoop.shared.getContext();return l?(r.on("xr.session.end",function(){r.scene.remove(r.pointerLines.left,r.pointerLines.right)}),r.xrManager.setSession(l),r.on("xr.session.start",function(){var c=r.xrManager.getControllerGrip(0);c.add(u.createControllerModel(c)),r.controllerWrappers[0].add(c);var p=r.xrManager.getControllerGrip(1);p.add(u.createControllerModel(p)),r.controllerWrappers[1].add(p)}),r.xrHandleState={LeftAxesUp:{touchStartTime:0,touchStart:!1},LeftAxesDown:{touchStartTime:0,touchStart:!1},LeftAxesLeft:{touchStartTime:0,touchStart:!1},LeftAxesRight:{touchStartTime:0,touchStart:!1},LeftTrigger:{touchStartTime:0,touchStart:!1},LeftPinch:{touchStartTime:0,touchStart:!1},RightAxesUp:{touchStartTime:0,touchStart:!1},RightAxesDown:{touchStartTime:0,touchStart:!1},RightAxesLeft:{touchStartTime:0,touchStart:!1},RightAxesRight:{touchStartTime:0,touchStart:!1},RightTrigger:{touchStartTime:0,touchStart:!1},RightPinch:{touchStartTime:0,touchStart:!1},Y:{touchStartTime:0,touchStart:!1},X:{touchStartTime:0,touchStart:!1},A:{touchStartTime:0,touchStart:!1},B:{touchStartTime:0,touchStart:!1}},r.xrManager.machineType==="VP"&&r.initHandEvent(),r):(console.error("获取session失败,请退出重试"),r)}return t.parseArgs=function(e){if(e instanceof t)return e;var r=__assign(__assign({},e),{maxLatitude:Math.PI/2,minLatitude:-Math.PI/2});return n.parseArgs.call(this,r)},t.initAnimationEndState=function(e){var r=this.parseArgs(e),o=n.initAnimationEndState.call(this,r);return __assign(__assign({},o),{mode:"XRPanorama"})},t.prototype.updateConfiguration=function(e){return n.prototype.updateConfiguration.call(this,__assign(__assign({},e),{maxLatitude:Math.PI/2,minLatitude:-Math.PI/2}))},t.prototype.moveToPano=function(e,r,o){var s=this,u,l,c,p,d=(u=r.effect)!==null&&u!==void 0?u:"fade";this.userAction=o,this.stopMomentumMovement();var f=this.works.getResolvedObserver(e);if(!f)throw new Error("Invalid PanoIndex");var h=getImageSizeFromURL(f.images.up),g=this.imageOptions.size;typeof g=="undefined"&&f&&h&&(g=Number(h)),typeof g=="undefined"&&(g=2048);var A=this.imageOptions.transform,m=function(B,M){return mapPanoResource(applyImageURLOptions(B,A,M))},E=__assign({key:"pano.".concat(f.panoId)},pick(this.imageOptions,["format","size","quality"])),v=f.images;c=(l=f.images.tiles)===null||l===void 0?void 0:l.filter(function(B){return B.size>g});var y="pano:"+jsonHash([v,E,A]);if(this.pendingTextureTask){if(this.pendingTextureTask.hash===y)return;var b=this.pendingTextureTask.panoId;(p=this.panoMeshes[b])===null||p===void 0||p.setProgress(0),this.emit("pano.texture.abort",createEvent("pano.texture.abort",{error:null,progress:0,meta:null,pano:f.pano}))}var T=this.modelScene.parameter.resolveValue(),_=T.pano0,S=T.pano1,R;if((_==null?void 0:_.map.name)===y?R=_:(S==null?void 0:S.map.name)===y&&(R=S),R){var C={panoId:f.panoId,effect:d,leftPanoPicture:{panoId:R.panoId,map:R.map,mapSize:R.mapSize,matrix:f.matrix.clone(),zoom:1},position:f.position.clone(),fixCameraTransform:new THREE__namespace.Matrix4};this.doMoveToPano(f.pano,C,r);return}var H="move-to-pano-"+f.panoId;this.pending.add(H),this.pendingTextureTask={panoId:f.panoId,hash:y,onLoad:function(B){var M;s.pending.delete(H);var w=B.body;if(s.destroyed)w.dispose();else{w.name=y;var P=Array.isArray(w.image)?w.image[0]:w.image,O=(M=P==null?void 0:P.width)!==null&&M!==void 0?M:2048,L={panoId:f.panoId,effect:d,leftPanoPicture:{panoId:f.panoId,map:w,mapSize:O,matrix:f.matrix.clone(),zoom:1},position:f.position.clone(),fixCameraTransform:new THREE__namespace.Matrix4};s.doMoveToPano(f.pano,L,r)}},onError:function(B){s.pending.delete(H);var M=__assign(__assign(__assign({},f.pano),{mode:s.mode}),clonePose(s.camera.pose));s.emit("pano.error",createEvent("pano.error",{error:B,userAction:s.userAction,options:r,prevPano:s.currentPano,progress:0,state:M})),s.emit("pano.cancel",createEvent("pano.cancel",{error:null,userAction:s.userAction,options:r,prevPano:s.currentPano,progress:0,state:M})),r.moveCancelCallback&&r.moveCancelCallback()}},this.textureLoader.loadCubeTexture(v,{imageURL:{transform:m,options:E},format:THREE__namespace.RGBAFormat,fetcher:getFetcher(f.work)},void 0,void 0,function(B){var M,w;((M=s.pendingTextureTask)===null||M===void 0?void 0:M.hash)===y&&((w=s.panoMeshes[f.panoId])===null||w===void 0||w.setProgress(B)),s.emit("pano.texture.progress",createEvent("pano.texture.progress",{error:null,progress:B,meta:null,pano:f.pano}))},this.renderer).then(function(B){var M,w;((M=s.pendingTextureTask)===null||M===void 0?void 0:M.hash)===y?(s.pendingTextureTask.onLoad(B),(w=s.panoMeshes[f.panoId])===null||w===void 0||w.setProgress(0),delete s.pendingTextureTask,s.emit("pano.texture.success",createEvent("pano.texture.success",{error:null,progress:1,meta:B.meta,pano:f.pano}))):B.body.dispose()}).catch(function(B){var M,w;((M=s.pendingTextureTask)===null||M===void 0?void 0:M.hash)===y&&(s.pendingTextureTask.onError(B),(w=s.panoMeshes[f.panoId])===null||w===void 0||w.setProgress(0),delete s.pendingTextureTask,s.emit("pano.texture.error",createEvent("pano.texture.error",{error:B,progress:0,meta:null,pano:f.pano})),s.emit("error",B))}),this.emit("pano.texture.load",createEvent("pano.texture.load",{error:null,progress:0,meta:null,pano:f.pano}))},t.prototype.doMoveToPano=function(e,r,o){var s=this,u,l,c,p,d,f,h,g,A,m;o===void 0&&(o={});var E=now(),v=createUuid();this.panoResources[v]=r;var y=1,b,T,_;if(this.locationMotion.ended){var S=this.locationMotion.getKeyFrameSegment(E);S[0];var R=S[1],C=this.locationMotion.value,H=this.panoResourceFromLocationMotionKeyframe(R).position,B=r.position;b=Math.max(H.distanceTo(B),y),T=[{key:R.key,progress:0,value:__assign(__assign({},C),{count:0})},{key:v,progress:1,value:{distance:0,count:1}}],_=0}else{var M=this.locationMotion.getKeyFrameSegment(E),w=M[0],R=M[1],C=this.locationMotion.value,P=this.panoResourceFromLocationMotionKeyframe(w).position,H=this.panoResourceFromLocationMotionKeyframe(R).position,B=r.position,O=R.value.count-C.count,L=Math.max(P.distanceTo(H),y)*O,N=Math.max(H.distanceTo(B),y);b=L+N,T=[{key:w.key,progress:0,value:__assign({},C)},{key:R.key,progress:L/b,value:R.value},{key:v,progress:1,value:{count:R.value.count+1,distance:0}}];var V=this.locationMotionKeyframesLength(this.locationMotion.keyframes),X=this.locationMotionKeyframesLength(T);_=this.locationMotion.getProgressVelocity(E)*V/X}var D=r.effect==="instant"?0:this.calculateMovingDuration(o.duration,r.effect==="fly"?b:0),J={longitude:o.longitude,latitude:o.latitude,fov:o.fov},U=__assign(__assign({},e),{mode:this.mode,longitude:(u=J.longitude)!==null&&u!==void 0?u:this.camera.pose.longitude,latitude:(l=J.latitude)!==null&&l!==void 0?l:this.camera.pose.latitude,fov:(c=J.fov)!==null&&c!==void 0?c:this.camera.pose.fov,offset:r.position.clone(),distance:0}),q=this.currentPano;if(this.emit("pano.moveTo",createEvent("pano.moveTo",{options:o,prevPano:q,progress:0,state:U,userAction:this.userAction,error:null})),o.moveStartCallback&&o.moveStartCallback(U),this.videoTexture&&this.videoTexture.image instanceof HTMLVideoElement&&this.videoTexture.image.getAttribute("src")&&(this.videoTexture.image.pause(),this.videoTexture.image.removeAttribute("uuid"),this.videoTexture.image.removeAttribute("src"),this.videoTexture.image.oncanplay=noop$1,this.videoTexture.needsUpdate=!0),this.panoVideo.setMaterial(null),r.effect==="fly")this.cameraMotion.set(J,D).catch(noop$1);else{var G=coordinatesToVector({longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude}),Z=coordinatesToVector({longitude:(p=J.longitude)!==null&&p!==void 0?p:this.cameraMotion.value.longitude,latitude:(d=J.latitude)!==null&&d!==void 0?d:this.cameraMotion.value.latitude}),Y=new THREE__namespace.Object3D;Y.lookAt(G);var ee=new THREE__namespace.Matrix4().makeRotationFromQuaternion(Y.quaternion);Y.lookAt(Z);var ae=new THREE__namespace.Matrix4().makeRotationFromQuaternion(Y.quaternion),ne=new THREE__namespace.Matrix4().getInverse(ee).premultiply(ae),K=this.cameraMotion.value.fov,j=(f=J.fov)!==null&&f!==void 0?f:this.cameraMotion.value.fov,te=1;r.effect==="zoomin"?te=1.5:r.effect==="zoomout"&&(te=.4);for(var ie=j*te,ue=0;ue<T.length-1;ue++){var pe=T[ue].key;if(pe){var he=this.panoResources[pe];he&&(he.fixCameraTransform.copy(ne),he.leftPanoPicture&&(he.leftPanoPicture.zoom=Math.tan(ie/2/180*Math.PI)/Math.tan(K/2/180*Math.PI)))}}this.cameraMotion.setKeyframes([{progress:0,value:{longitude:this.cameraMotion.value.longitude,latitude:this.cameraMotion.value.latitude,fov:this.cameraMotion.value.fov}},{progress:0,value:{longitude:(h=J.longitude)!==null&&h!==void 0?h:this.cameraMotion.value.longitude,latitude:(g=J.latitude)!==null&&g!==void 0?g:this.cameraMotion.value.latitude,fov:ie}},{progress:1,value:{longitude:(A=J.longitude)!==null&&A!==void 0?A:this.cameraMotion.value.longitude,latitude:(m=J.latitude)!==null&&m!==void 0?m:this.cameraMotion.value.latitude,fov:j}}],D).catch(noop$1)}var ge=this.locationMotion.setKeyframes(T,D,_);ge.then(function(){for(var Se=0,Ae=s.modelScene.children;Se<Ae.length;Se++){var me=Ae[Se];me instanceof Model&&me.show()}var oe=__assign(__assign({},e),{mode:s.mode,longitude:s.camera.pose.longitude,latitude:s.camera.pose.latitude,fov:s.camera.pose.fov,offset:s.camera.pose.offset.clone(),distance:0});s.emit("pano.arrived",createEvent("pano.arrived",{options:o,prevPano:q,progress:1,state:oe,userAction:s.userAction,error:null})),o.moveEndCallback&&o.moveEndCallback(oe);var W=s.works.getResolvedObserver(s.currentPano);if(W&&W.video&&s.videoTexture&&s.videoTexture.image instanceof HTMLVideoElement){var re={map:s.videoTexture,size:W.video.size,matrix:W.video.matrix,panoMatrix:W.matrix,alpha:1},Q=createUuid(),ce=s.videoTexture.image;ce.setAttribute("uuid",Q),canplayVideo().then(function(ve){ve&&W.video&&ce.getAttribute("uuid")===Q&&(ce.oncanplay=function(){ce.oncanplay=noop$1,ce.play()},ce.ontimeupdate=function(){ce.currentTime>.5&&(ce.ontimeupdate=noop$1,s.panoVideo.setMaterial(re))},ce.src=W.video.source)}).catch(function(){ce.removeAttribute("uuid")})}},function(){s.emit("pano.cancel",createEvent("pano.cancel",{options:o,prevPano:q,progress:0,state:U,userAction:s.userAction,error:null})),o.moveCancelCallback&&o.moveCancelCallback()})},t.prototype.checkSelectedPano=function(e){var r=this,o;this.stopMomentumMovement(),this.camera.getDirection(new THREE__namespace.Vector3).setY(0);var s=null,u=this.works.getResolvedObserver(this.currentPano);if(!u)return null;var l=u.accessibleIds.filter(function(b){var T=panoParse(b);if(panoEqual(T,r.currentPano))return!1;var _=r.works.getResolvedObserver(T);return!_||_.position.distanceTo(r.camera.position)>r.maxAccessibleDistance?!1:_.loadable||_.active}),c=this.modelScene.intersectRaycaster(e)[0];if(c){var p=arrayMin(l,function(b){var T=r.works.getResolvedObserver(b);if(!T)return 1/0;var _=T.standingPosition.clone();return _.distanceTo(c.point)},!0),d=p[0],f=p[1];d&&f<this.panoTapTriggerRadius&&(s=(o=this.works.getResolvedObserver(d))!==null&&o!==void 0?o:null)}if(isNil(s)){var h=this.getForwardObserverOrNot(e);h&&(s=h)}for(var g=0,A=this.locationMotion.keyframes;g<A.length;g++){var m=A[g],E=this.panoResourceFromLocationMotionKeyframe(m);if(!(m.progress<this.locationMotion.progress)&&s&&E.panoId===s.panoId){s=null;break}}if(isNil(s))return this.locationMotion.ended===!0&&this.cameraBounce(),null;if(!s.active){var v=s.panoId;this.panoMeshes[v]&&(this.panoMeshes[v].setDisabled(!1),this.panoMeshes[v].setLoading(!0))}var y={workCode:s.pano.workCode,panoIndex:s.pano.panoIndex,mode:this.mode,longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,distance:0,offset:s?s.position.clone():new THREE__namespace.Vector3};return this.emit("pano.select",createEvent("pano.select",{prevPano:this.currentPano,state:y,userAction:!0,options:{},progress:0,error:null})),s&&s.active?(this.emit("pano.request",createEvent("pano.request",{userAction:!0,prevPano:this.currentPano,progress:0,state:y,options:{},error:null})),s.pano):null},t.prototype.destroy=function(){n.prototype.destroy.call(this)},t.prototype.isReady=function(){return!1},t.prototype.updateCamera=function(e,r,o){return Promise.resolve()},t.prototype.updateCameraWithKeyframes=function(e,r,o){return Promise.resolve()},t.prototype.updateTime=function(e,r){for(var o=this,s,u,l,c,p,d,f,h,g=[],A=2;A<arguments.length;A++)g[A-2]=arguments[A];this.userAction=!0;var m={},E={},v=this.locationMotion.keyframes[0],y=this.locationMotion.keyframes[this.locationMotion.keyframes.length-1],b=this.locationMotion.getKeyFrameSegment(e),T=b[0],_=b[1];this.panoResourceFromLocationMotionKeyframe(T);var S=this.panoResourceFromLocationMotionKeyframe(_),R=this.panoResourceFromLocationMotionKeyframe(v),C=this.panoResourceFromLocationMotionKeyframe(y),H=!1;if(this.cameraMotion.ended===!1&&(this.cameraMotion.update(e),E.longitude=this.cameraMotion.value.longitude,E.latitude=this.cameraMotion.value.latitude,E.fov=this.cameraMotion.value.fov),this.modelAlphaMotion.ended===!1&&(this.modelAlphaMotion.update(e),m.modelAlpha=this.modelAlphaMotion.value.modelAlpha),this.perspToOrthoMotion.ended===!1&&(this.perspToOrthoMotion.update(e),this.camera.perspToOrtho.setScalar(clamp$1(this.perspToOrthoMotion.value.perspToOrtho,0,1))),this.locationMotion.ended===!1){this.locationMotion.update(e);var B=this.locationMotion.getKeyFrameSegment(e),M=B[0],w=B[1],P=this.panoResourceFromLocationMotionKeyframe(M),O=this.panoResourceFromLocationMotionKeyframe(w),L=new THREE__namespace.Vector3().copy(P.position),N=new THREE__namespace.Vector3().copy(O.position),V=this.locationMotion.value.count-w.value.count+1;if(m.progress=V,O.leftPanoPicture&&(V<1?P.leftPanoPicture&&(m.pano0=P.leftPanoPicture):m.pano0=O.leftPanoPicture,m.pano1=O.leftPanoPicture),O.effect==="montage"?m.transition="BLACK":O.effect==="spread"?m.transition="SPREAD":m.transition="FADE",(O.effect==="zoomin"||O.effect==="zoomout")&&(m.progress=Math.pow(V,3)),V<1&&O.effect!=="fly"){if(m.pano0&&P.leftPanoPicture){var X={panoId:m.pano0.panoId,map:m.pano0.map,mapSize:m.pano0.mapSize,zoom:m.pano0.zoom,matrix:P.leftPanoPicture.matrix.clone().setPosition(O.position)},D=this.panoPictureObserverMap.get(m.pano0);D&&this.panoPictureObserverMap.set(X,D),m.pano0=X}L.copy(N),H=!0}E.distance=this.locationMotion.value.distance,E.offset=new THREE__namespace.Vector3(L.x+(N.x-L.x)*V,L.y+(N.y-L.y)*V,L.z+(N.z-L.z)*V);for(var J=[],U=[],q=0,G=this.locationMotion.keyframes;q<G.length;q++){var Z=G[q],Y=Z.key,ee=Z.progress;Y!==void 0&&(J.push(Y),ee>this.locationMotion.progress&&U.push(Y))}for(var ae=0,ne=Object.keys(this.panoResources);ae<ne.length;ae++){var K=ne[ae];if(!(U.indexOf(K)>=0)){var j=this.panoResources[K];if(j.leftPanoPicture){var te=j.leftPanoPicture.map;if(te){if(te===((s=m.pano0)===null||s===void 0?void 0:s.map)||te===((u=m.pano1)===null||u===void 0?void 0:u.map))continue;te.dispose(),j.leftPanoPicture=null}}J.indexOf(K)>=0||delete this.panoResources[K]}}var ie=panoParse(O.panoId);ie!==this.currentPano&&(this.currentPano=ie,this.accessibleObserverFloorCheckCount=0),this.emit("pano.moving",createEvent("pano.moving",{userAction:this.userAction,prevPano:panoParse(R.panoId),state:__assign(__assign(__assign(__assign({},panoParse(C.panoId)),{mode:this.mode}),clonePose(this.camera.pose)),E),options:{},progress:this.locationMotion.progress,error:null}))}isEmptyObject(m)===!1&&this.modelScene.parameter.set(m),isEmptyObject(E)===!1&&this.setCamera(E),this.xrManager.cameraVR.projectionMatrix.copy(this.camera.projectionMatrix),this.xrManager.cameraVR.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse),this.xrManager.cameraVR.matrix.copy(this.camera.matrix),this.xrManager.cameraVR.position.copy(this.camera.position),this.xrManager.cameraVR.quaternion.copy(this.camera.quaternion),this.xrManager.cameraVR.scale.copy(this.camera.scale),this.xrManager.cameraVR.matrixAutoUpdate=!1,this.xrManager.cameraVR.matrixWorld.copy(this.camera.matrixWorld);var ue=g,pe=ue[1],he=new THREE__namespace.Vector3(0,0,0),ge=new THREE__namespace.Vector2().copy(this.camera.resolution);if(pe&&this.xrManager.session&&this.xrManager.referenceSpace&&this.xrManager.session.renderState.baseLayer){var Se=this.xrManager.cameraVR,Ae=this.xrManager.referenceSpace,me=this.xrManager.session.renderState.baseLayer,oe=pe.getViewerPose(Ae),W=(l=oe==null?void 0:oe.views)!==null&&l!==void 0?l:[];this.renderer.setFramebuffer(me.framebuffer);for(var re=0;re<W.length;re++){var Q=W[re],ce=Se.cameras[re],ve=me.getViewport(Q);ve&&(ce.projectionMatrix.fromArray(Q.projectionMatrix),ce.projectionMatrixInverse.getInverse(ce.projectionMatrix),ce.matrix.fromArray(Q.transform.matrix),ce.matrix.setPosition(this.camera.position),ce.matrix.decompose(ce.position,ce.quaternion,ce.scale),ce.matrixWorld.copy(ce.matrix),ce.matrixWorldInverse.getInverse(ce.matrixWorld),ce.matrixAutoUpdate=!1,he.copy(ce.position),ce.viewport.set(ve.x,ve.y,ve.width,ve.height),ge.set(ve.width,ve.height))}if(this.xrManager.setProjectionFromUnion(this.xrManager.cameraVR,this.xrManager.cameraL,this.xrManager.cameraR),this.camera.quaternion.copy(this.xrManager.cameraVR.quaternion),this.camera.scale.copy(this.xrManager.cameraVR.scale),this.camera.matrix.compose(this.camera.position,this.camera.quaternion,this.camera.scale),this.xrManager.session&&this.xrManager.session.inputSources){for(var re=0;re<this.xrManager.session.inputSources.length;re++)if(this.xrManager.session.inputSources[re]&&this.xrManager.session.inputSources[re].targetRayMode==="transient-pointer"){var Ve=pe.getPose(this.xrManager.session.inputSources[re].targetRaySpace,Ae);if(Ve){var Ue=Ve.transform.orientation,$e=new THREE__namespace.Quaternion(Ue.x,Ue.y,Ue.z,Ue.w),Pe=new THREE__namespace.Vector3(0,0,-1).applyQuaternion($e),de=new THREE__namespace.Raycaster(this.camera.position,Pe);this.gazeRay=de}}}if(this.xrManager.machineType==="Oculus"||this.xrManager.machineType==="Pico"){for(var Ee=this.xrManager.session.inputSources,xe=function(yt){var We=le.xrManager.controllers[yt],nt=Ee[yt];if(!nt)return"continue";We&&We.update(nt,pe,Ae);var it=le.xrManager.getController(yt),Rt=new THREE__namespace.Vector3(0,1.2,0),bt=it.position.clone().add(he).sub(Rt);nt.handedness==="left"?le.xrControllerRay.left.set(bt,new THREE__namespace.Vector3(0,0,-1).applyEuler(it.rotation)):nt.handedness==="right"&&le.xrControllerRay.right.set(bt,new THREE__namespace.Vector3(0,0,-1).applyEuler(it.rotation)),le.controllerWrappers[yt].position.copy(new THREE__namespace.Vector3(0,0,0).add(he).sub(Rt));var ht=le.modelScene.intersectRaycaster(le.xrControllerRay.right);if(ht.length===0){var Mt=le.works.getResolvedObserver(le.currentPano);ht=le.xrControllerRay.right.intersectObject(le.boundingMesh,!0).map(function(I){var F;return __assign({floor:(F=Mt==null?void 0:Mt.floorIndex)!==null&&F!==void 0?F:0},I)})}if(ht.length>=1&&ht[0].face)if(nt.handedness==="right"){var wt=le.xrControllerRay.right.intersectObject(le.xrCustomObjectsScene,!0),Ct=ht[0].face.normal,xt=Ct.clone(),Bt=ht[0].point.clone();le.intersectMesh.position.copy(Bt);var Ht=Bt.clone().add(xt);if(le.intersectMesh.lookAt(Ht),Math.abs(Ct.y)>.99){var It=le.camera.position.clone().sub(Bt);le.intersectMesh.rotation.z=-Math.atan2(It.z,It.x)}le.intersectMesh.visible=!0,le.needsRender=!0,wt.length>0?(le.pointerLines.right.setPoints(bt,wt[0].point),le.pointerLines.right.points.visible=!0,le.intersectMesh.visible=!1):(le.pointerLines.right.points.visible=!1,le.pointerLines.right.setPoints(bt,ht[0].point));var Pt=ht[0],Ft=createEvent("intersect.update",{raycaster:(c=le.xrControllerRay.right)!==null&&c!==void 0?c:null,intersection:Pt!=null?Pt:null,object:le.intersectMesh});if(le.emit("intersect.update",Ft),Ft.defaultPrevented)return le.hideIntersectMesh(),{value:void 0}}else le.pointerLines.left.setPoints(bt,ht[0].point)},le=this,re=0;re<Ee.length;re++){var Me=xe(re);if(typeof Me=="object")return Me.value}this.updateControllerHelper(Ee,e,r)}}else pe||console.error("xrFrame丢失,请重试"),this.xrManager.session||console.error("session丢失,请重试"),this.xrManager.session&&!this.xrManager.session.renderState.baseLayer&&console.error("no layer found");var Ce=this.works.getResolvedObserver(this.currentPano);if(this.camera.pose.distance>.1||H)for(var Ze=0,ye=Object.keys(this.panoMeshes);Ze<ye.length;Ze++){var _e=ye[Ze],fe=this.panoMeshes[_e];fe.setOpacity(0),fe.setCurrent(!1),fe.updateTime&&fe.updateTime(e,r),fe.visible=!1}else if(Ce){var Le=arrayMin(Ce.visibleIds,function(yt){var We=o.works.getResolvedObserver(yt);return We?Ce.standingPosition.distanceTo(We.standingPosition):1/0},!0),Fe=Le[1];Fe=clamp$1(Fe,2.5,1/0);for(var ot=Ce.visibleIds.concat(panoStringify(this.currentPano)),ze=this.getForwardObserverOrNot(),Ke=this.camera.getDirection(new THREE__namespace.Vector3),Xe=0,je=Object.keys(this.panoMeshes);Xe<je.length;Xe++){var _e=je[Xe],fe=this.panoMeshes[_e],D=this.works.getResolvedObserver(_e);if(ot.indexOf(_e)===-1)fe.setCurrent(!1),fe.setOpacity(0);else if(!D)fe.setCurrent(!1),fe.setOpacity(0);else if(!D.loadable&&!D.active)fe.setCurrent(!1),fe.setOpacity(0);else{var Ie=fe.position.clone().setY(this.camera.position.y).distanceTo(this.camera.position);fe.setCurrent(!fe.loading&&fe.progress===0&&ze!==null&&ze.panoId===_e),fe.setOpacity(Ie<.01?0:clamp$1(Fe/Ie*1.2,.65,.98));var De=this.camera.position.clone().setY(fe.position.y),Pe=new THREE__namespace.Vector3().copy(fe.position).sub(De).normalize();if(_e===panoStringify(this.currentPano)){var Re=clamp$1((.5-De.distanceTo(fe.position))/.5,0,1);Pe.multiplyScalar(1-Re).add(Ke.clone().multiplyScalar(Re))}Pe.length()>0&&fe.quaternion.setFromEuler(new THREE__namespace.Euler(0,Math.atan2(Pe.x,Pe.z),0))}fe.updateTime&&fe.updateTime(e,r)}}if(this.adjustPanoCircleMeshPositionBasedOnModel&&this.helper.visible&&Ce){for(var we=[],Ye=0,Be=Ce.accessibleIds;Ye<Be.length;Ye++){var _e=Be[Ye],D=this.works.getResolvedObserver(_e);D&&we.push(D)}if(we.sort(function(yt,We){return yt.standingPosition.distanceTo(Ce.standingPosition)-We.standingPosition.distanceTo(Ce.standingPosition)}),we.length){this.accessibleObserverFloorCheckCount=this.accessibleObserverFloorCheckCount%we.length;var He=we[this.accessibleObserverFloorCheckCount],fe=this.panoMeshes[He.panoId],tt=this.modelScene.models.find(function(We){return We.work===(He==null?void 0:He.work)});if(He&&fe&&tt&&tt.visible){var st=.3,ut=.05,gt=.005,vt=adjustPanoCircleMeshVectors.map(function(We){scratchVector3.copy(We),scratchVector3.setY(st),scratchRaycaster.ray.origin.copy(He.standingPosition),scratchRaycaster.ray.origin.add(scratchVector3),scratchRaycaster.ray.direction.set(0,-1,0);var nt=tt.intersectRaycaster(scratchRaycaster,null,!0)[0];return nt&&nt.distance-gt<=st?new THREE__namespace.Vector3().copy(He.standingPosition).setY(nt.point.y+gt):He.standingPosition});vt.sort(function(We,nt){return nt.y-We.y});var ft=vt[Math.floor(vt.length/2)],qe=vt.filter(function(We){return We.distanceTo(ft)<=ut})[0];qe&&!qe.equals(fe.position)&&(fe.position.copy(qe),this.needsRender=!0)}this.accessibleObserverFloorCheckCount++}}{var V=(p=this.modelScene.parameter.progress)!==null&&p!==void 0?p:1,mt=Math.round(V),Qe=this.modelScene.parameter.pano0,Oe=this.modelScene.parameter.pano1,ke=mt===0?Qe:Oe,D=void 0;if(ke&&(D=this.works.getResolvedObserver(ke.panoId),D||(D=this.panoPictureObserverMap.get(ke))),this.tiling.appearDuration=this.tileAppearDuration,this.tiling.maxRequest=V<=.6?0:V<1?1:this.tileMaxRequest,this.tiling.imageOptions=this.imageOptions,!D||!ke||this.tileLevelForFov===!1){this.tiling.setObserver(null);var be={renderer:this.renderer,resolution:ge,pixelRatio:1,time:this.camera.time,cameraMatrix:this.xrManager.cameraVR.matrixWorld,cameraProjectionMatrix:this.xrManager.cameraVR.projectionMatrix,panoMap:null,panoMatrix:new THREE__namespace.Matrix4,panoZoom:1,minLevel:0,level:0};this.tiling.update(be),this.modelScene.parameter.set("refinedScreen",null)}else{var lt=getImageSizeLevel(ke.mapSize),St=lt+1,Lt=4;this.tiling.setObserver(D);var be={renderer:this.renderer,resolution:ge,pixelRatio:1,time:this.camera.time,cameraMatrix:this.xrManager.cameraVR.matrixWorld,cameraProjectionMatrix:this.xrManager.cameraVR.projectionMatrix,panoMap:ke.map,panoMatrix:ke.matrix,panoZoom:ke.zoom,minLevel:St,level:Lt},Ot=this.tiling.update(be),Tt={map:this.tiling.renderTarget.texture,matrixInverse:this.tiling.camera.matrixWorldInverse,projectionMatrix:this.tiling.camera.projectionMatrix,pano:mt,opacity:(Qe==null?void 0:Qe.panoId)===(Oe==null?void 0:Oe.panoId)?1:easeInQuart(Math.abs(((d=this.modelScene.parameter.progress)!==null&&d!==void 0?d:0)-.5)*2)},Je=this.modelScene.parameter.refinedScreen;(Ot||Tt.pano!==(Je==null?void 0:Je.pano)||Tt.opacity!==(Je==null?void 0:Je.opacity))&&this.modelScene.parameter.set("refinedScreen",Tt)}}this.panoVideo.object.position.copy(this.camera.position),this.panoVideo.updateTime(e);{var _t=S.effect,At=this.modelScene.parameter,Qe=At.pano0,Oe=At.pano1;if(Qe&&Oe&&Qe!==Oe&&_t==="fly"&&this.flyEffectUseDepthBuffer){if(((f=this.modelScene.parameter.pano0Depth)===null||f===void 0?void 0:f.panoId)!==Qe.panoId||((h=this.modelScene.parameter.pano1Depth)===null||h===void 0?void 0:h.panoId)!==Oe.panoId){var ct=500,pt=512;this.pano0DepthCubeRenderTarget?this.pano0DepthCubeRenderTarget.width!==pt&&this.pano0DepthCubeRenderTarget.setSize(pt,pt):this.pano0DepthCubeRenderTarget=new THREE__namespace.WebGLCubeRenderTarget(pt,{minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,generateMipmaps:!1}),this.pano1DepthCubeRenderTarget?this.pano1DepthCubeRenderTarget.width!==pt&&this.pano1DepthCubeRenderTarget.setSize(pt,pt):this.pano1DepthCubeRenderTarget=new THREE__namespace.WebGLCubeRenderTarget(pt,{minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,generateMipmaps:!1});var rt=new THREE__namespace.CubeCamera(this.camera.near,this.camera.far,this.pano0DepthCubeRenderTarget);rt.matrix.copy(Qe.matrix),rt.matrixWorld.copy(rt.matrix),rt.matrixAutoUpdate=!1,renderDepthCube(this.renderer,this.modelScene,rt,ct);var at=new THREE__namespace.CubeCamera(this.camera.near,this.camera.far,this.pano1DepthCubeRenderTarget);at.matrix.copy(Oe.matrix),at.matrixWorld.copy(at.matrix),at.matrixAutoUpdate=!1,renderDepthCube(this.renderer,this.modelScene,at,ct),this.modelScene.parameter.set({pano0Depth:{panoId:Qe.panoId,map:this.pano0DepthCubeRenderTarget.texture,mapSize:this.pano0DepthCubeRenderTarget.width,maxDepth:ct},pano1Depth:{panoId:Oe.panoId,map:this.pano1DepthCubeRenderTarget.texture,mapSize:this.pano1DepthCubeRenderTarget.width,maxDepth:ct}})}}else this.modelScene.parameter.set({pano0Depth:null,pano1Depth:null}),this.flyEffectUseDepthBuffer||(this.pano0DepthCubeRenderTarget&&(this.pano0DepthCubeRenderTarget.dispose(),this.pano0DepthCubeRenderTarget=void 0),this.pano1DepthCubeRenderTarget&&(this.pano1DepthCubeRenderTarget.dispose(),this.pano1DepthCubeRenderTarget=void 0))}},t.prototype.render=function(){this.renderer.setScissorTest(!1);var e=this.xrManager.cameraVR;this.renderer.render(this.modelScene,e),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,e),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0},t.prototype.onPanGesture=function(){},t.prototype.onTapGesture=function(){},t.prototype.onPinchGesture=function(){},t.prototype.onMouseMove=function(){},t.prototype.onMouseOut=function(){},t.prototype.panoResourceFromLocationMotionKeyframe=function(e){return this.panoResources[e.key]},t.prototype.updateControllerHelper=function(e,r,o){var s=this.xrControllerRay.left,u=this.xrControllerRay.right;if(!(!e||e.length===0)){for(var l={buttons:{X:!1,Y:!1,LeftTrigger:!1,LeftPinch:!1,A:!1,B:!1,RightTrigger:!1,RightPinch:!1}},c=0;c<e.length;c++){var p=e[c].handedness,d=e[c].gamepad;switch(p){case"left":d.axes&&(this.emitHandleEvent(d.axes[2]===-1,"LeftAxesLeft",r),this.emitHandleEvent(d.axes[2]===1,"LeftAxesRight",r),this.emitHandleEvent(d.axes[3]===-1,"LeftAxesUp",r),this.emitHandleEvent(d.axes[3]===1,"LeftAxesDown",r)),d!=null&&d.buttons&&(d.buttons[4]&&this.emitHandleEvent(d.buttons[4].pressed,"X",r),d.buttons[5]&&this.emitHandleEvent(d.buttons[5].pressed,"Y",r),d.buttons[0]&&this.emitHandleEvent(d.buttons[0].pressed,"LeftTrigger",r),d.buttons[1]&&this.emitHandleEvent(d.buttons[1].pressed,"LeftPinch",r));var f={raycaster:s,axes:{up:d.axes&&d.axes[3]<0?Math.abs(d.axes[3]):0,down:d.axes&&d.axes[3]<0?0:Math.abs(d.axes[3]),left:d.axes&&d.axes[2]<0?Math.abs(d.axes[2]):0,right:d.axes&&d.axes[2]<0?0:Math.abs(d.axes[2])},deltaTime:o};l.buttons.X=d.buttons&&d.buttons[4]?d.buttons[4].pressed:!1,l.buttons.Y=d.buttons&&d.buttons[5]?d==null?void 0:d.buttons[5].pressed:!1,l.buttons.LeftTrigger=d.buttons&&d.buttons[0]?d==null?void 0:d.buttons[0].pressed:!1,l.buttons.LeftPinch=d.buttons&&d.buttons[1]?d==null?void 0:d.buttons[1].pressed:!1,l.left=f;break;case"right":d.axes&&(this.emitHandleEvent(d.axes[2]===-1,"RightAxesLeft",r),this.emitHandleEvent(d.axes[2]===1,"RightAxesRight",r),this.emitHandleEvent(d.axes[3]===-1,"RightAxesUp",r),this.emitHandleEvent(d.axes[3]===1,"RightAxesDown",r)),d.buttons&&(d.buttons[4]&&this.emitHandleEvent(d.buttons[4].pressed,"A",r),d.buttons[5]&&this.emitHandleEvent(d.buttons[5].pressed,"B",r),d.buttons[0]&&this.emitHandleEvent(d.buttons[0].pressed,"RightTrigger",r),d.buttons[1]&&this.emitHandleEvent(d.buttons[1].pressed,"RightPinch",r));var h={raycaster:u,axes:{up:d.axes&&d.axes[3]<0?Math.abs(d.axes[3]):0,down:d.axes&&d.axes[3]<0?0:Math.abs(d.axes[3]),left:d.axes&&d.axes[2]<0?Math.abs(d.axes[2]):0,right:d.axes&&d.axes[2]<0?0:Math.abs(d.axes[2])},deltaTime:o};l.right=h,l.buttons.A=d.buttons&&d.buttons[4]?d==null?void 0:d.buttons[4].pressed:!1,l.buttons.B=d.buttons&&d.buttons[5]?d==null?void 0:d.buttons[5].pressed:!1,l.buttons.RightTrigger=d.buttons&&d.buttons[0]?d==null?void 0:d.buttons[0].pressed:!1,l.buttons.RightPinch=d.buttons&&d.buttons[1]?d==null?void 0:d.buttons[1].pressed:!1;break}}this.emit("xr.controller.update",createEvent("xr.controller.update",l))}},t.prototype.emitHandleEvent=function(e,r,o){var s=this.xrControllerRay.left,u=this.xrControllerRay.right;if(e)if(this.xrHandleState[r].touchStart===!1)this.xrHandleState[r].touchStartTime=o,this.xrHandleState[r].touchStart=!0,this.emit("xr.gesture.buttonDown",createEvent("xr.gesture.buttonDown",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!1,isFirst:!0,controllers:{raycaster:{leftRay:s,rightRay:u}}}));else{var l=o-this.xrHandleState[r].touchStartTime;l>CONTROLLER_EVNET_DELTA_TIME&&this.emit("xr.gesture.press",createEvent("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!0,controllers:{raycaster:{leftRay:s,rightRay:u}}}))}else if(this.xrHandleState[r].touchStart===!0){this.emit("xr.gesture.buttonUp",createEvent("xr.gesture.buttonUp",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:s,rightRay:u}}}));var l=o-this.xrHandleState[r].touchStartTime;if(l<=CONTROLLER_EVNET_DELTA_TIME){var c=createEvent("xr.gesture.tap",{session:this.xrManager.session,machineType:this.xrManager.machineType,buttons:r,isFinal:!0,isFirst:!1,controllers:{raycaster:{leftRay:s,rightRay:u}}}),p=this.emit("xr.gesture.tap",c);!p&&!c.defaultPrevented&&r==="RightTrigger"&&this.checkSelectedPano(this.xrControllerRay.right)}this.xrHandleState[r].touchStart=!1,this.xrHandleState[r].touchStartTime=0}},t.prototype.initHandEvent=function(){var e=this;if(!this.xrManager.session)throw new Error("初始化失败");this.xrManager.session.addEventListener("select",function(r){e.gazeRay&&e.checkSelectedPano(e.gazeRay)})},t}(PanoramaController),Controllers={Floorplan:FloorplanController,Topview:TopviewController,Panorama:PanoramaController,VRPanorama:VRPanoramaController,Model:ModelController,Mapview:MapviewController,XRPanorama:XRPanoramaController},controllersDefaultInitArgs={Floorplan:defaultFloorplanControllerCustomInitArgs,Topview:defaultTopviewControllerCustomInitArgs,Panorama:defaultPanoramaControllerCustomInitArgs,VRPanorama:defaultVRPanoramaControllerCustomInitArgs,Model:defaultModelControllerCustomInitArgs,Mapview:defaultMapviewControllerCustomInitArgs,XRPanorama:defaultXRPanoramaControllerInitArgs},PROXY_CONTROLLER_EVENT_NAMES=["gesture.pan","gesture.tap","gesture.dbltap","gesture.press","gesture.pinch","gesture.mousewheel","gesture.mousemove","gesture.momentum","initAnimation.start","initAnimation.end","camera.update","intersect.update","pano.select","pano.moveTo","pano.moving","pano.arrived","pano.cancel","pano.error","pano.texture.load","pano.texture.progress","pano.texture.success","pano.texture.error","pano.texture.abort","xr.session.start","xr.session.end","xr.gesture.tap","xr.gesture.press","xr.gesture.buttonUp","xr.gesture.buttonDown","xr.controller.update"];function initLegacyEvent(n){n.on("initAnimation.start",function(t){n.emit("initAnimationWillStart",t.state.panoIndex,t.state,t.userAction)}),n.on("initAnimation.end",function(t){n.emit("initAnimationEnded",t.state.panoIndex,t.state,t.userAction)}),n.on("gesture.pan",function(t){var e=!1;e=n.emit("wantsGesture","pan",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPanGesture",t.state,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","pan",t.pointers,t.isFinal),n.emit("panGesture",t.state,t.isFinal))}),n.on("gesture.tap",function(t){var e=!1;e=n.emit("wantsGesture","tap",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsTapGesture",t.center.raycaster,t.center.coords,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","tap",t.pointers,t.isFinal),n.emit("tapGesture",t.center.raycaster,t.center.coords,t.isFinal))}),n.on("gesture.dbltap",function(t){var e=!1;e=n.emit("wantsGesture","dbltap",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsDblTapGesture",t.center.raycaster,t.center.coords,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","dbltap",t.pointers,t.isFinal),n.emit("dblTapGesture",t.center.raycaster,t.center.coords,t.isFinal))}),n.on("gesture.press",function(t){var e=!1;e=n.emit("wantsGesture","press",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPressGesture",t.center.raycaster,t.center.coords,t.center.delta,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","press",t.pointers,t.isFinal),n.emit("pressGesture",t.center.raycaster,t.center.coords,t.center.delta,t.isFinal))}),n.on("gesture.pinch",function(t){var e=!1;e=n.emit("wantsGesture","pinch",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsPinchGesture",t.scale,t.state.fov,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","pinch",t.pointers,t.isFinal),n.emit("pinchGesture",t.scale,t.state.fov,t.isFinal))}),n.on("gesture.mousewheel",function(t){var e=!1;e=n.emit("wantsGesture","mouseWheel",t.pointers,t.isFinal),e&&t.preventDefault(),e=n.emit("wantsMouseWheel",t.center.delta,t.state.fov,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","mouseWheel",t.pointers,t.isFinal),n.emit("mouseWheel",t.center.delta,t.state.fov,t.isFinal))}),n.on("gesture.mousemove",function(t){var e=!1;e=n.emit("wantsGesture","mouseMove",t.pointers,t.isFinal),e&&t.preventDefault(),t.defaultPrevented||(n.emit("gesture","mouseMove",t.pointers,t.isFinal),e=n.emit("wantsChangeCameraFov",t.state.fov),e&&t.preventDefault())}),n.on("gesture.momentum",function(t){var e=!1;e=n.emit("wantsInteriaPan",t.state),e&&t.preventDefault(),t.defaultPrevented||n.emit("interiaPan",t.state,t.isFinal)}),n.on("camera.update",function(t){n.emit("cameraFovUpdate",t.state.fov,t.userAction),n.emit("cameraDirectionUpdate",t.state,t.userAction);var e=coordinatesToVector(t.state);e.setLength(t.state.distance);var r=t.state.offset.clone().sub(e);n.emit("cameraPositionUpdate",r,t.userAction),n.emit("cameraUpdate",t.state,t.userAction)}),n.on("intersect.update",function(t){if(t.intersection){var e=!1;e=n.emit("wantsShowIntersectionOnModel",t.raycaster),e&&t.preventDefault(),t.defaultPrevented||n.emit("intersectionOnModelUpdate",t.intersection,t.object)}else n.emit("intersectionHidden")}),n.on("pano.request",function(t){var e=n.emit("wantsMoveToPano",t.state.panoIndex,t.options,t.userAction);e||(e=n.emit("wantsToMoveToPano",t.state.panoIndex,t.options,t.userAction)),e&&t.preventDefault(),t.defaultPrevented||n.emit("panoWillLoad",t.state.panoIndex)}),n.on("pano.select",function(t){n.emit("panoSelected",t.state.panoIndex)}),n.on("pano.moveTo",function(t){n.emit("panoLoaded",t.state.panoIndex),n.emit("moveToPano",t.state.panoIndex,t.userAction),n.emit("panoWillArrive",t.state.panoIndex,t.state,t.userAction)}),n.on("pano.moving",function(t){n.emit("movingToPano",t.state.panoIndex,t.prevPano.panoIndex,t.progress)}),n.on("pano.arrived",function(t){n.emit("panoArrived",t.state.panoIndex,t.state,t.userAction)}),n.on("pano.cancel",function(t){n.emit("moveToPanoCanceled",t.state.panoIndex)}),n.on("pano.error",function(t){n.emit("panoLoadError",t.error,t.state.panoIndex)}),n.on("pano.texture.load",function(t){n.emit("textureStartLoad",t.pano.panoIndex)}),n.on("pano.texture.success",function(t){n.emit("textureLoaded",t.pano.panoIndex,t.meta)}),n.on("pano.texture.error",function(t){n.emit("textureError",t.error,t.pano.panoIndex)}),n.on("pano.texture.abort",function(t){n.emit("textureAbort",t.pano.panoIndex)}),n.on("pano.texture.progress",function(t){n.emit("textureLoading",t.progress,t.pano.panoIndex)}),n.on("xr.session.start",function(t){n.emit("webXRSessionStart")}),n.on("xr.session.end",function(t){n.emit("webXRSessionEnd")}),n.on("xr.gesture.tap",function(t){n.emit("webXRControllerEvent","tap",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.press",function(t){n.emit("webXRControllerEvent","press",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.buttonUp",function(t){n.emit("webXRControllerEvent","buttonUp",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.gesture.buttonDown",function(t){n.emit("webXRControllerEvent","buttonDown",t.buttons,{raycaster:t.controllers.raycaster})}),n.on("xr.controller.update",function(t){n.emit("webXRControllerRayUpdate",{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0}),t.left&&n.emit("webXRAxesUpdate","left",{raycaster:{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0},axesState:{up:t.left.axes.up,down:t.left.axes.down,left:t.left.axes.left,right:t.left.axes.right},deltaTime:t.left.deltaTime}),t.right&&n.emit("webXRAxesUpdate","right",{raycaster:{leftRay:t.left?t.left.raycaster:void 0,rightRay:t.right?t.right.raycaster:void 0},axesState:{up:t.right.axes.up,down:t.right.axes.down,left:t.right.axes.left,right:t.right.axes.right},deltaTime:t.right.deltaTime})}),n.on("works.request",function(t){n.emit("willLoad",t.input,t.works[0],t.state)}),n.on("works.load",function(t){n.emit("load",t.input,t.works[0],t.state)}),n.on("works.ready",function(t){n.emit("loaded",t.input,t.works[0])}),n.on("state.change",function(t){n.emit("stateChange",t.state,t.userAction)}),n.on("currentState.change",function(t){n.emit("currentStateChange",t.state,t.userAction)}),n.on("state.set",function(t){n.emit("setState",t.state)}),n.on("state.synced",function(t){n.emit("stateSynced",t.state)}),n.on("model.request",function(t){n.emit("modelWillLoad",t.work.model)}),n.on("model.error",function(t){n.emit("modelLoadError",t.error,t.model)}),n.on("model.load",function(t){n.emit("modelLoaded",t.model)}),n.on("model.changeShownFloor",function(t){n.emit("modelShownFloorChange",t.model.shownFloor,t.model.floorLength)}),n.on("render",function(t){n.emit("renderFrame",t.needsRender)}),n.on("mode.change.request",function(t){n.emit("wantsChangeMode",t.mode,t.prevMode)}),n.on("mode.change",function(t){n.emit("modeChange",t.mode,t.prevMode,t.state.panoIndex,t.state,t.userAction)}),n.on("helpers.visible",function(t){n.emit("helpersVisibleChange",t.object.visible)}),n.on("network.resource",function(t){n.emit("network",t.source,t.requestType,t.requestState,t.detail)})}function generateDefaultVideoElement(){if(typeof window!="undefined"){var n=document.createElement("video");n.loop=!0,n.autoplay=!0,n.playsInline=!0,n.muted=!0,n.crossOrigin="";var t=function(){document.removeEventListener("touchstart",t,!1),document.removeEventListener("mousedown",t,!1),n.muted=!1};return document.addEventListener("touchstart",t,!1),document.addEventListener("mousedown",t,!1),n}else return{}}function initLights(){var n=new THREE__namespace.Group;n.name="internalLights";{var t=new THREE__namespace.DirectionalLight(16777215,.1);t.name="direction0",t.position.copy(new THREE__namespace.Vector3(0,1,0)),n.add(t)}{var t=new THREE__namespace.DirectionalLight(16777215,.1);t.name="direction1",t.position.copy(new THREE__namespace.Vector3(-1,-1,-1)),n.add(t)}{var t=new THREE__namespace.DirectionalLight(16777215,.3);t.name="direction2",t.position.copy(new THREE__namespace.Vector3(1,1,1)),n.add(t)}{var t=new THREE__namespace.AmbientLight(16777215,.6);t.name="ambient0",n.add(t)}return n}function parseKeyValue(n){for(var t,e,r={},o=n.split(/(\;|\,)/),s=0,u=o;s<u.length;s++){var l=u[s],c=l.split("="),p=(t=c[0])===null||t===void 0?void 0:t.trim(),d=(e=c[1])===null||e===void 0?void 0:e.trim();p&&d&&(r[p]=d)}return r}function getViewportScale(){var n;if(typeof document!="undefined")for(var t=document.getElementsByTagName("meta"),e=0;e<t.length;e++){var r=t[e];if(r.getAttribute("name")==="viewport"){var o=parseKeyValue((n=r.getAttribute("content"))!==null&&n!==void 0?n:""),s=Number(o["initial-scale"]);if(!isNaN(s))return s}}return 1}const textureURL="data:image/png;base64,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";var imageSize=[351,63],imageOffset=[20,20],vertices=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),uvs=new Float32Array([0,0,1,0,0,1,1,1]),index=new Uint8Array([0,1,2,1,3,2]),geometry$4=new THREE__namespace.BufferGeometry;geometry$4.setAttribute("position",new THREE__namespace.BufferAttribute(vertices,3));geometry$4.setAttribute("uv",new THREE__namespace.BufferAttribute(uvs,2));geometry$4.setIndex(new THREE__namespace.BufferAttribute(index,1));var material=new THREE__namespace.MeshBasicMaterial({transparent:!0,depthTest:!1,depthWrite:!1,stencilWrite:!1,fog:!1}),mesh$4=new THREE__namespace.Mesh(geometry$4,material);mesh$4.matrixAutoUpdate=!1;var scene$2=new THREE__namespace.Scene;scene$2.add(mesh$4);scene$2.matrixAutoUpdate=!1;var camera$2=new THREE__namespace.OrthographicCamera(-.5,.5,.5,-.5,.1,1);camera$2.position.set(0,0,.5);camera$2.lookAt(0,0,0);camera$2.updateMatrixWorld(!0);camera$2.matrixAutoUpdate=!1;var prevViewport=new THREE__namespace.Vector4,prevScissor=new THREE__namespace.Vector4;function renderPoweredByRealsee(n){if(material.map){var r=n.getViewport(prevViewport),o=n.getScissor(prevScissor),s=n.getScissorTest(),u=n.autoClear,l=o.x+imageOffset[0]/3,c=o.y+imageOffset[1]/3,p=imageSize[0]/3,d=imageSize[1]/3;n.setViewport(l,c,p,d),n.setScissor(l,c,p,d),n.setScissorTest(!0),n.autoClear=!1,n.render(scene$2,camera$2),n.setViewport(r),n.setScissor(o),n.setScissorTest(s),n.autoClear=u}else{var t=new THREE__namespace.Texture,e=new Image;e.onload=function(){t.image=e,t.wrapS=THREE__namespace.ClampToEdgeWrapping,t.wrapT=THREE__namespace.ClampToEdgeWrapping,t.minFilter=THREE__namespace.LinearFilter,t.needsUpdate=!0,t.generateMipmaps=!1,material.needsUpdate=!0,e.onload=noop$1},e.src=textureURL,material.map=t}}var FRAGMENT$2=`
|
|
2132
2132
|
precision mediump float;
|
|
2133
2133
|
precision mediump int;
|
|
2134
2134
|
uniform sampler2D depthBuffer;
|
|
@@ -2244,4 +2244,4 @@ void main() {
|
|
|
2244
2244
|
rgb = clamp(lumCompressed * rgb, 0.0, 1.0);
|
|
2245
2245
|
gl_FragColor = mix(inputColor, vec4(rgb, alpha), progress * 0.9);
|
|
2246
2246
|
}
|
|
2247
|
-
`})||this;return r.material.transparent=!0,r}return Object.defineProperty(t.prototype,"luminanceAdaptiveBuffer",{get:function(){return this.material.uniforms.luminanceAdaptiveBuffer.value},set:function(e){this.material.uniforms.luminanceAdaptiveBuffer.value=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"progress",{get:function(){return this.material.uniforms.progress.value},set:function(e){this.material.uniforms.progress.value=e},enumerable:!1,configurable:!0}),t}(Pass),LuminanceAdaptiveEffect=function(n){__extends(t,n);function t(e,r,o,s){var u=n.call(this,e,r,o,s)||this;return u.enableTime=now(),u.renderer=e,u.valuePass=new ValuePass(u.renderer),u.luminancePass=new LuminancePass(u.renderer,Math.sqrt(1/3)),u.nextStepPass=new NextStepPass(u.renderer,.01),u.luminanceAdaptivePass=new LuminanceAdaptivePass(u.renderer),u}return t.prototype.render=function(e){this.renderer.setRenderTarget(e[0]),this.renderer.render(this.scene,this.camera),this.enableTime===null&&(this.enableTime=now()),this.luminanceTargetBuffer||(this.luminanceTargetBuffer=new THREE__namespace.WebGLRenderTarget(128,128,{minFilter:THREE__namespace.LinearMipmapLinearFilter,magFilter:THREE__namespace.LinearFilter,encoding:this.renderer.outputEncoding,stencilBuffer:!1,depthBuffer:!1,format:THREE__namespace.RGBAFormat,generateMipmaps:!0}),this.nextStepPass.targetBuffer=this.luminanceTargetBuffer.texture),this.luminancePass.render(e[0],this.luminanceTargetBuffer),this.luminancePrevBuffer||(this.luminancePrevBuffer=new THREE__namespace.WebGLRenderTarget(1,1,{minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,type:THREE__namespace.HalfFloatType,encoding:this.renderer.outputEncoding,stencilBuffer:!1,depthBuffer:!1}),this.valuePass.render(new THREE__namespace.Vector3(.5,.5,.5),this.luminancePrevBuffer)),this.luminanceNextBuffer||(this.luminanceNextBuffer=new THREE__namespace.WebGLRenderTarget(1,1,{minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,type:THREE__namespace.HalfFloatType,encoding:this.renderer.outputEncoding,stencilBuffer:!1,depthBuffer:!1}),this.valuePass.render(new THREE__namespace.Vector3(.5,.5,.5),this.luminanceNextBuffer),this.luminanceAdaptivePass.luminanceAdaptiveBuffer=this.luminanceNextBuffer.texture),this.copyPass.render(this.luminanceNextBuffer,this.luminancePrevBuffer),this.nextStepPass.render(this.luminancePrevBuffer,this.luminanceNextBuffer),this.luminanceAdaptivePass.progress=Math.min((now()-this.enableTime)/100,1),this.luminanceAdaptivePass.render(e[0],e[1])},t.prototype.dispose=function(){var e,r,o;(e=this.luminanceTargetBuffer)===null||e===void 0||e.dispose(),(r=this.luminancePrevBuffer)===null||r===void 0||r.dispose(),(o=this.luminanceNextBuffer)===null||o===void 0||o.dispose(),this.copyPass.dispose(),this.luminancePass.dispose(),this.nextStepPass.dispose(),this.luminanceAdaptivePass.dispose()},t}(Effect),sharedV2=new THREE__namespace.Vector2,LuminanceRenderer=function(n){__extends(t,n);function t(e){var r,o,s=n.call(this,e)||this;s.type="default",s.luminanceAdaptiveEffect=new LuminanceAdaptiveEffect(s.renderer,s.modelScene,s.camera,s.modelScene);var u=s.renderer.getDrawingBufferSize(sharedV2);return s.screenBuffers=[new THREE__namespace.WebGLRenderTarget(u.x,u.y,{generateMipmaps:!1,encoding:(o=(r=s.renderer)===null||r===void 0?void 0:r.outputEncoding)!==null&&o!==void 0?o:THREE__namespace.sRGBEncoding}),s.enableFragDepth?s.modelRenderTarget:null],s}return t.prototype.render=function(e){var r=this.renderer.getRenderTarget();this.enableFragDepth?(e&&(this.luminanceAdaptiveEffect.enable=!0,this.luminanceAdaptiveEffect.render(this.screenBuffers)),this.depthCopyPass.render(this.modelRenderTarget.depthTexture,r),this.renderer.autoClearDepth=!1,this.renderer.autoClearColor=!0,this.copyPass.render(this.modelRenderTarget,r),this.renderer.setRenderTarget(r),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,this.camera),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0):(this.luminanceAdaptiveEffect.enable=!0,this.luminanceAdaptiveEffect.render(this.screenBuffers),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,this.camera),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0),this.modelScene.needsRender=!0},t}(BaseRenderer),DEFAULT_MODE_CHANGE_DURATION=800,DEFAULT_CAMERA_FOV=90,DEFAULT_REQUEST_PROXY=function(n){return n.replace("//vrlab-public.ljcdn.com/","//vr-public.realsee-cdn.cn/").replace("//vrlab-image4.ljcdn.com/","//vr-image-4.realsee-cdn.cn/").replace("//vrlab-image3.ljcdn.com/","//vr-image-3.realsee-cdn.cn/").replace("//vrlab-image2.ljcdn.com/","//vr-image-2.realsee-cdn.cn/").replace("//vrlab-image1.ljcdn.com/","//vr-image-1.realsee-cdn.cn/")},scratchSphere=new THREE__namespace.Sphere,scratchViewport=new THREE__namespace.Vector4,scratchScissor=new THREE__namespace.Vector4,scratchClearColor=new THREE__namespace.Color,scratchRenderSize=new THREE__namespace.Vector2,worksMap=new WeakMap,emptyWorks=createWorks([parseWork(null)]),Five=function(n){__extends(t,n);function t(e){e===void 0&&(e={});var r,o,s,u,l,c,p,d,f,h,g,A,m=n.call(this)||this;if(m.ident=createUuid(),typeof window!="undefined"&&(__FIVE_DEBUG__.instances[m.ident]=m),m.renderSwitch01=0,m.currentUpdateArgs={time:now(),args:[]},m.currentMode="Panorama",m.pano={workCode:"",panoIndex:0},m.needsRender=!1,m.modelSceneNeedsRender=!1,m.onlyRenderIfNeeds=(r=e.onlyRenderIfNeeds)!==null&&r!==void 0?r:!0,m.imageOptions=__assign({},(o=e.imageOptions)!==null&&o!==void 0?o:{}),m.textureOptions=__assign({},(s=e.textureOptions)!==null&&s!==void 0?s:{}),m.poweredByRealsee=(u=e.poweredByRealsee)!==null&&u!==void 0?u:!0,m.backgroundColor=new THREE__namespace.Color((l=e.backgroundColor)!==null&&l!==void 0?l:1579548),m.backgroundAlpha=(c=e.backgroundAlpha)!==null&&c!==void 0?c:1,m.extraElements=[],m.controllerInits={Panorama:Object.assign({},e.panorama),Model:Object.assign({},e.model),Floorplan:Object.assign({},e.floorplan),Topview:Object.assign({},e.topview),Mapview:Object.assign({},e.mapview),VRPanorama:Object.assign({},e.vrPanorama),XRPanorama:Object.assign({},e.xrPanorama)},m.fps={testCount:0,testTime:now()},m.modeChangeDuration=(p=e.modeChangeDuration)!==null&&p!==void 0?p:DEFAULT_MODE_CHANGE_DURATION,m.enableWheel=(d=e.enableWheel)!==null&&d!==void 0?d:!0,typeof window!="undefined")if("renderer"in e)e.renderer instanceof InternalWebGLRenderer&&m.throwError(new Error("cannot render a internal renderer")),m.renderer=e.renderer;else try{m.renderer=new InternalWebGLRenderer({preserveDrawingBuffer:e.preserveDrawingBuffer,antialias:e.antialias,webgl2:e.webgl2,logarithmicDepthBuffer:e.logarithmicDepthBuffer,precision:e.precision,powerPreference:e.powerPreference});var E=getViewportScale();m.renderer.setPixelRatio(E===1?window.devicePixelRatio:1),m.renderer.setSize(512,512),m.renderer.setClearColor(m.backgroundColor,m.backgroundAlpha)}catch(P){P instanceof Error&&m.throwError(P)}m.getPixelsRenderTarget=new THREE__namespace.WebGLRenderTarget(1,1,{encoding:(h=(f=m.renderer)===null||f===void 0?void 0:f.outputEncoding)!==null&&h!==void 0?h:THREE__namespace.sRGBEncoding,generateMipmaps:!1}),m.viewport=Object.assign({left:0,bottom:0,width:1,height:1},e.viewport),m.camera=new Camera(DEFAULT_CAMERA_FOV),m.scene=new Scene,m.xrCustomObjectsScene=new THREE__namespace.Scene,m.scene.add(m.xrCustomObjectsScene),m.scene.matrixAutoUpdate=!1,m.loadWorkTask=Promise.resolve(),m.requestProxy=(g=e.requestProxy)!==null&&g!==void 0?g:DEFAULT_REQUEST_PROXY,m.networkSubscribe=new NetworkSubscribe,m.networkSubscribe.on("network",function(P,O,L,N){var V;m.emit("network.resource",createEvent("network.resource",{source:P,requestType:O,requestState:L,detail:N})),(V=m.analysis)===null||V===void 0||V.network(m.works,P,O,L,N)}),m.boundingMesh=new BoundingMesh$1,m.boundingMesh.name="bounding",m.readyCallbacks=[],m.syncingState=!1,m.helperGroup=new THREE__namespace.Group,m.helperGroup.name="helper",m.helperGroup.matrixAutoUpdate=!1,m.scene.add(m.helperGroup);var v=new Model(emptyWorks[0]);worksMap.set(m,emptyWorks),m.modelScene=new ModelScene,m.modelScene.add(v),m.modelScene.add(m.boundingMesh),defineProperty(v,"loaded",{get:function(){return!1},set:function(P){}}),m.videoTexture=new THREE__namespace.VideoTexture(e.videoInstance||generateDefaultVideoElement());var y=initLights();m.scene.add(y);var b=new THREE__namespace.Group;defineProperty(b,"children",{get:function(){return y.children},set:function(P){y.children=P}}),defineProperty(b,"visible",{get:function(){return y.visible},set:function(P){y.visible=P}}),defineProperty(b,"name",{get:function(){return y.name},set:function(P){y.name=P}}),m.modelScene.add(b),m.state={mode:m.currentMode,workCode:m.pano.workCode,panoIndex:m.pano.panoIndex,longitude:m.camera.pose.longitude,latitude:m.camera.pose.latitude,fov:m.camera.pose.fov,offset:m.camera.pose.offset.clone(),distance:m.camera.pose.distance},m.stateSynced=!1,m.destroyed=!1,m.paused=!0,typeof window!="undefined"&&(e.play!==!1&&m.play(),m.stopAnimationLoop=AnimationFrameLoop.shared.add(function(P,O){for(var L=[],N=2;N<arguments.length;N++)L[N-2]=arguments[N];m.updateTime.apply(m,__spreadArray([P,O],L,!1))},!1,0,10));var T=function(){typeof document!="undefined"&&document.fullscreenElement===null&&m.currentMode==="VRPanorama"&&m.controller.emit("vr.requestExit",createEvent("vr.requestExit",{}))},_=function(){m.needsRender=!0,m.modelSceneNeedsRender=!0};if(typeof document!="undefined"&&document.addEventListener("fullscreenchange",T,!1),m.renderer&&m.renderer.domElement.addEventListener("webglcontextrestored",_,!1),m.removeEventListeners=function(){typeof document!="undefined"&&document.removeEventListener("fullscreenchange",T,!1),m.renderer&&m.renderer.domElement.removeEventListener("webglcontextrestored",_,!1)},m.plugins={},e.plugins&&e.plugins.length)for(var S=0,R=e.plugins;S<R.length;S++){var C=R[S];if(typeof C=="function")C(m);else if(Array.isArray(C)){var H=C[0],B=C[1],M=C[2];if(typeof H=="function"){var w=H(m,M);typeof B=="string"&&(m.plugins[B]?m.throwError(new Error("plugin name ".concat(B," is exists."))):m.plugins[B]=w)}}}return m.meshReplaceMaterialMap=new Map,m.meshOriginMaterialMap=new Map,initLegacyEvent(m),m.enableLayeringRendering=(A=e.enableLayeringRendering)!==null&&A!==void 0?A:!1,m._buildInRendererType="default",m._builtinRenderer=null,m}return Object.defineProperty(t,"version",{get:function(){return"6.5.13"},enumerable:!1,configurable:!0}),Object.defineProperty(t,"dracoPath",{get:function(){return draco.decoderPath},set:function(e){draco.setDecoderPath(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t,"ktx2Path",{get:function(){return ktx2.transcoderPath},set:function(e){ktx2.setTranscoderPath(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"panoIndex",{get:function(){return this.pano.panoIndex},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){var e,r;if(this.destroyed!==!0){delete __FIVE_DEBUG__.instances[this.ident],this.emit("dispose"),this.destroyed=!0,this.pause(),this.stopAnimationLoop&&(this.stopAnimationLoop(),delete this.stopAnimationLoop),(e=this.renderer)===null||e===void 0||e.setAnimationLoop(null),this.off(),this.networkSubscribe.off(),this.controller&&(this.controller.destroy(),this.controller=void 0);var o=this.getElement();o&&o.parentNode&&o.parentNode.removeChild(o);var s=this.modelScene.parameter;s.pano0&&s.pano0.map.dispose(),s.pano1&&s.pano1.map!==((r=s.pano0)===null||r===void 0?void 0:r.map)&&s.pano1.map.dispose(),s.reset("pano0","pano1");for(var u=0,l=this.modelScene.children;u<l.length;u++){var c=l[u];c.dispose&&c.dispose(),this.modelScene.remove(c)}this.meshReplaceMaterialMap.forEach(function(p){p.dispose()}),this.meshOriginMaterialMap.forEach(function(p){p.dispose()}),this.renderer instanceof InternalWebGLRenderer&&this.renderer.forceContextLoss&&this.renderer.forceContextLoss()}},t.prototype.setViewport=function(e){Object.assign(this.viewport,e),this.needsRender=!0,this.modelSceneNeedsRender=!0},Object.defineProperty(t.prototype,"helperVisible",{get:function(){return this.helperGroup.visible},set:function(e){this.helperGroup.visible!==e&&(this.helperGroup.visible=e,this.emit("helpers.visible",createEvent("helpers.visible",{object:this.helperGroup})),this.needsRender=!0)},enumerable:!1,configurable:!0}),t.prototype.getBuiltinRenderer=function(e){var r=this._builtinRenderer;if((r==null?void 0:r.type)!==this._buildInRendererType)switch(r&&r.dispose(),this._buildInRendererType){case"default":this._builtinRenderer=new DefaultRenderer({renderer:e,camera:this.camera,scene:this.scene,modelScene:this.modelScene,enableLayeringRendering:this.enableLayeringRendering});break;case"edl":this._builtinRenderer=new EDLRenderer({renderer:e,camera:this.camera,scene:this.scene,modelScene:this.modelScene,enableLayeringRendering:this.enableLayeringRendering});break;case"hq":this._builtinRenderer=new HQRenderer({renderer:e,camera:this.camera,scene:this.scene,modelScene:this.modelScene,enableLayeringRendering:this.enableLayeringRendering});break;case"luminance":this._builtinRenderer=new LuminanceRenderer({renderer:e,camera:this.camera,scene:this.scene,modelScene:this.modelScene,enableLayeringRendering:this.enableLayeringRendering});break}return this._builtinRenderer},Object.defineProperty(t.prototype,"renderEffect",{get:function(){return this._buildInRendererType},set:function(e){this._buildInRendererType=e,this.modelSceneNeedsRender=!0},enumerable:!1,configurable:!0}),t.prototype.updateConfiguration=function(e,r){r===void 0&&(r=!0);var o=!1;if(e.panorama&&(Object.assign(this.controllerInits.Panorama,omitUndefinedFields(e.panorama)),this.currentMode==="Panorama"&&(o=!0)),e.model&&(Object.assign(this.controllerInits.Model,omitUndefinedFields(e.model)),this.currentMode==="Model"&&(o=!0)),e.floorplan&&(Object.assign(this.controllerInits.Floorplan,omitUndefinedFields(e.floorplan)),this.currentMode==="Floorplan"&&(o=!0)),e.topview&&(Object.assign(this.controllerInits.Topview,omitUndefinedFields(e.topview)),this.currentMode==="Topview"&&(o=!0)),e.mapview&&(Object.assign(this.controllerInits.Mapview,omitUndefinedFields(e.mapview)),this.currentMode==="Mapview"&&(o=!0)),e.vrPanorama&&(Object.assign(this.controllerInits.VRPanorama,omitUndefinedFields(e.vrPanorama)),this.currentMode==="VRPanorama"&&(o=!0)),e.imageOptions&&(Object.assign(this.imageOptions,e.imageOptions),(this.currentMode==="Panorama"||this.currentMode==="VRPanorama")&&(o=!0)),e.textureOptions&&Object.assign(this.textureOptions,e.textureOptions),r&&o&&this.controller&&this.currentMode){var s=this.controller.updateConfiguration(this.controllerInits[this.currentMode]);s||this.changeMode(this.currentMode,this.getCurrentState(),0,!1,!0)}},t.prototype.appendTo=function(e,r){if(r===void 0&&(r={}),!!this.renderer){if(!(this.renderer instanceof InternalWebGLRenderer)){this.throwError(new Error("cannot call appendTo method when render a external renderer"));return}var o=this.getElement();if(o){e.appendChild(o),this.refresh(r);var s=window.getComputedStyle(e).position;s!=="relative"&&s!=="absolute"&&s!=="fixed"&&s!=="sticky"&&(e.style.position="relative")}}},t.prototype.refresh=function(e,r){var o,s;if(e===void 0&&(e={}),!!this.renderer){var u=this.renderer.domElement,l=u.parentNode,c=e.width,p=c===void 0?(o=l==null?void 0:l.offsetWidth)!==null&&o!==void 0?o:512:c,d=e.height,f=d===void 0?(s=l==null?void 0:l.offsetHeight)!==null&&s!==void 0?s:512:d;r=r!=null?r:this.renderer.getPixelRatio();var h=this.renderer.capabilities.maxTextureSize,g=Math.max(p,f)*r;g>h&&(r=r/g*h,r=Math.floor(r*100)/100),this.renderer.setPixelRatio(r),this.renderer.setSize(p,f),this.needsRender=!0,this.modelSceneNeedsRender=!0;var A=now(),m=A-this.currentUpdateArgs.time,E=this.currentUpdateArgs.args;this.updateTime(A,m,E)}},t.prototype.addExtraElement=function(e){var r=this;return this.extraElements.indexOf(e)===-1&&(this.extraElements.push(e),this.controller&&this.controller.bindExtraElement(e)),function(){return r.removeExtraElement(e)}},t.prototype.removeExtraElement=function(e){var r=this.extraElements.indexOf(e);r!==-1&&(this.extraElements.splice(r,1),this.controller&&this.controller.unbindExtraElement(e))},t.prototype.getSize=function(e){if(!this.renderer)throw new Error("renderer is not initialized");return this.renderer.getSize(e),e.x*=this.viewport.width,e.y*=this.viewport.height,e},t.prototype.getDrawingBufferSize=function(e){if(!this.renderer)throw new Error("renderer is not initialized");return this.renderer.getDrawingBufferSize(e),e.x*=this.viewport.width,e.y*=this.viewport.height,e},t.prototype.updateCamera=function(e,r,o){if(o===void 0&&(o=!0),!this.controller)throw new Error("controller is not initialized.");return this.controller.updateCamera(e,r,o)},t.prototype.updateCameraWithKeyframes=function(e,r,o){if(o===void 0&&(o=!0),!this.controller)throw new Error("controller is not initialized.");return this.controller.updateCameraWithKeyframes(e,r,o)},Object.defineProperty(t.prototype,"works",{get:function(){var e=worksMap.get(this);if(!e)return emptyWorks;for(var r=0,o=e;r<o.length;r++){var s=o[r];if(!workRawMapping.has(s))return emptyWorks}return e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"work",{get:function(){return this.works[0]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"models",{get:function(){return this.modelScene.models},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"model",{get:function(){return this.modelScene.models[0]},enumerable:!1,configurable:!0}),t.prototype.load=function(e,r,o,s){var u=this;if(s===void 0&&(s=!0),!this.renderer)throw new Error("renderer is not initialized");var l=this.loadWorkTask.then(function(){return isPromise(e)?e.then(function(c){return u.load_(c,r,o,s)}):u.load_(e,r,o,s)});return this.loadWorkTask=l.catch(function(c){u.throwError(c)}),l},t.prototype.load_=function(e,r,o,s){var u=this,l,c,p,d,f,h,g,A;s===void 0&&(s=!0);var m={};typeof o=="number"?m.duration=o:typeof o=="object"&&Object.assign(m,o),this.works===emptyWorks&&(m.duration===void 0&&(m.duration=0),m.effect===void 0&&(m.effect="instant"));var E=[];if(Array.isArray(e))for(var v=0,y=e;v<y.length;v++){var b=y[v];typeof b!="string"&&"work"in b?E.push(parseWork(b.work,b)):E.push(parseWork(b))}else E.push(parseWork(e));for(var T=createWorks(E),_=function(Y){var ee=S,ae=new Fetcher({allowHosts:Y.allowHosts,get requestProxy(){return ee.requestProxy},get networkSubscribe(){return ee.networkSubscribe}});registerFetcher(Y,ae)},S=this,R=0,C=T;R<C.length;R++){var H=C[R];_(H)}r===void 0&&(r="inherit"),r==="inherit"&&this.works===emptyWorks&&(r="initial");var B=T.initial,M=B.work.observers[0],w=M?{workCode:M.work.workCode,panoIndex:M.panoIndex}:{workCode:B.work.workCode,panoIndex:0},P=(l=B.mode)!==null&&l!==void 0?l:M?"Panorama":"Mapview",O={};if(r==="inherit"){P=this.currentMode;var L=T.resolvedObservers[this.panoIndex];L?w={workCode:L.work.workCode,panoIndex:L.panoIndex}:typeof T.initial.panoIndex=="number"?w={workCode:T.initial.work.workCode,panoIndex:T.initial.panoIndex}:(P==="Panorama"||P==="VRPanorama"||P==="XRPanorama")&&(P="Mapview"),O={longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,distance:void 0,offset:void 0}}else if(r==="initial")typeof B.panoIndex=="number"&&(w={workCode:B.work.workCode,panoIndex:B.panoIndex}),B.mode&&(P=B.mode),O={longitude:B.longitude,latitude:B.latitude,fov:B.fov,distance:B.distance,offset:(c=B.offset)===null||c===void 0?void 0:c.clone()};else{if(P=(p=r.mode)!==null&&p!==void 0?p:this.currentMode,typeof r.panoIndex=="number"){var L=T.getResolvedObserver({workCode:(f=(d=r.workCode)!==null&&d!==void 0?d:B.work.workCode)!==null&&f!==void 0?f:"",panoIndex:r.panoIndex});L&&(w={workCode:L.work.workCode,panoIndex:L.panoIndex})}O={longitude:r.longitude,latitude:r.latitude,fov:r.fov,distance:r.distance,offset:r.offset}}var N=__assign(__assign(__assign({},w),{mode:P}),O),V=this.getCurrentState(),X=(h=m.duration)!==null&&h!==void 0?h:this.modeChangeDuration;(P==="Floorplan"||P==="Topview"||P==="Mapview")&&this.currentMode===P&&(X=0);var D="fly";(P==="Panorama"||P==="VRPanorama"||P==="XRPanorama")&&this.currentMode===P&&(D=(g=m.effect)!==null&&g!==void 0?g:"fade"),this.emit("works.request",createEvent("works.request",{input:e,works:T,state:N,userAction:s}));var J=function(){u.pano=w;var Y=__assign(__assign({initial:{state:N,currentState:V,duration:X,effect:D,userAction:s}},u.commonParams()),u.controllerInits[P]),ee=Controllers[P].initAnimationEndState(Y);if(u.controller&&u.currentMode===P)u.controller.updateWork(T,ee,{effect:D,duration:X},s)===!1&&(u.controller.destroy(),u.controller=u.applyController(P,Y));else{var ae=u.currentMode;if(u.controller)u.controller.destroy();else{var ne=Controllers[P].initAnimationEndState(Y);u.camera.setFromPose(ne),u.emit("camera.update",createEvent("camera.update",{state:u.getCurrentState(),userAction:s}))}u.controller=u.applyController(P,Y);var K=createEvent("mode.change",{prevMode:ae,mode:P,state:ee,userAction:s});try{u.emit("mode.change",K)}catch(j){console.error(j)}}u.updateTime(u.currentUpdateArgs.time,0,u.currentUpdateArgs.args)};worksMap.set(this,T);var U=Promise.resolve();if(P===t.Mode.Floorplan||P===t.Mode.Topview||P===t.Mode.Mapview||P===t.Mode.Model){this.modelScene.loaded===!1&&(this.camera.setFromPose(N),assignPose(this.state,this.camera.pose)),this.controller||(this.currentMode=P);var q=this.loadModels(T,m);U=Promise.all(q.map(function(Y){return Y.loadedReady})).then(function(){u.needsRender=!0,u.modelSceneNeedsRender=!0,J(),u.emit("camera.update",createEvent("camera.update",{state:u.getCurrentState(),userAction:s}))})}else{J();var G=!1;this.modelScene.autoRefine=!1;var Z=function(){u.works===T&&G===!1&&(u.needsRender=!0,u.modelSceneNeedsRender=!0,u.emit("camera.update",createEvent("camera.update",{state:u.getCurrentState(),userAction:s})),G=!0,u.modelScene.autoRefine=!0)},q=this.loadModels(T,m);U=Promise.all(q.map(function(ee){return ee.initReady})).then(noop$1),this.controller.once("pano.arrived",Z),this.controller.once("pano.cancel",Z),setTimeout(Z,((A=m.duration)!==null&&A!==void 0?A:this.modeChangeDuration)+1e3)}return this.emit("works.load",createEvent("works.load",{input:e,state:this.getCurrentState(),userAction:s,works:T})),U.then(function(){return u.ready()}).then(function(){var Y;u.emit("works.ready",createEvent("works.ready",{input:e,state:u.getCurrentState(),userAction:s,works:T})),(Y=u.analysis)===null||Y===void 0||Y.work(T)})},t.prototype.reset=function(){var e=this,r=this.loadWorkTask.then(function(){return e.reset_()});return this.loadWorkTask=r.catch(function(o){e.throwError(o)}),r},t.prototype.reset_=function(){var e=this;return new Promise(function(r){var o;e.controller&&(e.controller.destroy(),e.controller=void 0);var s=e.modelScene.parameter;s.pano0&&s.pano0.map.dispose(),s.pano1&&s.pano1.map!==((o=s.pano0)===null||o===void 0?void 0:o.map)&&s.pano1.map.dispose(),s.set({pano0:null,pano1:null,modelAlpha:1}),e.renderer&&e.modelScene.update(e.renderer,e.camera);for(var u=0,l=e.modelScene.children;u<l.length;u++){var c=l[u];c instanceof Model&&(c.dispose(),e.modelScene.remove(c))}e.needsRender=!0,e.modelSceneNeedsRender=!0,worksMap.delete(e);var p=parseWork(null),d=new Model(p);d.work=p,worksMap.set(e,createWorks([p])),e.currentMode="Mapview",e.pano={workCode:"",panoIndex:0},e.camera.setFromPose({distance:0,fov:DEFAULT_CAMERA_FOV,longitude:0,latitude:0,offset:new THREE__namespace.Vector3(0,0,0)}),e.state={mode:e.currentMode,workCode:e.pano.workCode,panoIndex:e.pano.panoIndex,longitude:e.camera.pose.longitude,latitude:e.camera.pose.latitude,fov:e.camera.pose.fov,offset:e.camera.pose.offset.clone(),distance:e.camera.pose.distance},e.camera.needsRender=!1,e.needsRender=!1,e.modelSceneNeedsRender=!1,r()})},t.prototype.changeMode=function(e,r,o,s,u){var l=this;return r===void 0&&(r={}),s===void 0&&(s=!0),u===void 0&&(u=!1),new Promise(function(c,p){var d,f,h,g;if(!l.renderer)throw new Error("renderer is not initialized.");r=__assign({},r);var A=0;l.controller&&(typeof o=="number"?A=o:A=(d=o==null?void 0:o.duration)!==null&&d!==void 0?d:l.modeChangeDuration);var m="fly";l.controller&&typeof o=="object"&&o.effect&&(m=o.effect);var E=typeof r.panoIndex=="number"?{workCode:(g=(f=r.workCode)!==null&&f!==void 0?f:(h=l.work)===null||h===void 0?void 0:h.workCode)!==null&&g!==void 0?g:"",panoIndex:r.panoIndex}:l.pano;if(!t.Mode.hasOwnProperty(e)){var v=new Error('mode "'.concat(e,'" is not existed'));l.throwError(v),p(v);return}if((e===t.Mode.Panorama||e===t.Mode.VRPanorama||e===t.Mode.XRPanorama)&&!l.works.getResolvedObserver(E)){var v=new Error("PanoId ".concat(panoStringify(E)," not existed."));l.throwError(v),p(v);return}(e===t.Mode.Floorplan||e===t.Mode.Topview||e===t.Mode.Mapview||e===t.Mode.Model)&&(l.modelScene.loaded||(A=0));var y=l.controller,b=l.currentMode,T=function(){if(l.controller&&l.controller.stopMomentumMovement(),l.controller&&u===!1&&b===e)e===t.Mode.Panorama||e===t.Mode.Model||e===t.Mode.VRPanorama||e===t.Mode.XRPanorama?!panoEqual(l.pano,E)&&"moveToPano"in l.controller&&typeof l.controller.moveToPano=="function"?l.controller.moveToPano(E,__assign({duration:A},r),s):l.controller.updateCamera(r,A,s).catch(noop$1):(panoEqual(l.pano,E)||(l.pano=E),l.controller.updateCamera(r,A,s).catch(noop$1));else{var S=__assign(__assign({},r),E),R=__assign(__assign({initial:{state:S,currentState:l.getCurrentState(),duration:A,effect:m,userAction:s}},l.commonParams()),l.controllerInits[e]),C=Controllers[e].initAnimationEndState(R),H=createEvent("mode.change.request",{prevMode:l.currentMode,mode:e,state:C,userAction:s});if(l.emit("mode.change.request",H),!H.defaultPrevented){y&&y.destroy(),l.controller=l.applyController(e,R);var B=createEvent("mode.change",{prevMode:l.currentMode,mode:e,state:C,userAction:s});l.emit("mode.change",B)}}c()};if(e===t.Mode.VRPanorama)l.requestFullscreen(),requestDeviceOrientationPermission().then(function(){return T()}).catch(function(S){S instanceof Error&&(l.exitFullscreen(),l.throwError(S),p(S))});else if(e===t.Mode.XRPanorama){var _=AnimationFrameLoop.shared.getContext();_?_.end():requestXRSessionPermission().then(function(S){AnimationFrameLoop.shared.setContext(S),T()}).catch(function(S){S instanceof Error&&(l.throwError(S),p(S))})}else T()})},t.prototype.getPixels=function(e,r,o,s,u,l,c){if(!this.renderer)throw new Error("renderer is not initialized.");var p=this.renderer.getPixelRatio(),d=this.renderer.getRenderTarget(),f=this.renderer.getSize(new THREE__namespace.Vector2),h=0,g=0,A=1,m=1,E,v,y,b,T;typeof e=="number"?(h=e,typeof r=="number"&&(g=r),typeof o=="number"&&(A=o),typeof s=="number"&&(m=s),E=u,v=l,T=c):(h=e.x,g=e.y,A=e.width,m=e.height,E=e.pixelRatio,v=e.flipY,y=e.helperVisible,b=e.skipPanorama,T=e.buffer),h=Math.ceil(h),g=Math.ceil(g),A=Math.ceil(A),m=Math.ceil(m),E=Math.ceil(E!=null?E:p),v=v!=null?v:!1;var _=this.helperVisible,S=this.modelScene.parameter.modelAlpha;this.helperVisible=y!=null?y:this.helperVisible,b&&(this.controller instanceof Controllers.Panorama||this.controller instanceof Controllers.VRPanorama||this.controller instanceof Controllers.XRPanorama)&&b===!0&&this.modelScene.parameter.set("modelAlpha",1),this.modelScene.update(this.renderer,this.camera);var R=this.getPixelsRenderTarget;R.setSize(A*E,m*E),this.renderer.setRenderTarget(R),this.camera.pixelRatio=E,this.camera.resolution.set(A,m),this.camera.setViewOffset(f.width,f.height,h,f.height-g-m,A,m),this.scene.update(this.renderer,this.camera),this.render(),this.helperVisible=_,S===void 0?this.modelScene.parameter.reset("modelAlpha"):this.modelScene.parameter.set("modelAlpha",S),this.renderer.setRenderTarget(d),this.camera.clearViewOffset(),this.camera.pixelRatio=p,this.getSize(this.camera.resolution),this.camera.aspect=this.camera.resolution.width/this.camera.resolution.height,this.modelScene.update(this.renderer,this.camera),this.scene.update(this.renderer,this.camera);var C=A*E,H=m*E,B=C*H,M=B*4;if(T){if(T.length!==M)throw new Error("buffer length is not equals pixels ".concat(M))}else T=new Uint8Array(M);if(this.renderer.readRenderTargetPixels(R,0,0,A*E,m*E,T),v)for(var w=B/2,P=0,O=0,L=0,N=0;O<w;O++)for(N=(H-Math.floor(O/C)-1)*C+O%C,L=0;L<4;L++)P=T[O*4+L],T[O*4+L]=T[N*4+L],T[N*4+L]=P;return T},t.prototype.getElement=function(){var e;return(e=this.renderer)===null||e===void 0?void 0:e.domElement},Object.defineProperty(t.prototype,"observers",{get:function(){return this.works.resolvedObservers},enumerable:!1,configurable:!0}),t.prototype.render=function(e){var r=this.renderer;if(r){var o=r.getRenderTarget(),s=r.autoClear,u=r.autoClearColor,l=r.autoClearDepth,c=r.autoClearStencil,p=scratchClearColor.copy(r.getClearColor()),d=r.getClearAlpha(),f=r.getViewport(scratchViewport),h=r.getScissor(scratchScissor),g=r.getScissorTest(),A=r.getSize(scratchRenderSize),m=r.getPixelRatio(),E=Math.floor(A.x*this.viewport.left),v=Math.floor(A.y*this.viewport.bottom),y=Math.floor(A.x*this.viewport.width),b=Math.floor(A.y*this.viewport.height);r.setClearColor(this.backgroundColor,this.backgroundAlpha),r.setViewport(E,v,y,b),r.setScissor(E,v,y,b);var T=this.viewport.bottom!==0||this.viewport.left!==0||this.viewport.width!==1||this.viewport.height!==1;r.setScissorTest(T);var _=this.scene.background;this.modelScene.background=this.camera.isOrthographicCamera?null:_,this.modelScene.environment=this.scene.environment,this.scene.background=null;var S=this.getBuiltinRenderer(r);S.setSize(A.x,A.y,m),this.controller?this.controller.render(S,this.onlyRenderIfNeeds?this.modelSceneNeedsRender:!0):S.render(this.onlyRenderIfNeeds?this.modelSceneNeedsRender:!0),this.scene.background=_,this.modelScene.background=null,this.modelScene.environment=null,this.poweredByRealsee&&this.currentMode!=="VRPanorama"&&this.currentMode!=="XRPanorama"&&r.getRenderTarget()!==this.getPixelsRenderTarget&&renderPoweredByRealsee(r),r.setRenderTarget(o),r.autoClear=s,r.autoClearColor=u,r.autoClearDepth=l,r.autoClearStencil=c,r.setClearColor(p,d),r.setViewport(f),r.setScissor(h),r.setScissorTest(g),e&&AnimationFrameLoop.shared.add(e,!0)}},t.prototype.updateTime=function(e,r){for(var o,s=this,u=[],l=2;l<arguments.length;l++)u[l-2]=arguments[l];if(this.currentUpdateArgs={time:e,args:u},!this.destroyed){if(this.renderer&&ktx2.detectSupport(this.renderer),this.works.update(),this.syncingState=this.syncState(e,r),this.controller&&(o=this.controller).updateTime.apply(o,__spreadArray([e,r],u,!1)),this.renderer&&(this.camera.pixelRatio=this.renderer.getPixelRatio(),this.getSize(this.camera.resolution),this.camera.aspect=this.camera.resolution.width/this.camera.resolution.height),this.camera.autoNearFar){var c=this.modelScene.boundingBox.getBoundingSphere(scratchSphere),p=c.radius*2;c.containsPoint(this.camera.position)||(p=this.camera.position.distanceTo(c.center)+c.radius),p=clamp$1(p,800,5e4),this.camera.far!==p&&(this.camera.far=p);var d=p/1e4;d=clamp$1(d,.03,.1),this.camera.near!==d&&(this.camera.near=d)}if(this.camera.controllerMode=this.currentMode,this.camera.updateTime(e),this.renderer){var f=this.modelScene.loaded,h=this.modelScene.refined;if(this.modelScene.loaded){for(var g=[],A=0,m=this.modelScene.children;A<m.length;A++){var E=m[A];E instanceof Model&&E.outdated&&g.push(E)}for(var v=0,y=g;v<y.length;v++){var b=y[v];this.modelScene.remove(b),b.dispose()}if(g.length>0)for(var T=0,_=this.modelScene.children;T<_.length;T++){var E=_[T];E instanceof Model&&(E.visible=!0,this.modelSceneNeedsRender=!0)}}this.modelScene.update(this.renderer,this.camera),f===!1&&this.modelScene.loaded===!0&&(this.controller&&this.controller.updateModel(this.modelScene),AnimationFrameLoop.shared.add(function(){s.emit("models.load",createEvent("models.load",{modelScene:s.modelScene}))},!0,0,10)),h===!1&&this.modelScene.refined===!0&&AnimationFrameLoop.shared.add(function(){s.emit("models.refined",createEvent("models.refined",{modelScene:s.modelScene}))},!0,0,10)}this.renderer&&this.scene.update(this.renderer,this.camera),this.syncingState=!1,this.controller&&(this.controller.needsRender===!0&&(this.controller.needsRender=!1,this.needsRender=!0),this.controller.modelSceneNeedsRender===!0&&(this.controller.modelSceneNeedsRender=!1,this.modelSceneNeedsRender=!0)),this.camera.needsRender===!0&&(this.camera.needsRender=!1,this.needsRender=!0,this.modelSceneNeedsRender=!0),this.modelScene.needsRender===!0&&(this.modelScene.needsRender=!1,this.needsRender=!0,this.modelSceneNeedsRender=!0),this.scene.needsRender===!0&&(this.scene.needsRender=!1,this.needsRender=!0),this.onlyRenderIfNeeds!==!0&&(this.needsRender=!0,this.modelSceneNeedsRender=!0),this.modelSceneNeedsRender===!0&&(this.needsRender=!0);var S=this.camera.resolution.width*this.camera.pixelRatio*this.camera.resolution.height*this.camera.pixelRatio;S>4096*2048?this.renderSwitch01=this.renderSwitch01^1:this.renderSwitch01=0,this.renderSwitch01!==0&&(this.needsRender=!1),this.paused===!0&&(this.needsRender=!1);var R=createEvent("render.prepare",{needsRender:this.needsRender});this.emit("render.prepare",R),R.defaultPrevented&&(this.needsRender=!1),this.renderer&&this.needsRender&&this.render(),this.emit("render",createEvent("render",{needsRender:this.needsRender})),this.needsRender=!1,this.modelSceneNeedsRender=!1,this.hasListener("fps")&&(this.fps.testTime&&e-this.fps.testTime<1e3?this.fps.testCount++:(this.emit("fps",this.fps.testCount),this.fps.testTime=e,this.fps.testCount=0))}},t.prototype.pause=function(){this.paused=!0,this.renderer&&this.renderer instanceof InternalWebGLRenderer&&this.renderer.clear(!0,!0,!0)},t.prototype.play=function(){this.needsRender=!0,this.modelSceneNeedsRender=!0,this.paused=!1},t.prototype.moveToPano=function(e,r,o){r===void 0&&(r={}),o===void 0&&(o=!0);var s=this,u=s.controller,l=s.renderer;if(!u)return this.throwError(new Error("controller is not initialized.")),Promise.resolve();if(!l)return this.throwError(new Error("renderer is not initialized.")),Promise.resolve();var c=this.works.getResolvedObserver(e);if(!c)return this.throwError(new Error("pano ".concat(JSON.stringify(e)," not existed."))),Promise.resolve();var p={workCode:c.work.workCode,panoIndex:c.panoIndex};return"moveToPano"in u&&typeof u.moveToPano=="function"?u.moveToPano(p,r,o):c&&(this.pano=p,this.once("initAnimation.start",function(d){r.moveStartCallback&&r.moveStartCallback(d.state)}),this.once("initAnimation.end",function(d){r.moveEndCallback&&r.moveEndCallback(d.state)}),this.changeMode(t.Mode.Panorama,r,{effect:r.effect},o)),this.ready()},t.prototype.preloadPano=function(e,r){var o=this;r===void 0&&(r=noop$1);var s=this.works.getResolvedObserver(e);if(!s)return Promise.reject(new Error("Pano ".concat(JSON.stringify(e)," never found")));var u=["right","left","up","down","front","back"],l=now();return Promise.all(u.map(function(c){var p=__assign({key:"pano.".concat(s.panoId,".").concat(c)},pick(o.imageOptions,["size","format","quality","mappings"])),d=s.images[c],f=o.imageOptions.transform?o.imageOptions.transform(d,p):imageURL(d,p);return getFetcher(s.work).preload(f)})).then(function(){var c=now()-l;return r(c),c})},t.prototype.project2d=function(e,r){if(r===void 0&&(r=!1),!this.renderer)return null;if(r){var o=this.camera.position,s=e.clone().sub(o),u=new THREE__namespace.Raycaster(o,s.clone().normalize());u.params.Points={threshold:.1};var l=this.modelScene.intersectRaycaster(u)[0];if(l&&l.distance+.01<s.length())return null}var c=e.clone().project(this.camera);if(Math.abs(c.z)>1)return null;var p=this.renderer.getSize(new THREE__namespace.Vector2),d=p.x*this.viewport.width,f=p.y*this.viewport.height,h=p.x*this.viewport.left+(c.x+1)/2*d,g=p.y*(1-this.viewport.bottom-this.viewport.height)+(-c.y+1)/2*f;return new THREE__namespace.Vector2(h,g)},t.prototype.getCurrentState=function(){return __assign(__assign({},this.camera.copyPose()),{mode:this.currentMode,workCode:this.pano.workCode,panoIndex:this.pano.panoIndex})},t.prototype.setState=function(e,r,o){var s,u,l,c,p,d,f,h,g,A;r===void 0&&(r=!1),o===void 0&&(o=!0),e=Object.assign({},e),e.offset&&!(e instanceof THREE__namespace.Vector3)&&(e.offset=new THREE__namespace.Vector3(e.offset.x,e.offset.y,e.offset.z));var m;if(typeof e.panoIndex=="number")if(e.workCode)m={workCode:e.workCode,panoIndex:e.panoIndex};else{var E=(u=(s=this.work)===null||s===void 0?void 0:s.workCode)!==null&&u!==void 0?u:"",v=this.state.workCode;this.works.filter(function(w){return w.workCode===v}).length>0&&(E=v),m={workCode:E,panoIndex:e.panoIndex}}var y=(l=e.mode)!==null&&l!==void 0?l:this.state.mode,b,T,_,S,R;if(this.controller&&this.controller.stopMomentumMovement(),this.state.mode!==y){if(y==="VRPanorama"){this.changeMode("VRPanorama",void 0,void 0,!0);return}var C={workCode:m==null?void 0:m.workCode,panoIndex:m==null?void 0:m.panoIndex};typeof e.longitude=="number"&&(C.longitude=e.longitude),typeof e.latitude=="number"&&(C.latitude=e.latitude),typeof e.fov=="number"&&(C.fov=e.fov),typeof e.distance=="number"&&(C.distance=e.distance),e.offset instanceof THREE__namespace.Vector3&&(C.offset=e.offset);var H=__assign(__assign({initial:{state:C,currentState:this.getCurrentState(),duration:this.modeChangeDuration,effect:"fly",userAction:!1}},this.commonParams()),this.controllerInits[y]),B=Controllers[y].initAnimationEndState(H);b=B.longitude,T=B.latitude,_=B.fov,S=B.offset,R=B.distance}else b=(c=e.longitude)!==null&&c!==void 0?c:this.state.longitude,T=(p=e.latitude)!==null&&p!==void 0?p:this.state.latitude,_=(d=e.fov)!==null&&d!==void 0?d:this.state.fov,S=(f=e.offset)!==null&&f!==void 0?f:this.state.offset,R=(h=e.distance)!==null&&h!==void 0?h:this.state.distance;var M={workCode:(m!=null?m:this.pano).workCode,panoIndex:(m!=null?m:this.pano).panoIndex,mode:y,longitude:b,latitude:T,fov:_,offset:S,distance:R};this.emit("state.set",createEvent("state.set",{userAction:o,state:M})),stateEqual(this.state,M)||(this.controller&&M.mode==="VRPanorama"&&M.mode!==this.state.mode?(assignState(this.state,M),this.changeMode("VRPanorama")):this.controller&&M.mode==="XRPanorama"&&M.mode!==this.state.mode?(assignState(this.state,M),this.changeMode("XRPanorama")):(assignState(this.state,M),this.controller&&o&&(this.controller.userAction=!1),r&&this.state.mode===M.mode&&(this.syncingState=this.syncState(now(),0,r),this.syncingState&&((g=this.controller)===null||g===void 0||g.updateTime(now(),0),this.syncingState=!1)),this.emit("state.change",createEvent("state.change",{userAction:o,state:this.state})),(A=this.analysis)===null||A===void 0||A.state(this.works,this.state)))},t.prototype.syncState=function(e,r,o){o===void 0&&(o=!1);var s=this.stateSynced;if(this.stateSynced=!1,!this.controller)return!1;if(this.state.mode!==this.currentMode){var u={mode:this.state.mode,workCode:this.state.workCode,panoIndex:this.state.panoIndex,longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset,distance:this.state.distance};return this.changeMode(this.state.mode,u,this.modeChangeDuration,this.controller.userAction),!0}if(!this.controller.isReady())return!1;if(this.controller instanceof Controllers.Model){if(notSimilarVector3(this.camera.pose.offset,this.state.offset)){var l={longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset};return this.controller.moveToPosition(this.state.offset,__assign(__assign({},l),{duration:o?0:void 0}),!1),!0}}else{var c={workCode:this.state.workCode,panoIndex:this.state.panoIndex};if(!panoEqual(c,this.pano)&&"moveToPano"in this.controller&&typeof this.controller.moveToPano=="function"){var l={longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset,distance:this.state.distance};return this.controller.moveToPano(c,l,!1),!0}}if(this.controller instanceof Controllers.Floorplan||this.controller instanceof Controllers.Topview||this.controller instanceof Controllers.Mapview){var p=1,d=.2,f=.2,h=Math.PI/45,g=o?this.state.fov:stepNumber(this.camera.pose.fov,this.state.fov,p),A=Math.abs(this.camera.pose.distance-this.state.distance),m=A>f*15?A/15:d,E=o?this.state.distance:stepNumber(this.camera.pose.distance,this.state.distance,m),v=this.camera.pose.offset.distanceTo(this.state.offset),y=v>f*15?v/15:f,b=o?new THREE__namespace.Vector3().copy(this.state.offset):stepVector(this.camera.pose.offset,this.state.offset,y),T=o?{longitude:this.state.longitude,latitude:this.state.latitude}:stepCoordinates({longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},{longitude:this.state.longitude,latitude:this.state.latitude},h),_=T.longitude,S=T.latitude;if(notSimilarValue(g,this.camera.pose.fov)||notSimilarVector3(b,this.camera.pose.offset)||notSimilarValue(E,this.camera.pose.distance)||notSimilarValue(_,this.camera.pose.longitude,Math.PI*2)||notSimilarValue(S,this.camera.pose.latitude)){var R={x:b.x,y:b.y,z:b.z},C={fov:g};return Object.assign(R,{distance:E}),Object.assign(C,{longitude:_,latitude:S}),this.controller.stopMomentumMovement(),this.controller.cameraMotion.set(C,0).catch(noop$1),this.controller.locationMotion.set(R,0).catch(noop$1),!0}}else{var H=1,B=Math.PI/45,g=o?this.state.fov:stepNumber(this.camera.pose.fov,this.state.fov,H),M=o?{longitude:this.state.longitude,latitude:this.state.latitude}:stepCoordinates({longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},{longitude:this.state.longitude,latitude:this.state.latitude},B),_=M.longitude,S=M.latitude,E=this.state.distance,b=new THREE__namespace.Vector3().copy(this.state.offset);if(notSimilarValue(E,this.camera.pose.distance)&&(this.state.distance=this.camera.pose.distance),notSimilarVector3(b,this.camera.pose.offset)&&(this.state.offset=this.camera.pose.offset.clone()),notSimilarValue(_,this.camera.pose.longitude,Math.PI*2)||notSimilarValue(S,this.camera.pose.latitude)||notSimilarValue(g,this.camera.pose.fov))return this.controller.stopMomentumMovement(),this.controller.cameraMotion.set({longitude:_,latitude:S,fov:g},0).catch(noop$1),!0}if(this.stateSynced=!0,s===!1&&this.emit("state.synced",createEvent("state.synced",{userAction:!1,state:this.state})),this.readyCallbacks.length&&this.stateSynced){var w=this.currentMode,P=w===t.Mode.Floorplan||w===t.Mode.Topview||w===t.Mode.Mapview||w===t.Mode.Model;if(!P||this.modelScene.loaded){var O=this.readyCallbacks.slice();this.readyCallbacks.length=0;for(var L=0,N=O;L<N.length;L++){var V=N[L];this.controller instanceof Controllers.Panorama&&V.tile===!0&&!this.controller.isTileReady()?this.readyCallbacks.push(V):V()}}}return!1},t.prototype.ready=function(e){var r=this;return e===void 0&&(e={}),new Promise(function(o){var s;r.readyCallbacks.push(Object.assign(o,{tile:(s=e.tile)!==null&&s!==void 0?s:!1}))}).then(function(){return r.model.initReady})},t.prototype.requestFullscreen=function(){var e;if(isMobile){var r=(e=this.getElement())===null||e===void 0?void 0:e.parentNode;r&&"requestFullscreen"in r&&typeof document!="undefined"&&document.fullscreenElement===null&&r.requestFullscreen()}},t.prototype.exitFullscreen=function(){typeof document!="undefined"&&document.fullscreenElement&&"exitFullscreen"in document&&document.exitFullscreen()},t.prototype.throwError=function(e){this.hasListener("error")?this.emit("error",e):console.error(e)},t.prototype.loadModels=function(e,r){for(var o=this,s,u,l,c,p,d,f=new Map,h=!1,g=[],A=0,m=this.modelScene.children;A<m.length;A++){var E=m[A];E instanceof Model&&(E.outdated=!0,f.set(E.work.workCode,E),h=!0)}for(var v=function(T){var _=e[T],S=_.workCode&&f.get(_.workCode);if(S)S.work=_,S.outdated=!1,f.delete(_.workCode),g.push(S);else{var R=(l=(u=(s=r.model)===null||s===void 0?void 0:s.textureOptions)!==null&&u!==void 0?u:r.textureOptions)!==null&&l!==void 0?l:y.textureOptions,C=(p=(c=r.model)===null||c===void 0?void 0:c["3d-tiles"])!==null&&p!==void 0?p:r["3d-tiles"],H=new Model(_,{light:(d=r.model)===null||d===void 0?void 0:d.light,textureOptions:R});H.initReady.then(function(){if(C)if(typeof C=="function")for(var B=0,M=H.viewLayers;B<M.length;B++){var w=M[B],P=C(w,H,T);P&&(P.viewerRequestVolume&&(w.viewerRequestVolume=makeBoundingVolume(P.viewerRequestVolume)),w.parameter.set(omit(P,["showLayers"])),P.showLayers===!1?w.visible=!1:Array.isArray(P.showLayers)&&(w.visible=P.showLayers.includes(w.name)))}else for(var O=0,L=H.viewLayers;O<L.length;O++){var w=L[O];C.viewerRequestVolume&&(w.viewerRequestVolume=makeBoundingVolume(C.viewerRequestVolume)),w.parameter.set(omit(C,["showLayers"])),C.showLayers===!1?w.visible=!1:Array.isArray(C.showLayers)&&(w.visible=C.showLayers.includes(w.name))}}),g.push(H),h&&(H.visible=!1),y.modelScene.add(H),H.addEventListener("load",function(B){AnimationFrameLoop.shared.add(function(){o.emit("model.load",createEvent("model.load",{work:_,model:H,error:null}))},!0)}),H.addEventListener("changeShownFloor",function(B){o.emit("model.changeShownFloor",createEvent("model.changeShownFloor",{work:_,model:H,error:null}))}),H.addEventListener("error",function(B){var M=B.error;o.emit("model.error",createEvent("model.error",{work:_,model:H,error:M})),o.throwError(M)}),y.emit("model.request",createEvent("model.request",{work:_,model:H,error:null}))}},y=this,b=0;b<e.length;b++)v(b);return this.modelScene.loaded=!1,this.modelScene.refined=!1,g},t.prototype.commonParams=function(){return{ident:this.ident,scene:this.scene,xrCustomObjectsScene:this.xrCustomObjectsScene,helper:this.helperGroup,boundingMesh:this.boundingMesh,camera:this.camera,renderer:this.renderer,viewport:this.viewport,element:this.getElement(),works:this.works,imageOptions:this.imageOptions,enableWheel:this.enableWheel,extraElements:this.extraElements,videoTexture:this.videoTexture,modelScene:this.modelScene}},t.prototype.applyController=function(e,r){var o=this;if(!this.renderer)throw new Error("renderer is not initialized.");var s=Controllers[e];this.currentMode=e;for(var u=new s(r),l=function(g){u.on(g,function(){for(var A=[],m=0;m<arguments.length;m++)A[m]=arguments[m];var E=o.emit.apply(o,__spreadArray([g],A,!1));if(E)return!1})},c=0,p=PROXY_CONTROLLER_EVENT_NAMES;c<p.length;c++){var d=p[c];l(d)}{var f=Controllers[e].initAnimationEndState(r),h=r.initial.userAction;stateEqual(this.state,f)||(assignState(this.state,f),this.emit("state.change",createEvent("state.change",{userAction:h,state:this.state}))),this.emit("currentState.change",createEvent("currentState.change",{userAction:h,state:this.getCurrentState()}))}return u.on("camera.update",function(g){var A;if(o.controller){var m=o.controller.getTargetState();g.userAction&&o.syncingState===!1&&o.state.mode===m.mode&&!stateEqual(o.state,m)&&(assignState(o.state,m),o.emit("state.change",createEvent("state.change",{userAction:g.userAction,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}o.emit("currentState.change",createEvent("currentState.change",{userAction:g.userAction,state:o.getCurrentState()}))}),u.on("initAnimation.start",function(g){var A,m=g.state,E=g.userAction;E&&o.state.mode===m.mode&&!stateEqual(o.state,m)&&(assignState(o.state,m),o.emit("state.change",createEvent("state.change",{userAction:E,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),u.on("initAnimation.end",function(g){var A,m=g.state,E=g.userAction;o.pano={workCode:m.workCode,panoIndex:m.panoIndex},E&&o.state.mode===m.mode&&!stateEqual(o.state,m)&&(assignState(o.state,m),o.emit("state.change",createEvent("state.change",{userAction:E,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),u.on("pano.moveTo",function(g){var A,m=g.state,E=g.userAction;o.pano={workCode:m.workCode,panoIndex:m.panoIndex},E&&o.state.mode===m.mode&&!stateEqual(o.state,m)&&(assignState(o.state,m),o.emit("state.change",createEvent("state.change",{userAction:E,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),u.on("pano.arrived",function(g){var A,m=g.state,E=g.userAction;o.pano={workCode:m.workCode,panoIndex:m.panoIndex},E&&o.state.mode===m.mode&&!stateEqual(o.state,m)&&(assignState(o.state,m),o.emit("state.change",createEvent("state.change",{userAction:E,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),u.on("pano.cancel",function(g){var A,m=g.state,E=g.userAction;E&&o.state.mode===m.mode&&!stateEqual(o.state,m)&&(assignState(o.state,m),o.emit("state.change",createEvent("state.change",{userAction:E,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),u.on("pano.moveTo",function(g){var A=g.userAction;o.emit("currentState.change",createEvent("currentState.change",{userAction:A,state:o.getCurrentState()}))}),u.on("pano.request",function(g){o.emit("pano.request",g),g.defaultPrevented||o.moveToPano(g.state,g.options,g.userAction)}),u.on("vr.requestExit",function(){o.currentMode===t.Mode.VRPanorama&&(o.exitFullscreen(),o.changeMode(t.Mode.Panorama))}),u.on("error",function(g){return o.throwError(g)}),u},t.prototype.removeEventListeners=function(){},Object.defineProperty(t.prototype,"internalLightsEnabled",{get:function(){var e=this.scene.children.find(function(r){return r.name==="internalLights"});return e?e.visible:!1},set:function(e){var r=this.scene.children.find(function(o){return o.name==="internalLights"});r&&(r.visible=e),r=this.modelScene.children.find(function(o){return o.name==="internalLights"}),r&&(r.visible=e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"scissor",{get:function(){return this.viewport},enumerable:!1,configurable:!0}),t.prototype.setScissor=function(e){return this.setViewport(e)},t.prototype.getPose=function(){var e=this.camera.copyPose(),r=e.longitude,o=e.latitude,s=e.fov,u=e.offset,l=e.distance;return{longitude:r,latitude:o,fov:s,offset:u.clone(),distance:l}},t.prototype.getLongitudeAndLatitude=function(){var e=this.getPose(),r=e.longitude,o=e.latitude;return{longitude:r,latitude:o}},t.prototype.getOffset=function(){return this.getPose().offset},t.prototype.getCameraLocal=function(){if(this.pano.workCode&&this.controller&&this.works){var e=this.works.getResolvedObserver(this.pano);if(e){var r=new THREE__namespace.Object3D;return r.position.copy(e.position),r.quaternion.copy(e.quaternion),r.scale.set(1,1,1),r.matrix.compose(r.position,r.quaternion,r.scale),r.matrixAutoUpdate=!1,cameraWorldToLocal(this.camera,r)}}return null},Object.defineProperty(t.prototype,"enableIOSEDR",{get:function(){return!1},set:function(e){},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableEDL",{get:function(){return this.renderEffect==="edl"},set:function(e){this.renderEffect=e?"edl":"default"},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableHQ",{get:function(){return this.renderEffect==="hq"},set:function(e){this.renderEffect=e?"hq":"default"},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enablePostProcessing",{get:function(){return!1},set:function(e){},enumerable:!1,configurable:!0}),t.Mode={Panorama:"Panorama",Model:"Model",Floorplan:"Floorplan",Topview:"Topview",Mapview:"Mapview",VRPanorama:"VRPanorama",XRPanorama:"XRPanorama"},t}(Subscribe),__FIVE_DEBUG__={instances:{},constructor:Five};typeof window!="undefined"&&Object.assign(window,{__FIVE_DEBUG__});var XRButton=function(){function n(){}return n.createButton=function(t){var e=document.createElement("button");function r(){e.style.display="",e.style.cursor="pointer",e.style.left="calc(50% - 50px)",e.style.width="100px",e.textContent="ENTER VR",e.onmouseenter=function(){e.style.opacity="1.0"},e.onmouseleave=function(){e.style.opacity="0.5"},e.onclick=function(){t&&t()}}function o(){e.style.display="",e.style.cursor="auto",e.style.left="calc(50% - 75px)",e.style.width="150px",e.onmouseenter=null,e.onmouseleave=null,e.onclick=null}function s(){o(),e.textContent="VR NOT SUPPORTED"}function u(c){c.style.position="absolute",c.style.bottom="20px",c.style.padding="12px 6px",c.style.border="1px solid #fff",c.style.borderRadius="4px",c.style.background="rgba(0,0,0,0.1)",c.style.color="#fff",c.style.font="normal 13px sans-serif",c.style.textAlign="center",c.style.opacity="0.5",c.style.outline="none",c.style.zIndex="999"}if("xr"in navigator)return e.id="VRButton",e.style.display="none",u(e),navigator.xr.isSessionSupported("immersive-vr").then(function(c){c?r():s()}),e;var l=document.createElement("a");return window.isSecureContext===!1?(l.href=document.location.href.replace(/^http:/,"https:"),l.innerHTML="WEBXR NEEDS HTTPS"):(l.href="https://immersiveweb.dev/",l.innerHTML="WEBXR NOT AVAILABLE"),l.style.left="calc(50% - 90px)",l.style.width="180px",l.style.textDecoration="none",u(l),l},n}();exports.AnimationFrameLoop=AnimationFrameLoop;exports.Camera=Camera;exports.CustomShader=PBMCustomShader;exports.Fetcher=Fetcher;exports.Five=Five;exports.InternalWebGLRenderer=InternalWebGLRenderer;exports.Model=Model;exports.ModelScene=ModelScene;exports.Motion=Motion;exports.NetworkSubscribe=NetworkSubscribe;exports.PBMContainer=PBMContainer;exports.PBMCustomShader=PBMCustomShader;exports.PBMGroup=PBMGroup;exports.PBMMesh=PBMMesh;exports.PBMMeshMaterial=PBMMeshMaterial;exports.PBMPointCloud=PBMPointCloud;exports.PBMPointCloudMaterial=PBMPointCloudMaterial;exports.PBMSkinnedMesh=PBMSkinnedMesh;exports.PROXY_CONTROLLER_EVENT_NAMES=PROXY_CONTROLLER_EVENT_NAMES;exports.PanoCircleMesh=PanoCircleMesh;exports.PanoCircleMeshCustom=PanoCircleMeshCustom;exports.PanoCircleMeshSolid=PanoCircleMeshSolid;exports.Parameter=Parameter;exports.Scene=Scene;exports.Subscribe=Subscribe;exports.TextureLoader=TextureLoader;exports.Tile=Tile;exports.Tile3DModel=Tile3D;exports.TileCache=TileCache;exports.TileNode=TileNode;exports.TileRequestScheduler=TileRequestScheduler;exports.Tileset=Tileset;exports.Trajectory=Trajectory;exports.TrajectoryNode=TrajectoryNode;exports.Work=Work;exports.XRButton=XRButton;exports.controllersDefaultInitArgs=controllersDefaultInitArgs;exports.createDebugBoundingMesh=createDebugBoundingMesh;exports.createWorks=createWorks;exports.defaultImageURLTransform=imageURL;exports.draco=draco;exports.getFetcher=getFetcher;exports.getViewportScale=getViewportScale;exports.imageSupport=imageSupport;exports.isBoundingVolume=isBoundingVolume;exports.isPanoId=isPanoId;exports.ktx2=ktx2;exports.loadAt3d=loadAt3d;exports.loadB3dm=loadB3dm;exports.loadDome=loadDome;exports.loadDomez=loadDomez;exports.loadFbx=loadFbx;exports.loadGltf=loadGltf;exports.loadPbm=loadPbm;exports.loadPly=loadPly;exports.loadPnts=loadPnts;exports.loadX3p=loadX3p;exports.makeBoundingVolume=makeBoundingVolume;exports.panoEqual=panoEqual;exports.panoParse=panoParse;exports.panoStringify=panoStringify;exports.parseWork=parseWork;exports.registerFetcher=registerFetcher;exports.workRawMapping=workRawMapping;
|
|
2247
|
+
`})||this;return r.material.transparent=!0,r}return Object.defineProperty(t.prototype,"luminanceAdaptiveBuffer",{get:function(){return this.material.uniforms.luminanceAdaptiveBuffer.value},set:function(e){this.material.uniforms.luminanceAdaptiveBuffer.value=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"progress",{get:function(){return this.material.uniforms.progress.value},set:function(e){this.material.uniforms.progress.value=e},enumerable:!1,configurable:!0}),t}(Pass),LuminanceAdaptiveEffect=function(n){__extends(t,n);function t(e,r,o,s){var u=n.call(this,e,r,o,s)||this;return u.enableTime=now(),u.renderer=e,u.valuePass=new ValuePass(u.renderer),u.luminancePass=new LuminancePass(u.renderer,Math.sqrt(1/3)),u.nextStepPass=new NextStepPass(u.renderer,.01),u.luminanceAdaptivePass=new LuminanceAdaptivePass(u.renderer),u}return t.prototype.render=function(e){this.renderer.setRenderTarget(e[0]),this.renderer.render(this.scene,this.camera),this.enableTime===null&&(this.enableTime=now()),this.luminanceTargetBuffer||(this.luminanceTargetBuffer=new THREE__namespace.WebGLRenderTarget(128,128,{minFilter:THREE__namespace.LinearMipmapLinearFilter,magFilter:THREE__namespace.LinearFilter,encoding:this.renderer.outputEncoding,stencilBuffer:!1,depthBuffer:!1,format:THREE__namespace.RGBAFormat,generateMipmaps:!0}),this.nextStepPass.targetBuffer=this.luminanceTargetBuffer.texture),this.luminancePass.render(e[0],this.luminanceTargetBuffer),this.luminancePrevBuffer||(this.luminancePrevBuffer=new THREE__namespace.WebGLRenderTarget(1,1,{minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,type:THREE__namespace.HalfFloatType,encoding:this.renderer.outputEncoding,stencilBuffer:!1,depthBuffer:!1}),this.valuePass.render(new THREE__namespace.Vector3(.5,.5,.5),this.luminancePrevBuffer)),this.luminanceNextBuffer||(this.luminanceNextBuffer=new THREE__namespace.WebGLRenderTarget(1,1,{minFilter:THREE__namespace.NearestFilter,magFilter:THREE__namespace.NearestFilter,type:THREE__namespace.HalfFloatType,encoding:this.renderer.outputEncoding,stencilBuffer:!1,depthBuffer:!1}),this.valuePass.render(new THREE__namespace.Vector3(.5,.5,.5),this.luminanceNextBuffer),this.luminanceAdaptivePass.luminanceAdaptiveBuffer=this.luminanceNextBuffer.texture),this.copyPass.render(this.luminanceNextBuffer,this.luminancePrevBuffer),this.nextStepPass.render(this.luminancePrevBuffer,this.luminanceNextBuffer),this.luminanceAdaptivePass.progress=Math.min((now()-this.enableTime)/100,1),this.luminanceAdaptivePass.render(e[0],e[1])},t.prototype.dispose=function(){var e,r,o;(e=this.luminanceTargetBuffer)===null||e===void 0||e.dispose(),(r=this.luminancePrevBuffer)===null||r===void 0||r.dispose(),(o=this.luminanceNextBuffer)===null||o===void 0||o.dispose(),this.copyPass.dispose(),this.luminancePass.dispose(),this.nextStepPass.dispose(),this.luminanceAdaptivePass.dispose()},t}(Effect),sharedV2=new THREE__namespace.Vector2,LuminanceRenderer=function(n){__extends(t,n);function t(e){var r,o,s=n.call(this,e)||this;s.type="default",s.luminanceAdaptiveEffect=new LuminanceAdaptiveEffect(s.renderer,s.modelScene,s.camera,s.modelScene);var u=s.renderer.getDrawingBufferSize(sharedV2);return s.screenBuffers=[new THREE__namespace.WebGLRenderTarget(u.x,u.y,{generateMipmaps:!1,encoding:(o=(r=s.renderer)===null||r===void 0?void 0:r.outputEncoding)!==null&&o!==void 0?o:THREE__namespace.sRGBEncoding}),s.enableFragDepth?s.modelRenderTarget:null],s}return t.prototype.render=function(e){var r=this.renderer.getRenderTarget();this.enableFragDepth?(e&&(this.luminanceAdaptiveEffect.enable=!0,this.luminanceAdaptiveEffect.render(this.screenBuffers)),this.depthCopyPass.render(this.modelRenderTarget.depthTexture,r),this.renderer.autoClearDepth=!1,this.renderer.autoClearColor=!0,this.copyPass.render(this.modelRenderTarget,r),this.renderer.setRenderTarget(r),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,this.camera),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0):(this.luminanceAdaptiveEffect.enable=!0,this.luminanceAdaptiveEffect.render(this.screenBuffers),this.renderer.autoClearColor=!1,this.renderer.autoClearDepth=!1,this.renderer.render(this.scene,this.camera),this.renderer.autoClearColor=!0,this.renderer.autoClearDepth=!0),this.modelScene.needsRender=!0},t}(BaseRenderer),DEFAULT_MODE_CHANGE_DURATION=800,DEFAULT_CAMERA_FOV=90,DEFAULT_REQUEST_PROXY=function(n){return n.replace("//vrlab-public.ljcdn.com/","//vr-public.realsee-cdn.cn/").replace("//vrlab-image4.ljcdn.com/","//vr-image-4.realsee-cdn.cn/").replace("//vrlab-image3.ljcdn.com/","//vr-image-3.realsee-cdn.cn/").replace("//vrlab-image2.ljcdn.com/","//vr-image-2.realsee-cdn.cn/").replace("//vrlab-image1.ljcdn.com/","//vr-image-1.realsee-cdn.cn/")},scratchSphere=new THREE__namespace.Sphere,scratchViewport=new THREE__namespace.Vector4,scratchScissor=new THREE__namespace.Vector4,scratchClearColor=new THREE__namespace.Color,scratchRenderSize=new THREE__namespace.Vector2,worksMap=new WeakMap,emptyWorks=createWorks([parseWork(null)]),Five=function(n){__extends(t,n);function t(e){e===void 0&&(e={});var r,o,s,u,l,c,p,d,f,h,g,A,m=n.call(this)||this;if(m.ident=createUuid(),typeof window!="undefined"&&(__FIVE_DEBUG__.instances[m.ident]=m),m.renderSwitch01=0,m.currentUpdateArgs={time:now(),args:[]},m.currentMode="Panorama",m.pano={workCode:"",panoIndex:0},m.needsRender=!1,m.modelSceneNeedsRender=!1,m.onlyRenderIfNeeds=(r=e.onlyRenderIfNeeds)!==null&&r!==void 0?r:!0,m.imageOptions=__assign({},(o=e.imageOptions)!==null&&o!==void 0?o:{}),m.textureOptions=__assign({},(s=e.textureOptions)!==null&&s!==void 0?s:{}),m.poweredByRealsee=(u=e.poweredByRealsee)!==null&&u!==void 0?u:!0,m.backgroundColor=new THREE__namespace.Color((l=e.backgroundColor)!==null&&l!==void 0?l:1579548),m.backgroundAlpha=(c=e.backgroundAlpha)!==null&&c!==void 0?c:1,m.extraElements=[],m.controllerInits={Panorama:Object.assign({},e.panorama),Model:Object.assign({},e.model),Floorplan:Object.assign({},e.floorplan),Topview:Object.assign({},e.topview),Mapview:Object.assign({},e.mapview),VRPanorama:Object.assign({},e.vrPanorama),XRPanorama:Object.assign({},e.xrPanorama)},m.fps={testCount:0,testTime:now()},m.modeChangeDuration=(p=e.modeChangeDuration)!==null&&p!==void 0?p:DEFAULT_MODE_CHANGE_DURATION,m.enableWheel=(d=e.enableWheel)!==null&&d!==void 0?d:!0,typeof window!="undefined")if("renderer"in e)e.renderer instanceof InternalWebGLRenderer&&m.throwError(new Error("cannot render a internal renderer")),m.renderer=e.renderer;else try{m.renderer=new InternalWebGLRenderer({preserveDrawingBuffer:e.preserveDrawingBuffer,antialias:e.antialias,webgl2:e.webgl2,logarithmicDepthBuffer:e.logarithmicDepthBuffer,precision:e.precision,powerPreference:e.powerPreference});var E=getViewportScale();m.renderer.setPixelRatio(E===1?window.devicePixelRatio:1),m.renderer.setSize(512,512),m.renderer.setClearColor(m.backgroundColor,m.backgroundAlpha)}catch(P){P instanceof Error&&m.throwError(P)}m.getPixelsRenderTarget=new THREE__namespace.WebGLRenderTarget(1,1,{encoding:(h=(f=m.renderer)===null||f===void 0?void 0:f.outputEncoding)!==null&&h!==void 0?h:THREE__namespace.sRGBEncoding,generateMipmaps:!1}),m.viewport=Object.assign({left:0,bottom:0,width:1,height:1},e.viewport),m.camera=new Camera(DEFAULT_CAMERA_FOV),m.scene=new Scene,m.xrCustomObjectsScene=new THREE__namespace.Scene,m.scene.add(m.xrCustomObjectsScene),m.scene.matrixAutoUpdate=!1,m.loadWorkTask=Promise.resolve(),m.requestProxy=(g=e.requestProxy)!==null&&g!==void 0?g:DEFAULT_REQUEST_PROXY,m.networkSubscribe=new NetworkSubscribe,m.networkSubscribe.on("network",function(P,O,L,N){var V;m.emit("network.resource",createEvent("network.resource",{source:P,requestType:O,requestState:L,detail:N})),(V=m.analysis)===null||V===void 0||V.network(m.works,P,O,L,N)}),m.boundingMesh=new BoundingMesh$1,m.boundingMesh.name="bounding",m.readyCallbacks=[],m.syncingState=!1,m.helperGroup=new THREE__namespace.Group,m.helperGroup.name="helper",m.helperGroup.matrixAutoUpdate=!1,m.scene.add(m.helperGroup);var v=new Model(emptyWorks[0]);worksMap.set(m,emptyWorks),m.modelScene=new ModelScene,m.modelScene.add(v),m.modelScene.add(m.boundingMesh),defineProperty(v,"loaded",{get:function(){return!1},set:function(P){}}),m.videoTexture=new THREE__namespace.VideoTexture(e.videoInstance||generateDefaultVideoElement());var y=initLights();m.scene.add(y);var b=new THREE__namespace.Group;defineProperty(b,"children",{get:function(){return y.children},set:function(P){y.children=P}}),defineProperty(b,"visible",{get:function(){return y.visible},set:function(P){y.visible=P}}),defineProperty(b,"name",{get:function(){return y.name},set:function(P){y.name=P}}),m.modelScene.add(b),m.state={mode:m.currentMode,workCode:m.pano.workCode,panoIndex:m.pano.panoIndex,longitude:m.camera.pose.longitude,latitude:m.camera.pose.latitude,fov:m.camera.pose.fov,offset:m.camera.pose.offset.clone(),distance:m.camera.pose.distance},m.stateSynced=!1,m.destroyed=!1,m.paused=!0,typeof window!="undefined"&&(e.play!==!1&&m.play(),m.stopAnimationLoop=AnimationFrameLoop.shared.add(function(P,O){for(var L=[],N=2;N<arguments.length;N++)L[N-2]=arguments[N];m.updateTime.apply(m,__spreadArray([P,O],L,!1))},!1,0,10));var T=function(){typeof document!="undefined"&&document.fullscreenElement===null&&m.currentMode==="VRPanorama"&&m.controller.emit("vr.requestExit",createEvent("vr.requestExit",{}))},_=function(){m.needsRender=!0,m.modelSceneNeedsRender=!0};if(typeof document!="undefined"&&document.addEventListener("fullscreenchange",T,!1),m.renderer&&m.renderer.domElement.addEventListener("webglcontextrestored",_,!1),m.removeEventListeners=function(){typeof document!="undefined"&&document.removeEventListener("fullscreenchange",T,!1),m.renderer&&m.renderer.domElement.removeEventListener("webglcontextrestored",_,!1)},m.plugins={},e.plugins&&e.plugins.length)for(var S=0,R=e.plugins;S<R.length;S++){var C=R[S];if(typeof C=="function")C(m);else if(Array.isArray(C)){var H=C[0],B=C[1],M=C[2];if(typeof H=="function"){var w=H(m,M);typeof B=="string"&&(m.plugins[B]?m.throwError(new Error("plugin name ".concat(B," is exists."))):m.plugins[B]=w)}}}return m.meshReplaceMaterialMap=new Map,m.meshOriginMaterialMap=new Map,initLegacyEvent(m),m.enableLayeringRendering=(A=e.enableLayeringRendering)!==null&&A!==void 0?A:!1,m._buildInRendererType="default",m._builtinRenderer=null,m}return Object.defineProperty(t,"version",{get:function(){return"6.5.14"},enumerable:!1,configurable:!0}),Object.defineProperty(t,"dracoPath",{get:function(){return draco.decoderPath},set:function(e){draco.setDecoderPath(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t,"ktx2Path",{get:function(){return ktx2.transcoderPath},set:function(e){ktx2.setTranscoderPath(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"panoIndex",{get:function(){return this.pano.panoIndex},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){var e,r;if(this.destroyed!==!0){delete __FIVE_DEBUG__.instances[this.ident],this.emit("dispose"),this.destroyed=!0,this.pause(),this.stopAnimationLoop&&(this.stopAnimationLoop(),delete this.stopAnimationLoop),(e=this.renderer)===null||e===void 0||e.setAnimationLoop(null),this.off(),this.networkSubscribe.off(),this.controller&&(this.controller.destroy(),this.controller=void 0);var o=this.getElement();o&&o.parentNode&&o.parentNode.removeChild(o);var s=this.modelScene.parameter;s.pano0&&s.pano0.map.dispose(),s.pano1&&s.pano1.map!==((r=s.pano0)===null||r===void 0?void 0:r.map)&&s.pano1.map.dispose(),s.reset("pano0","pano1");for(var u=0,l=this.modelScene.children;u<l.length;u++){var c=l[u];c.dispose&&c.dispose(),this.modelScene.remove(c)}this.meshReplaceMaterialMap.forEach(function(p){p.dispose()}),this.meshOriginMaterialMap.forEach(function(p){p.dispose()}),this.renderer instanceof InternalWebGLRenderer&&this.renderer.forceContextLoss&&this.renderer.forceContextLoss()}},t.prototype.setViewport=function(e){Object.assign(this.viewport,e),this.needsRender=!0,this.modelSceneNeedsRender=!0},Object.defineProperty(t.prototype,"helperVisible",{get:function(){return this.helperGroup.visible},set:function(e){this.helperGroup.visible!==e&&(this.helperGroup.visible=e,this.emit("helpers.visible",createEvent("helpers.visible",{object:this.helperGroup})),this.needsRender=!0)},enumerable:!1,configurable:!0}),t.prototype.getBuiltinRenderer=function(e){var r=this._builtinRenderer;if((r==null?void 0:r.type)!==this._buildInRendererType)switch(r&&r.dispose(),this._buildInRendererType){case"default":this._builtinRenderer=new DefaultRenderer({renderer:e,camera:this.camera,scene:this.scene,modelScene:this.modelScene,enableLayeringRendering:this.enableLayeringRendering});break;case"edl":this._builtinRenderer=new EDLRenderer({renderer:e,camera:this.camera,scene:this.scene,modelScene:this.modelScene,enableLayeringRendering:this.enableLayeringRendering});break;case"hq":this._builtinRenderer=new HQRenderer({renderer:e,camera:this.camera,scene:this.scene,modelScene:this.modelScene,enableLayeringRendering:this.enableLayeringRendering});break;case"luminance":this._builtinRenderer=new LuminanceRenderer({renderer:e,camera:this.camera,scene:this.scene,modelScene:this.modelScene,enableLayeringRendering:this.enableLayeringRendering});break}return this._builtinRenderer},Object.defineProperty(t.prototype,"renderEffect",{get:function(){return this._buildInRendererType},set:function(e){this._buildInRendererType=e,this.modelSceneNeedsRender=!0},enumerable:!1,configurable:!0}),t.prototype.updateConfiguration=function(e,r){r===void 0&&(r=!0);var o=!1;if(e.panorama&&(Object.assign(this.controllerInits.Panorama,omitUndefinedFields(e.panorama)),this.currentMode==="Panorama"&&(o=!0)),e.model&&(Object.assign(this.controllerInits.Model,omitUndefinedFields(e.model)),this.currentMode==="Model"&&(o=!0)),e.floorplan&&(Object.assign(this.controllerInits.Floorplan,omitUndefinedFields(e.floorplan)),this.currentMode==="Floorplan"&&(o=!0)),e.topview&&(Object.assign(this.controllerInits.Topview,omitUndefinedFields(e.topview)),this.currentMode==="Topview"&&(o=!0)),e.mapview&&(Object.assign(this.controllerInits.Mapview,omitUndefinedFields(e.mapview)),this.currentMode==="Mapview"&&(o=!0)),e.vrPanorama&&(Object.assign(this.controllerInits.VRPanorama,omitUndefinedFields(e.vrPanorama)),this.currentMode==="VRPanorama"&&(o=!0)),e.imageOptions&&(Object.assign(this.imageOptions,e.imageOptions),(this.currentMode==="Panorama"||this.currentMode==="VRPanorama")&&(o=!0)),e.textureOptions&&Object.assign(this.textureOptions,e.textureOptions),r&&o&&this.controller&&this.currentMode){var s=this.controller.updateConfiguration(this.controllerInits[this.currentMode]);s||this.changeMode(this.currentMode,this.getCurrentState(),0,!1,!0)}},t.prototype.appendTo=function(e,r){if(r===void 0&&(r={}),!!this.renderer){if(!(this.renderer instanceof InternalWebGLRenderer)){this.throwError(new Error("cannot call appendTo method when render a external renderer"));return}var o=this.getElement();if(o){e.appendChild(o),this.refresh(r);var s=window.getComputedStyle(e).position;s!=="relative"&&s!=="absolute"&&s!=="fixed"&&s!=="sticky"&&(e.style.position="relative")}}},t.prototype.refresh=function(e,r){var o,s;if(e===void 0&&(e={}),!!this.renderer){var u=this.renderer.domElement,l=u.parentNode,c=e.width,p=c===void 0?(o=l==null?void 0:l.offsetWidth)!==null&&o!==void 0?o:512:c,d=e.height,f=d===void 0?(s=l==null?void 0:l.offsetHeight)!==null&&s!==void 0?s:512:d;r=r!=null?r:this.renderer.getPixelRatio();var h=this.renderer.capabilities.maxTextureSize,g=Math.max(p,f)*r;g>h&&(r=r/g*h,r=Math.floor(r*100)/100),this.renderer.setPixelRatio(r),this.renderer.setSize(p,f),this.needsRender=!0,this.modelSceneNeedsRender=!0;var A=now(),m=A-this.currentUpdateArgs.time,E=this.currentUpdateArgs.args;this.updateTime(A,m,E)}},t.prototype.addExtraElement=function(e){var r=this;return this.extraElements.indexOf(e)===-1&&(this.extraElements.push(e),this.controller&&this.controller.bindExtraElement(e)),function(){return r.removeExtraElement(e)}},t.prototype.removeExtraElement=function(e){var r=this.extraElements.indexOf(e);r!==-1&&(this.extraElements.splice(r,1),this.controller&&this.controller.unbindExtraElement(e))},t.prototype.getSize=function(e){if(!this.renderer)throw new Error("renderer is not initialized");return this.renderer.getSize(e),e.x*=this.viewport.width,e.y*=this.viewport.height,e},t.prototype.getDrawingBufferSize=function(e){if(!this.renderer)throw new Error("renderer is not initialized");return this.renderer.getDrawingBufferSize(e),e.x*=this.viewport.width,e.y*=this.viewport.height,e},t.prototype.updateCamera=function(e,r,o){if(o===void 0&&(o=!0),!this.controller)throw new Error("controller is not initialized.");return this.controller.updateCamera(e,r,o)},t.prototype.updateCameraWithKeyframes=function(e,r,o){if(o===void 0&&(o=!0),!this.controller)throw new Error("controller is not initialized.");return this.controller.updateCameraWithKeyframes(e,r,o)},Object.defineProperty(t.prototype,"works",{get:function(){var e=worksMap.get(this);if(!e)return emptyWorks;for(var r=0,o=e;r<o.length;r++){var s=o[r];if(!workRawMapping.has(s))return emptyWorks}return e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"work",{get:function(){return this.works[0]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"models",{get:function(){return this.modelScene.models},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"model",{get:function(){return this.modelScene.models[0]},enumerable:!1,configurable:!0}),t.prototype.load=function(e,r,o,s){var u=this;if(s===void 0&&(s=!0),!this.renderer)throw new Error("renderer is not initialized");var l=this.loadWorkTask.then(function(){return isPromise(e)?e.then(function(c){return u.load_(c,r,o,s)}):u.load_(e,r,o,s)});return this.loadWorkTask=l.catch(function(c){u.throwError(c)}),l},t.prototype.load_=function(e,r,o,s){var u=this,l,c,p,d,f,h,g,A;s===void 0&&(s=!0);var m={};typeof o=="number"?m.duration=o:typeof o=="object"&&Object.assign(m,o),this.works===emptyWorks&&(m.duration===void 0&&(m.duration=0),m.effect===void 0&&(m.effect="instant"));var E=[];if(Array.isArray(e))for(var v=0,y=e;v<y.length;v++){var b=y[v];typeof b!="string"&&"work"in b?E.push(parseWork(b.work,b)):E.push(parseWork(b))}else E.push(parseWork(e));for(var T=createWorks(E),_=function(Y){var ee=S,ae=new Fetcher({allowHosts:Y.allowHosts,get requestProxy(){return ee.requestProxy},get networkSubscribe(){return ee.networkSubscribe}});registerFetcher(Y,ae)},S=this,R=0,C=T;R<C.length;R++){var H=C[R];_(H)}r===void 0&&(r="inherit"),r==="inherit"&&this.works===emptyWorks&&(r="initial");var B=T.initial,M=B.work.observers[0],w=M?{workCode:M.work.workCode,panoIndex:M.panoIndex}:{workCode:B.work.workCode,panoIndex:0},P=(l=B.mode)!==null&&l!==void 0?l:M?"Panorama":"Mapview",O={};if(r==="inherit"){P=this.currentMode;var L=T.resolvedObservers[this.panoIndex];L?w={workCode:L.work.workCode,panoIndex:L.panoIndex}:typeof T.initial.panoIndex=="number"?w={workCode:T.initial.work.workCode,panoIndex:T.initial.panoIndex}:(P==="Panorama"||P==="VRPanorama"||P==="XRPanorama")&&(P="Mapview"),O={longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude,fov:this.camera.pose.fov,distance:void 0,offset:void 0}}else if(r==="initial")typeof B.panoIndex=="number"&&(w={workCode:B.work.workCode,panoIndex:B.panoIndex}),B.mode&&(P=B.mode),O={longitude:B.longitude,latitude:B.latitude,fov:B.fov,distance:B.distance,offset:(c=B.offset)===null||c===void 0?void 0:c.clone()};else{if(P=(p=r.mode)!==null&&p!==void 0?p:this.currentMode,typeof r.panoIndex=="number"){var L=T.getResolvedObserver({workCode:(f=(d=r.workCode)!==null&&d!==void 0?d:B.work.workCode)!==null&&f!==void 0?f:"",panoIndex:r.panoIndex});L&&(w={workCode:L.work.workCode,panoIndex:L.panoIndex})}O={longitude:r.longitude,latitude:r.latitude,fov:r.fov,distance:r.distance,offset:r.offset}}var N=__assign(__assign(__assign({},w),{mode:P}),O),V=this.getCurrentState(),X=(h=m.duration)!==null&&h!==void 0?h:this.modeChangeDuration;(P==="Floorplan"||P==="Topview"||P==="Mapview")&&this.currentMode===P&&(X=0);var D="fly";(P==="Panorama"||P==="VRPanorama"||P==="XRPanorama")&&this.currentMode===P&&(D=(g=m.effect)!==null&&g!==void 0?g:"fade"),this.emit("works.request",createEvent("works.request",{input:e,works:T,state:N,userAction:s}));var J=function(){u.pano=w;var Y=__assign(__assign({initial:{state:N,currentState:V,duration:X,effect:D,userAction:s}},u.commonParams()),u.controllerInits[P]),ee=Controllers[P].initAnimationEndState(Y);if(u.controller&&u.currentMode===P)u.controller.updateWork(T,ee,{effect:D,duration:X},s)===!1&&(u.controller.destroy(),u.controller=u.applyController(P,Y));else{var ae=u.currentMode;if(u.controller)u.controller.destroy();else{var ne=Controllers[P].initAnimationEndState(Y);u.camera.setFromPose(ne),u.emit("camera.update",createEvent("camera.update",{state:u.getCurrentState(),userAction:s}))}u.controller=u.applyController(P,Y);var K=createEvent("mode.change",{prevMode:ae,mode:P,state:ee,userAction:s});try{u.emit("mode.change",K)}catch(j){console.error(j)}}u.updateTime(u.currentUpdateArgs.time,0,u.currentUpdateArgs.args)};worksMap.set(this,T);var U=Promise.resolve();if(P===t.Mode.Floorplan||P===t.Mode.Topview||P===t.Mode.Mapview||P===t.Mode.Model){this.modelScene.loaded===!1&&(this.camera.setFromPose(N),assignPose(this.state,this.camera.pose)),this.controller||(this.currentMode=P);var q=this.loadModels(T,m);U=Promise.all(q.map(function(Y){return Y.loadedReady})).then(function(){u.needsRender=!0,u.modelSceneNeedsRender=!0,J(),u.emit("camera.update",createEvent("camera.update",{state:u.getCurrentState(),userAction:s}))})}else{J();var G=!1;this.modelScene.autoRefine=!1;var Z=function(){u.works===T&&G===!1&&(u.needsRender=!0,u.modelSceneNeedsRender=!0,u.emit("camera.update",createEvent("camera.update",{state:u.getCurrentState(),userAction:s})),G=!0,u.modelScene.autoRefine=!0)},q=this.loadModels(T,m);U=Promise.all(q.map(function(ee){return ee.initReady})).then(noop$1),this.controller.once("pano.arrived",Z),this.controller.once("pano.cancel",Z),setTimeout(Z,((A=m.duration)!==null&&A!==void 0?A:this.modeChangeDuration)+1e3)}return this.emit("works.load",createEvent("works.load",{input:e,state:this.getCurrentState(),userAction:s,works:T})),U.then(function(){return u.ready()}).then(function(){var Y;u.emit("works.ready",createEvent("works.ready",{input:e,state:u.getCurrentState(),userAction:s,works:T})),(Y=u.analysis)===null||Y===void 0||Y.work(T)})},t.prototype.reset=function(){var e=this,r=this.loadWorkTask.then(function(){return e.reset_()});return this.loadWorkTask=r.catch(function(o){e.throwError(o)}),r},t.prototype.reset_=function(){var e=this;return new Promise(function(r){var o;e.controller&&(e.controller.destroy(),e.controller=void 0);var s=e.modelScene.parameter;s.pano0&&s.pano0.map.dispose(),s.pano1&&s.pano1.map!==((o=s.pano0)===null||o===void 0?void 0:o.map)&&s.pano1.map.dispose(),s.set({pano0:null,pano1:null,modelAlpha:1}),e.renderer&&e.modelScene.update(e.renderer,e.camera);for(var u=0,l=e.modelScene.children;u<l.length;u++){var c=l[u];c instanceof Model&&(c.dispose(),e.modelScene.remove(c))}e.needsRender=!0,e.modelSceneNeedsRender=!0,worksMap.delete(e);var p=parseWork(null),d=new Model(p);d.work=p,worksMap.set(e,createWorks([p])),e.currentMode="Mapview",e.pano={workCode:"",panoIndex:0},e.camera.setFromPose({distance:0,fov:DEFAULT_CAMERA_FOV,longitude:0,latitude:0,offset:new THREE__namespace.Vector3(0,0,0)}),e.state={mode:e.currentMode,workCode:e.pano.workCode,panoIndex:e.pano.panoIndex,longitude:e.camera.pose.longitude,latitude:e.camera.pose.latitude,fov:e.camera.pose.fov,offset:e.camera.pose.offset.clone(),distance:e.camera.pose.distance},e.camera.needsRender=!1,e.needsRender=!1,e.modelSceneNeedsRender=!1,r()})},t.prototype.changeMode=function(e,r,o,s,u){var l=this;return r===void 0&&(r={}),s===void 0&&(s=!0),u===void 0&&(u=!1),new Promise(function(c,p){var d,f,h,g;if(!l.renderer)throw new Error("renderer is not initialized.");r=__assign({},r);var A=0;l.controller&&(typeof o=="number"?A=o:A=(d=o==null?void 0:o.duration)!==null&&d!==void 0?d:l.modeChangeDuration);var m="fly";l.controller&&typeof o=="object"&&o.effect&&(m=o.effect);var E=typeof r.panoIndex=="number"?{workCode:(g=(f=r.workCode)!==null&&f!==void 0?f:(h=l.work)===null||h===void 0?void 0:h.workCode)!==null&&g!==void 0?g:"",panoIndex:r.panoIndex}:l.pano;if(!t.Mode.hasOwnProperty(e)){var v=new Error('mode "'.concat(e,'" is not existed'));l.throwError(v),p(v);return}if((e===t.Mode.Panorama||e===t.Mode.VRPanorama||e===t.Mode.XRPanorama)&&!l.works.getResolvedObserver(E)){var v=new Error("PanoId ".concat(panoStringify(E)," not existed."));l.throwError(v),p(v);return}(e===t.Mode.Floorplan||e===t.Mode.Topview||e===t.Mode.Mapview||e===t.Mode.Model)&&(l.modelScene.loaded||(A=0));var y=l.controller,b=l.currentMode,T=function(){if(l.controller&&l.controller.stopMomentumMovement(),l.controller&&u===!1&&b===e)e===t.Mode.Panorama||e===t.Mode.Model||e===t.Mode.VRPanorama||e===t.Mode.XRPanorama?!panoEqual(l.pano,E)&&"moveToPano"in l.controller&&typeof l.controller.moveToPano=="function"?l.controller.moveToPano(E,__assign({duration:A},r),s):l.controller.updateCamera(r,A,s).catch(noop$1):(panoEqual(l.pano,E)||(l.pano=E),l.controller.updateCamera(r,A,s).catch(noop$1));else{var S=__assign(__assign({},r),E),R=__assign(__assign({initial:{state:S,currentState:l.getCurrentState(),duration:A,effect:m,userAction:s}},l.commonParams()),l.controllerInits[e]),C=Controllers[e].initAnimationEndState(R),H=createEvent("mode.change.request",{prevMode:l.currentMode,mode:e,state:C,userAction:s});if(l.emit("mode.change.request",H),!H.defaultPrevented){y&&y.destroy(),l.controller=l.applyController(e,R);var B=createEvent("mode.change",{prevMode:l.currentMode,mode:e,state:C,userAction:s});l.emit("mode.change",B)}}c()};if(e===t.Mode.VRPanorama)l.requestFullscreen(),requestDeviceOrientationPermission().then(function(){return T()}).catch(function(S){S instanceof Error&&(l.exitFullscreen(),l.throwError(S),p(S))});else if(e===t.Mode.XRPanorama){var _=AnimationFrameLoop.shared.getContext();_?_.end():requestXRSessionPermission().then(function(S){AnimationFrameLoop.shared.setContext(S),T()}).catch(function(S){S instanceof Error&&(l.throwError(S),p(S))})}else T()})},t.prototype.getPixels=function(e,r,o,s,u,l,c){if(!this.renderer)throw new Error("renderer is not initialized.");var p=this.renderer.getPixelRatio(),d=this.renderer.getRenderTarget(),f=this.renderer.getSize(new THREE__namespace.Vector2),h=0,g=0,A=1,m=1,E,v,y,b,T;typeof e=="number"?(h=e,typeof r=="number"&&(g=r),typeof o=="number"&&(A=o),typeof s=="number"&&(m=s),E=u,v=l,T=c):(h=e.x,g=e.y,A=e.width,m=e.height,E=e.pixelRatio,v=e.flipY,y=e.helperVisible,b=e.skipPanorama,T=e.buffer),h=Math.ceil(h),g=Math.ceil(g),A=Math.ceil(A),m=Math.ceil(m),E=Math.ceil(E!=null?E:p),v=v!=null?v:!1;var _=this.helperVisible,S=this.modelScene.parameter.modelAlpha;this.helperVisible=y!=null?y:this.helperVisible,b&&(this.controller instanceof Controllers.Panorama||this.controller instanceof Controllers.VRPanorama||this.controller instanceof Controllers.XRPanorama)&&b===!0&&this.modelScene.parameter.set("modelAlpha",1),this.modelScene.update(this.renderer,this.camera);var R=this.getPixelsRenderTarget;R.setSize(A*E,m*E),this.renderer.setRenderTarget(R),this.camera.pixelRatio=E,this.camera.resolution.set(A,m),this.camera.setViewOffset(f.width,f.height,h,f.height-g-m,A,m),this.scene.update(this.renderer,this.camera),this.render(),this.helperVisible=_,S===void 0?this.modelScene.parameter.reset("modelAlpha"):this.modelScene.parameter.set("modelAlpha",S),this.renderer.setRenderTarget(d),this.camera.clearViewOffset(),this.camera.pixelRatio=p,this.getSize(this.camera.resolution),this.camera.aspect=this.camera.resolution.width/this.camera.resolution.height,this.modelScene.update(this.renderer,this.camera),this.scene.update(this.renderer,this.camera);var C=A*E,H=m*E,B=C*H,M=B*4;if(T){if(T.length!==M)throw new Error("buffer length is not equals pixels ".concat(M))}else T=new Uint8Array(M);if(this.renderer.readRenderTargetPixels(R,0,0,A*E,m*E,T),v)for(var w=B/2,P=0,O=0,L=0,N=0;O<w;O++)for(N=(H-Math.floor(O/C)-1)*C+O%C,L=0;L<4;L++)P=T[O*4+L],T[O*4+L]=T[N*4+L],T[N*4+L]=P;return T},t.prototype.getElement=function(){var e;return(e=this.renderer)===null||e===void 0?void 0:e.domElement},Object.defineProperty(t.prototype,"observers",{get:function(){return this.works.resolvedObservers},enumerable:!1,configurable:!0}),t.prototype.render=function(e){var r=this.renderer;if(r){var o=r.getRenderTarget(),s=r.autoClear,u=r.autoClearColor,l=r.autoClearDepth,c=r.autoClearStencil,p=scratchClearColor.copy(r.getClearColor()),d=r.getClearAlpha(),f=r.getViewport(scratchViewport),h=r.getScissor(scratchScissor),g=r.getScissorTest(),A=r.getSize(scratchRenderSize),m=r.getPixelRatio(),E=Math.floor(A.x*this.viewport.left),v=Math.floor(A.y*this.viewport.bottom),y=Math.floor(A.x*this.viewport.width),b=Math.floor(A.y*this.viewport.height);r.setClearColor(this.backgroundColor,this.backgroundAlpha),r.setViewport(E,v,y,b),r.setScissor(E,v,y,b);var T=this.viewport.bottom!==0||this.viewport.left!==0||this.viewport.width!==1||this.viewport.height!==1;r.setScissorTest(T);var _=this.scene.background;this.modelScene.background=this.camera.isOrthographicCamera?null:_,this.modelScene.environment=this.scene.environment,this.scene.background=null;var S=this.getBuiltinRenderer(r);S.setSize(A.x,A.y,m),this.controller?this.controller.render(S,this.onlyRenderIfNeeds?this.modelSceneNeedsRender:!0):S.render(this.onlyRenderIfNeeds?this.modelSceneNeedsRender:!0),this.scene.background=_,this.modelScene.background=null,this.modelScene.environment=null,this.poweredByRealsee&&this.currentMode!=="VRPanorama"&&this.currentMode!=="XRPanorama"&&r.getRenderTarget()!==this.getPixelsRenderTarget&&renderPoweredByRealsee(r),r.setRenderTarget(o),r.autoClear=s,r.autoClearColor=u,r.autoClearDepth=l,r.autoClearStencil=c,r.setClearColor(p,d),r.setViewport(f),r.setScissor(h),r.setScissorTest(g),e&&AnimationFrameLoop.shared.add(e,!0)}},t.prototype.updateTime=function(e,r){for(var o,s=this,u=[],l=2;l<arguments.length;l++)u[l-2]=arguments[l];if(this.currentUpdateArgs={time:e,args:u},!this.destroyed){if(this.renderer&&ktx2.detectSupport(this.renderer),this.works.update(),this.syncingState=this.syncState(e,r),this.controller&&(o=this.controller).updateTime.apply(o,__spreadArray([e,r],u,!1)),this.renderer&&(this.camera.pixelRatio=this.renderer.getPixelRatio(),this.getSize(this.camera.resolution),this.camera.aspect=this.camera.resolution.width/this.camera.resolution.height),this.camera.autoNearFar){var c=this.modelScene.boundingBox.getBoundingSphere(scratchSphere),p=c.radius*2;c.containsPoint(this.camera.position)||(p=this.camera.position.distanceTo(c.center)+c.radius),p=clamp$1(p,800,5e4),this.camera.far!==p&&(this.camera.far=p);var d=p/1e4;d=clamp$1(d,.03,.1),this.camera.near!==d&&(this.camera.near=d)}if(this.camera.controllerMode=this.currentMode,this.camera.updateTime(e),this.renderer){var f=this.modelScene.loaded,h=this.modelScene.refined;if(this.modelScene.loaded){for(var g=[],A=0,m=this.modelScene.children;A<m.length;A++){var E=m[A];E instanceof Model&&E.outdated&&g.push(E)}for(var v=0,y=g;v<y.length;v++){var b=y[v];this.modelScene.remove(b),b.dispose()}if(g.length>0)for(var T=0,_=this.modelScene.children;T<_.length;T++){var E=_[T];E instanceof Model&&(E.visible=!0,this.modelSceneNeedsRender=!0)}}this.modelScene.update(this.renderer,this.camera),f===!1&&this.modelScene.loaded===!0&&(this.controller&&this.controller.updateModel(this.modelScene),AnimationFrameLoop.shared.add(function(){s.emit("models.load",createEvent("models.load",{modelScene:s.modelScene}))},!0,0,10)),h===!1&&this.modelScene.refined===!0&&AnimationFrameLoop.shared.add(function(){s.emit("models.refined",createEvent("models.refined",{modelScene:s.modelScene}))},!0,0,10)}this.renderer&&this.scene.update(this.renderer,this.camera),this.syncingState=!1,this.controller&&(this.controller.needsRender===!0&&(this.controller.needsRender=!1,this.needsRender=!0),this.controller.modelSceneNeedsRender===!0&&(this.controller.modelSceneNeedsRender=!1,this.modelSceneNeedsRender=!0)),this.camera.needsRender===!0&&(this.camera.needsRender=!1,this.needsRender=!0,this.modelSceneNeedsRender=!0),this.modelScene.needsRender===!0&&(this.modelScene.needsRender=!1,this.needsRender=!0,this.modelSceneNeedsRender=!0),this.scene.needsRender===!0&&(this.scene.needsRender=!1,this.needsRender=!0),this.onlyRenderIfNeeds!==!0&&(this.needsRender=!0,this.modelSceneNeedsRender=!0),this.modelSceneNeedsRender===!0&&(this.needsRender=!0);var S=this.camera.resolution.width*this.camera.pixelRatio*this.camera.resolution.height*this.camera.pixelRatio;S>4096*2048?this.renderSwitch01=this.renderSwitch01^1:this.renderSwitch01=0,this.renderSwitch01!==0&&(this.needsRender=!1),this.paused===!0&&(this.needsRender=!1);var R=createEvent("render.prepare",{needsRender:this.needsRender});this.emit("render.prepare",R),R.defaultPrevented&&(this.needsRender=!1),this.renderer&&this.needsRender&&this.render(),this.emit("render",createEvent("render",{needsRender:this.needsRender})),this.needsRender=!1,this.modelSceneNeedsRender=!1,this.hasListener("fps")&&(this.fps.testTime&&e-this.fps.testTime<1e3?this.fps.testCount++:(this.emit("fps",this.fps.testCount),this.fps.testTime=e,this.fps.testCount=0))}},t.prototype.pause=function(){this.paused=!0,this.renderer&&this.renderer instanceof InternalWebGLRenderer&&this.renderer.clear(!0,!0,!0)},t.prototype.play=function(){this.needsRender=!0,this.modelSceneNeedsRender=!0,this.paused=!1},t.prototype.moveToPano=function(e,r,o){r===void 0&&(r={}),o===void 0&&(o=!0);var s=this,u=s.controller,l=s.renderer;if(!u)return this.throwError(new Error("controller is not initialized.")),Promise.resolve();if(!l)return this.throwError(new Error("renderer is not initialized.")),Promise.resolve();var c=this.works.getResolvedObserver(e);if(!c)return this.throwError(new Error("pano ".concat(JSON.stringify(e)," not existed."))),Promise.resolve();var p={workCode:c.work.workCode,panoIndex:c.panoIndex};return"moveToPano"in u&&typeof u.moveToPano=="function"?u.moveToPano(p,r,o):c&&(this.pano=p,this.once("initAnimation.start",function(d){r.moveStartCallback&&r.moveStartCallback(d.state)}),this.once("initAnimation.end",function(d){r.moveEndCallback&&r.moveEndCallback(d.state)}),this.changeMode(t.Mode.Panorama,r,{effect:r.effect},o)),this.ready()},t.prototype.preloadPano=function(e,r){var o=this;r===void 0&&(r=noop$1);var s=this.works.getResolvedObserver(e);if(!s)return Promise.reject(new Error("Pano ".concat(JSON.stringify(e)," never found")));var u=["right","left","up","down","front","back"],l=now();return Promise.all(u.map(function(c){var p=__assign({key:"pano.".concat(s.panoId,".").concat(c)},pick(o.imageOptions,["size","format","quality","mappings"])),d=s.images[c],f=o.imageOptions.transform?o.imageOptions.transform(d,p):imageURL(d,p);return getFetcher(s.work).preload(f)})).then(function(){var c=now()-l;return r(c),c})},t.prototype.project2d=function(e,r){if(r===void 0&&(r=!1),!this.renderer)return null;if(r){var o=this.camera.position,s=e.clone().sub(o),u=new THREE__namespace.Raycaster(o,s.clone().normalize());u.params.Points={threshold:.1};var l=this.modelScene.intersectRaycaster(u)[0];if(l&&l.distance+.01<s.length())return null}var c=e.clone().project(this.camera);if(Math.abs(c.z)>1)return null;var p=this.renderer.getSize(new THREE__namespace.Vector2),d=p.x*this.viewport.width,f=p.y*this.viewport.height,h=p.x*this.viewport.left+(c.x+1)/2*d,g=p.y*(1-this.viewport.bottom-this.viewport.height)+(-c.y+1)/2*f;return new THREE__namespace.Vector2(h,g)},t.prototype.getCurrentState=function(){return __assign(__assign({},this.camera.copyPose()),{mode:this.currentMode,workCode:this.pano.workCode,panoIndex:this.pano.panoIndex})},t.prototype.setState=function(e,r,o){var s,u,l,c,p,d,f,h,g,A;r===void 0&&(r=!1),o===void 0&&(o=!0),e=Object.assign({},e),e.offset&&!(e instanceof THREE__namespace.Vector3)&&(e.offset=new THREE__namespace.Vector3(e.offset.x,e.offset.y,e.offset.z));var m;if(typeof e.panoIndex=="number")if(e.workCode)m={workCode:e.workCode,panoIndex:e.panoIndex};else{var E=(u=(s=this.work)===null||s===void 0?void 0:s.workCode)!==null&&u!==void 0?u:"",v=this.state.workCode;this.works.filter(function(w){return w.workCode===v}).length>0&&(E=v),m={workCode:E,panoIndex:e.panoIndex}}var y=(l=e.mode)!==null&&l!==void 0?l:this.state.mode,b,T,_,S,R;if(this.controller&&this.controller.stopMomentumMovement(),this.state.mode!==y){if(y==="VRPanorama"){this.changeMode("VRPanorama",void 0,void 0,!0);return}var C={workCode:m==null?void 0:m.workCode,panoIndex:m==null?void 0:m.panoIndex};typeof e.longitude=="number"&&(C.longitude=e.longitude),typeof e.latitude=="number"&&(C.latitude=e.latitude),typeof e.fov=="number"&&(C.fov=e.fov),typeof e.distance=="number"&&(C.distance=e.distance),e.offset instanceof THREE__namespace.Vector3&&(C.offset=e.offset);var H=__assign(__assign({initial:{state:C,currentState:this.getCurrentState(),duration:this.modeChangeDuration,effect:"fly",userAction:!1}},this.commonParams()),this.controllerInits[y]),B=Controllers[y].initAnimationEndState(H);b=B.longitude,T=B.latitude,_=B.fov,S=B.offset,R=B.distance}else b=(c=e.longitude)!==null&&c!==void 0?c:this.state.longitude,T=(p=e.latitude)!==null&&p!==void 0?p:this.state.latitude,_=(d=e.fov)!==null&&d!==void 0?d:this.state.fov,S=(f=e.offset)!==null&&f!==void 0?f:this.state.offset,R=(h=e.distance)!==null&&h!==void 0?h:this.state.distance;var M={workCode:(m!=null?m:this.pano).workCode,panoIndex:(m!=null?m:this.pano).panoIndex,mode:y,longitude:b,latitude:T,fov:_,offset:S,distance:R};this.emit("state.set",createEvent("state.set",{userAction:o,state:M})),stateEqual(this.state,M)||(this.controller&&M.mode==="VRPanorama"&&M.mode!==this.state.mode?(assignState(this.state,M),this.changeMode("VRPanorama")):this.controller&&M.mode==="XRPanorama"&&M.mode!==this.state.mode?(assignState(this.state,M),this.changeMode("XRPanorama")):(assignState(this.state,M),this.controller&&o&&(this.controller.userAction=!1),r&&this.state.mode===M.mode&&(this.syncingState=this.syncState(now(),0,r),this.syncingState&&((g=this.controller)===null||g===void 0||g.updateTime(now(),0),this.syncingState=!1)),this.emit("state.change",createEvent("state.change",{userAction:o,state:this.state})),(A=this.analysis)===null||A===void 0||A.state(this.works,this.state)))},t.prototype.syncState=function(e,r,o){o===void 0&&(o=!1);var s=this.stateSynced;if(this.stateSynced=!1,!this.controller)return!1;if(this.state.mode!==this.currentMode){var u={mode:this.state.mode,workCode:this.state.workCode,panoIndex:this.state.panoIndex,longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset,distance:this.state.distance};return this.changeMode(this.state.mode,u,this.modeChangeDuration,this.controller.userAction),!0}if(!this.controller.isReady())return!1;if(this.controller instanceof Controllers.Model){if(notSimilarVector3(this.camera.pose.offset,this.state.offset)){var l={longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset};return this.controller.moveToPosition(this.state.offset,__assign(__assign({},l),{duration:o?0:void 0}),!1),!0}}else{var c={workCode:this.state.workCode,panoIndex:this.state.panoIndex};if(!panoEqual(c,this.pano)&&"moveToPano"in this.controller&&typeof this.controller.moveToPano=="function"){var l={longitude:this.state.longitude,latitude:this.state.latitude,fov:this.state.fov,offset:this.state.offset,distance:this.state.distance};return this.controller.moveToPano(c,l,!1),!0}}if(this.controller instanceof Controllers.Floorplan||this.controller instanceof Controllers.Topview||this.controller instanceof Controllers.Mapview){var p=1,d=.2,f=.2,h=Math.PI/45,g=o?this.state.fov:stepNumber(this.camera.pose.fov,this.state.fov,p),A=Math.abs(this.camera.pose.distance-this.state.distance),m=A>f*15?A/15:d,E=o?this.state.distance:stepNumber(this.camera.pose.distance,this.state.distance,m),v=this.camera.pose.offset.distanceTo(this.state.offset),y=v>f*15?v/15:f,b=o?new THREE__namespace.Vector3().copy(this.state.offset):stepVector(this.camera.pose.offset,this.state.offset,y),T=o?{longitude:this.state.longitude,latitude:this.state.latitude}:stepCoordinates({longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},{longitude:this.state.longitude,latitude:this.state.latitude},h),_=T.longitude,S=T.latitude;if(notSimilarValue(g,this.camera.pose.fov)||notSimilarVector3(b,this.camera.pose.offset)||notSimilarValue(E,this.camera.pose.distance)||notSimilarValue(_,this.camera.pose.longitude,Math.PI*2)||notSimilarValue(S,this.camera.pose.latitude)){var R={x:b.x,y:b.y,z:b.z},C={fov:g};return Object.assign(R,{distance:E}),Object.assign(C,{longitude:_,latitude:S}),this.controller.stopMomentumMovement(),this.controller.cameraMotion.set(C,0).catch(noop$1),this.controller.locationMotion.set(R,0).catch(noop$1),!0}}else{var H=1,B=Math.PI/45,g=o?this.state.fov:stepNumber(this.camera.pose.fov,this.state.fov,H),M=o?{longitude:this.state.longitude,latitude:this.state.latitude}:stepCoordinates({longitude:this.camera.pose.longitude,latitude:this.camera.pose.latitude},{longitude:this.state.longitude,latitude:this.state.latitude},B),_=M.longitude,S=M.latitude,E=this.state.distance,b=new THREE__namespace.Vector3().copy(this.state.offset);if(notSimilarValue(E,this.camera.pose.distance)&&(this.state.distance=this.camera.pose.distance),notSimilarVector3(b,this.camera.pose.offset)&&(this.state.offset=this.camera.pose.offset.clone()),notSimilarValue(_,this.camera.pose.longitude,Math.PI*2)||notSimilarValue(S,this.camera.pose.latitude)||notSimilarValue(g,this.camera.pose.fov))return this.controller.stopMomentumMovement(),this.controller.cameraMotion.set({longitude:_,latitude:S,fov:g},0).catch(noop$1),!0}if(this.stateSynced=!0,s===!1&&this.emit("state.synced",createEvent("state.synced",{userAction:!1,state:this.state})),this.readyCallbacks.length&&this.stateSynced){var w=this.currentMode,P=w===t.Mode.Floorplan||w===t.Mode.Topview||w===t.Mode.Mapview||w===t.Mode.Model;if(!P||this.modelScene.loaded){var O=this.readyCallbacks.slice();this.readyCallbacks.length=0;for(var L=0,N=O;L<N.length;L++){var V=N[L];this.controller instanceof Controllers.Panorama&&V.tile===!0&&!this.controller.isTileReady()?this.readyCallbacks.push(V):V()}}}return!1},t.prototype.ready=function(e){var r=this;return e===void 0&&(e={}),new Promise(function(o){var s;r.readyCallbacks.push(Object.assign(o,{tile:(s=e.tile)!==null&&s!==void 0?s:!1}))}).then(function(){return r.model.initReady})},t.prototype.requestFullscreen=function(){var e;if(isMobile){var r=(e=this.getElement())===null||e===void 0?void 0:e.parentNode;r&&"requestFullscreen"in r&&typeof document!="undefined"&&document.fullscreenElement===null&&r.requestFullscreen()}},t.prototype.exitFullscreen=function(){typeof document!="undefined"&&document.fullscreenElement&&"exitFullscreen"in document&&document.exitFullscreen()},t.prototype.throwError=function(e){this.hasListener("error")?this.emit("error",e):console.error(e)},t.prototype.loadModels=function(e,r){for(var o=this,s,u,l,c,p,d,f=new Map,h=!1,g=[],A=0,m=this.modelScene.children;A<m.length;A++){var E=m[A];E instanceof Model&&(E.outdated=!0,f.set(E.work.workCode,E),h=!0)}for(var v=function(T){var _=e[T],S=_.workCode&&f.get(_.workCode);if(S)S.work=_,S.outdated=!1,f.delete(_.workCode),g.push(S);else{var R=(l=(u=(s=r.model)===null||s===void 0?void 0:s.textureOptions)!==null&&u!==void 0?u:r.textureOptions)!==null&&l!==void 0?l:y.textureOptions,C=(p=(c=r.model)===null||c===void 0?void 0:c["3d-tiles"])!==null&&p!==void 0?p:r["3d-tiles"],H=new Model(_,{light:(d=r.model)===null||d===void 0?void 0:d.light,textureOptions:R});H.initReady.then(function(){if(C)if(typeof C=="function")for(var B=0,M=H.viewLayers;B<M.length;B++){var w=M[B],P=C(w,H,T);P&&(P.viewerRequestVolume&&(w.viewerRequestVolume=makeBoundingVolume(P.viewerRequestVolume)),w.parameter.set(omit(P,["showLayers"])),P.showLayers===!1?w.visible=!1:Array.isArray(P.showLayers)&&(w.visible=P.showLayers.includes(w.name)))}else for(var O=0,L=H.viewLayers;O<L.length;O++){var w=L[O];C.viewerRequestVolume&&(w.viewerRequestVolume=makeBoundingVolume(C.viewerRequestVolume)),w.parameter.set(omit(C,["showLayers"])),C.showLayers===!1?w.visible=!1:Array.isArray(C.showLayers)&&(w.visible=C.showLayers.includes(w.name))}}),g.push(H),h&&(H.visible=!1),y.modelScene.add(H),H.addEventListener("load",function(B){AnimationFrameLoop.shared.add(function(){o.emit("model.load",createEvent("model.load",{work:_,model:H,error:null}))},!0)}),H.addEventListener("changeShownFloor",function(B){o.emit("model.changeShownFloor",createEvent("model.changeShownFloor",{work:_,model:H,error:null}))}),H.addEventListener("error",function(B){var M=B.error;o.emit("model.error",createEvent("model.error",{work:_,model:H,error:M})),o.throwError(M)}),y.emit("model.request",createEvent("model.request",{work:_,model:H,error:null}))}},y=this,b=0;b<e.length;b++)v(b);return this.modelScene.loaded=!1,this.modelScene.refined=!1,g},t.prototype.commonParams=function(){return{ident:this.ident,scene:this.scene,xrCustomObjectsScene:this.xrCustomObjectsScene,helper:this.helperGroup,boundingMesh:this.boundingMesh,camera:this.camera,renderer:this.renderer,viewport:this.viewport,element:this.getElement(),works:this.works,imageOptions:this.imageOptions,enableWheel:this.enableWheel,extraElements:this.extraElements,videoTexture:this.videoTexture,modelScene:this.modelScene}},t.prototype.applyController=function(e,r){var o=this;if(!this.renderer)throw new Error("renderer is not initialized.");var s=Controllers[e];this.currentMode=e;for(var u=new s(r),l=function(g){u.on(g,function(){for(var A=[],m=0;m<arguments.length;m++)A[m]=arguments[m];var E=o.emit.apply(o,__spreadArray([g],A,!1));if(E)return!1})},c=0,p=PROXY_CONTROLLER_EVENT_NAMES;c<p.length;c++){var d=p[c];l(d)}{var f=Controllers[e].initAnimationEndState(r),h=r.initial.userAction;stateEqual(this.state,f)||(assignState(this.state,f),this.emit("state.change",createEvent("state.change",{userAction:h,state:this.state}))),this.emit("currentState.change",createEvent("currentState.change",{userAction:h,state:this.getCurrentState()}))}return u.on("camera.update",function(g){var A;if(o.controller){var m=o.controller.getTargetState();g.userAction&&o.syncingState===!1&&o.state.mode===m.mode&&!stateEqual(o.state,m)&&(assignState(o.state,m),o.emit("state.change",createEvent("state.change",{userAction:g.userAction,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}o.emit("currentState.change",createEvent("currentState.change",{userAction:g.userAction,state:o.getCurrentState()}))}),u.on("initAnimation.start",function(g){var A,m=g.state,E=g.userAction;E&&o.state.mode===m.mode&&!stateEqual(o.state,m)&&(assignState(o.state,m),o.emit("state.change",createEvent("state.change",{userAction:E,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),u.on("initAnimation.end",function(g){var A,m=g.state,E=g.userAction;o.pano={workCode:m.workCode,panoIndex:m.panoIndex},E&&o.state.mode===m.mode&&!stateEqual(o.state,m)&&(assignState(o.state,m),o.emit("state.change",createEvent("state.change",{userAction:E,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),u.on("pano.moveTo",function(g){var A,m=g.state,E=g.userAction;o.pano={workCode:m.workCode,panoIndex:m.panoIndex},E&&o.state.mode===m.mode&&!stateEqual(o.state,m)&&(assignState(o.state,m),o.emit("state.change",createEvent("state.change",{userAction:E,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),u.on("pano.arrived",function(g){var A,m=g.state,E=g.userAction;o.pano={workCode:m.workCode,panoIndex:m.panoIndex},E&&o.state.mode===m.mode&&!stateEqual(o.state,m)&&(assignState(o.state,m),o.emit("state.change",createEvent("state.change",{userAction:E,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),u.on("pano.cancel",function(g){var A,m=g.state,E=g.userAction;E&&o.state.mode===m.mode&&!stateEqual(o.state,m)&&(assignState(o.state,m),o.emit("state.change",createEvent("state.change",{userAction:E,state:o.state})),(A=o.analysis)===null||A===void 0||A.state(o.works,o.state))}),u.on("pano.moveTo",function(g){var A=g.userAction;o.emit("currentState.change",createEvent("currentState.change",{userAction:A,state:o.getCurrentState()}))}),u.on("pano.request",function(g){o.emit("pano.request",g),g.defaultPrevented||o.moveToPano(g.state,g.options,g.userAction)}),u.on("vr.requestExit",function(){o.currentMode===t.Mode.VRPanorama&&(o.exitFullscreen(),o.changeMode(t.Mode.Panorama))}),u.on("error",function(g){return o.throwError(g)}),u},t.prototype.removeEventListeners=function(){},Object.defineProperty(t.prototype,"internalLightsEnabled",{get:function(){var e=this.scene.children.find(function(r){return r.name==="internalLights"});return e?e.visible:!1},set:function(e){var r=this.scene.children.find(function(o){return o.name==="internalLights"});r&&(r.visible=e),r=this.modelScene.children.find(function(o){return o.name==="internalLights"}),r&&(r.visible=e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"scissor",{get:function(){return this.viewport},enumerable:!1,configurable:!0}),t.prototype.setScissor=function(e){return this.setViewport(e)},t.prototype.getPose=function(){var e=this.camera.copyPose(),r=e.longitude,o=e.latitude,s=e.fov,u=e.offset,l=e.distance;return{longitude:r,latitude:o,fov:s,offset:u.clone(),distance:l}},t.prototype.getLongitudeAndLatitude=function(){var e=this.getPose(),r=e.longitude,o=e.latitude;return{longitude:r,latitude:o}},t.prototype.getOffset=function(){return this.getPose().offset},t.prototype.getCameraLocal=function(){if(this.pano.workCode&&this.controller&&this.works){var e=this.works.getResolvedObserver(this.pano);if(e){var r=new THREE__namespace.Object3D;return r.position.copy(e.position),r.quaternion.copy(e.quaternion),r.scale.set(1,1,1),r.matrix.compose(r.position,r.quaternion,r.scale),r.matrixAutoUpdate=!1,cameraWorldToLocal(this.camera,r)}}return null},Object.defineProperty(t.prototype,"enableIOSEDR",{get:function(){return!1},set:function(e){},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableEDL",{get:function(){return this.renderEffect==="edl"},set:function(e){this.renderEffect=e?"edl":"default"},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enableHQ",{get:function(){return this.renderEffect==="hq"},set:function(e){this.renderEffect=e?"hq":"default"},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enablePostProcessing",{get:function(){return!1},set:function(e){},enumerable:!1,configurable:!0}),t.Mode={Panorama:"Panorama",Model:"Model",Floorplan:"Floorplan",Topview:"Topview",Mapview:"Mapview",VRPanorama:"VRPanorama",XRPanorama:"XRPanorama"},t}(Subscribe),__FIVE_DEBUG__={instances:{},constructor:Five};typeof window!="undefined"&&Object.assign(window,{__FIVE_DEBUG__});var XRButton=function(){function n(){}return n.createButton=function(t){var e=document.createElement("button");function r(){e.style.display="",e.style.cursor="pointer",e.style.left="calc(50% - 50px)",e.style.width="100px",e.textContent="ENTER VR",e.onmouseenter=function(){e.style.opacity="1.0"},e.onmouseleave=function(){e.style.opacity="0.5"},e.onclick=function(){t&&t()}}function o(){e.style.display="",e.style.cursor="auto",e.style.left="calc(50% - 75px)",e.style.width="150px",e.onmouseenter=null,e.onmouseleave=null,e.onclick=null}function s(){o(),e.textContent="VR NOT SUPPORTED"}function u(c){c.style.position="absolute",c.style.bottom="20px",c.style.padding="12px 6px",c.style.border="1px solid #fff",c.style.borderRadius="4px",c.style.background="rgba(0,0,0,0.1)",c.style.color="#fff",c.style.font="normal 13px sans-serif",c.style.textAlign="center",c.style.opacity="0.5",c.style.outline="none",c.style.zIndex="999"}if("xr"in navigator)return e.id="VRButton",e.style.display="none",u(e),navigator.xr.isSessionSupported("immersive-vr").then(function(c){c?r():s()}),e;var l=document.createElement("a");return window.isSecureContext===!1?(l.href=document.location.href.replace(/^http:/,"https:"),l.innerHTML="WEBXR NEEDS HTTPS"):(l.href="https://immersiveweb.dev/",l.innerHTML="WEBXR NOT AVAILABLE"),l.style.left="calc(50% - 90px)",l.style.width="180px",l.style.textDecoration="none",u(l),l},n}();exports.AnimationFrameLoop=AnimationFrameLoop;exports.Camera=Camera;exports.CustomShader=PBMCustomShader;exports.Fetcher=Fetcher;exports.Five=Five;exports.InternalWebGLRenderer=InternalWebGLRenderer;exports.Model=Model;exports.ModelScene=ModelScene;exports.Motion=Motion;exports.NetworkSubscribe=NetworkSubscribe;exports.PBMContainer=PBMContainer;exports.PBMCustomShader=PBMCustomShader;exports.PBMGroup=PBMGroup;exports.PBMMesh=PBMMesh;exports.PBMMeshMaterial=PBMMeshMaterial;exports.PBMPointCloud=PBMPointCloud;exports.PBMPointCloudMaterial=PBMPointCloudMaterial;exports.PBMSkinnedMesh=PBMSkinnedMesh;exports.PROXY_CONTROLLER_EVENT_NAMES=PROXY_CONTROLLER_EVENT_NAMES;exports.PanoCircleMesh=PanoCircleMesh;exports.PanoCircleMeshCustom=PanoCircleMeshCustom;exports.PanoCircleMeshSolid=PanoCircleMeshSolid;exports.Parameter=Parameter;exports.Scene=Scene;exports.Subscribe=Subscribe;exports.TextureLoader=TextureLoader;exports.Tile=Tile;exports.Tile3DModel=Tile3D;exports.TileCache=TileCache;exports.TileNode=TileNode;exports.TileRequestScheduler=TileRequestScheduler;exports.Tileset=Tileset;exports.Trajectory=Trajectory;exports.TrajectoryNode=TrajectoryNode;exports.Work=Work;exports.XRButton=XRButton;exports.controllersDefaultInitArgs=controllersDefaultInitArgs;exports.createDebugBoundingMesh=createDebugBoundingMesh;exports.createWorks=createWorks;exports.defaultImageURLTransform=imageURL;exports.draco=draco;exports.getFetcher=getFetcher;exports.getViewportScale=getViewportScale;exports.imageSupport=imageSupport;exports.isBoundingVolume=isBoundingVolume;exports.isPanoId=isPanoId;exports.ktx2=ktx2;exports.loadAt3d=loadAt3d;exports.loadB3dm=loadB3dm;exports.loadDome=loadDome;exports.loadDomez=loadDomez;exports.loadFbx=loadFbx;exports.loadGltf=loadGltf;exports.loadPbm=loadPbm;exports.loadPly=loadPly;exports.loadPnts=loadPnts;exports.loadX3p=loadX3p;exports.makeBoundingVolume=makeBoundingVolume;exports.panoEqual=panoEqual;exports.panoParse=panoParse;exports.panoStringify=panoStringify;exports.parseWork=parseWork;exports.registerFetcher=registerFetcher;exports.workRawMapping=workRawMapping;
|