@aibee/crc-bmap 0.12.13 → 0.12.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/lib/index.cjs +1 -1
- package/lib/index.esm.min.js +22 -22
- package/lib/index.online.esm.min.js +22 -22
- package/lib/index.online.min.js +1 -1
- package/package.json +1 -1
package/lib/index.online.min.js
CHANGED
|
@@ -12197,7 +12197,7 @@ void main() {
|
|
|
12197
12197
|
gl_FragColor = vec4(uColor2, uOpacity); // \u5176\u4ED6\u9762\u989C\u8272\uFF09
|
|
12198
12198
|
}
|
|
12199
12199
|
}
|
|
12200
|
-
`,n=-1/0,i=this.geometry.getAttribute("position");if(i)for(let a=0;a<i.count;a++){let l=i.getZ(a);l>n&&(n=l)}let o=new gr({uniforms:{maxZ:{value:n},uColor:{value:new ne(this.options[0].fillColor).convertLinearToSRGB()},uColor2:{value:new ne(J0(this.options[0].fillColor)).convertLinearToSRGB()},uOpacity:{value:this.options[0].fillOpacity}},vertexShader:t,fragmentShader:e,transparent:!0});this.material=o}initLineMaterial(){let t=hn.createLineMaterial({color:this.options[0].strokeColor,opacity:this.options[0].strokeOpacity});return this.lineMaterial=t,t}initMesh(){this.mesh&&this.remove(this.mesh),this.mesh=new en(this.geometry,this.material),this.add(this.mesh)}getBorderPoints(){let t=[],e=this.options[0].height+this.options[0].deltaHeight;return this.options.map(n=>{let{coords:i}=n.geometry;for(let o=0;o<i.length;o++){let a=i[o];for(let l=0;l<a.length;l++){let c=a[l],f=l+1===a.length?a[0]:a[l+1];t.push(new G(c[0],c[1],e)),t.push(new G(f[0],f[1],e))}}}),t}initLineGeometry(){this.lineGeometry&&this.lineGeometry.dispose();let t=this.getBorderPoints(),e=new qe().setFromPoints(t);this.lineGeometry=e}createBorder(){this.line&&this.remove(this.line);let t=new Yi(this.lineGeometry,this.lineMaterial);return t.position.z=.01,this.line=t,this.add(t),t}dispose(){var t,e;this.geometry?(this.geometry.dispose(),this._listeners={}):this.addEventListener("init-geometry",()=>{var n;(n=this.geometry)==null||n.dispose(),this._listeners={}}),(t=this.material)==null||t.dispose(),(e=this.line)==null||e.geometry.dispose(),this.clear()}constructor(t,e,n){super(),this.context=t,this.mergedElement=n,this.options=[],n?(this.options=[n],this.initMergedElement()):(this.options=e.map(i=>ee({},Uh,i)),this.init())}};var kee=H(Ge(),1),Vee=H(S1(),1);var kY={airHeight:0,deltaHeight:0,height:0,geometry:{cds:[],type:"polygon",coords:[],curveCpt:[],curveIndex:[]},texts:[],fillColor:"#ffffff",fillOpacity:0,strokeColor:"#ffffff",strokeOpacity:0,secondHeight:0,secondRotate:0,center_x:0,center_y:0},__=class extends Se{init(){return Ct(this,null,function*(){let t=yield Promise.all(this.options.map(a=>Ui.getTextureByText(a.texts[0],{fillStyle:b1(a.fillColor,a.fillOpacity),strokeStyle:b1(a.strokeColor,a.strokeOpacity),lineWidth:6,font:"bold 54px sans-serif",maxWidth:2048}))),e=t.map((a,l)=>{let c=this.options[l],{width:f,height:g}=a.texture.image,m=f/g,v=c.secondHeight*m,x=new Ju(v,c.secondHeight),S=new Ie().makeTranslation(c.center_x,c.center_y,c.airHeight+c.deltaHeight+c.height).multiply(new Ie().makeRotationZ(c.secondRotate));return x.applyMatrix4(S),x}),n=Ph(e,!0);e.forEach(a=>a.dispose());let i=t.map(a=>{let{texture:l}=a,c=new Ei({map:l,alphaTest:1,side:yi});return l.needsUpdate=!0,c}),o=new en(n,i);this.mesh=o,this.position.z+=.04,this.add(o)})}dispose(){var t,e,n;(t=this.mesh)==null||t.geometry.dispose(),(n=this.mesh)==null||(e=n.material)==null||e.forEach(i=>i.dispose()),this.clear()}constructor(t,e){super(),this.context=t,this.options=e.map(n=>ee({},kY,n)).filter(n=>n.texts[0].trim()),this.options.length&&this.init()}};var zh=class extends _0{constructor(){super(),this.isLineGeometry=!0,this.type="LineGeometry"}setPositions(t){let e=t.length-3,n=new Float32Array(2*e);for(let i=0;i<e;i+=3)n[2*i]=t[i],n[2*i+1]=t[i+1],n[2*i+2]=t[i+2],n[2*i+3]=t[i+3],n[2*i+4]=t[i+4],n[2*i+5]=t[i+5];return super.setPositions(n),this}setColors(t){let e=t.length-3,n=new Float32Array(2*e);for(let i=0;i<e;i+=3)n[2*i]=t[i],n[2*i+1]=t[i+1],n[2*i+2]=t[i+2],n[2*i+3]=t[i+3],n[2*i+4]=t[i+4],n[2*i+5]=t[i+5];return super.setColors(n),this}fromLine(t){let e=t.geometry;return this.setPositions(e.attributes.position.array),this}};var mg=class extends _c{constructor(t=new zh,e=new Au({color:Math.random()*16777215})){super(t,e),this.isLine2=!0,this.type="Line2"}};var vg=class extends Se{registryEvent(){this.context.addEventListener("resize",this.onResize)}unRegistryEvent(){this.context.removeEventListener("resize",this.onResize)}setPosition(t,e){this.lineGeometry.setPositions([t.x,t.y,t.z,e.x,e.y,e.z]),this.line||this.createLine()}createLine(){this.line=new mg(this.lineGeometry,this.lineMaterial),this.line.renderOrder=100003,this.add(this.line)}dispose(){var t;this.unRegistryEvent(),this.line&&Hr(this.line),this.lineGeometry=null,this.lineMaterial=null,this.clear(),(t=this.line)==null||t.clear(),this.line=null}constructor(t,e,n){super(),this.context=t,this.lineGeometry=new zh,this.lineMaterial=new Au({color:0,transparent:!0,depthTest:!1,linewidth:2}),this.line=null,this.onResize=()=>{let{width:i,height:o}=this.context.clientSize;this.lineMaterial.resolution.set(i,o)},this.onResize(),this.registryEvent(),e&&n&&this.setPosition(e,n)}};var ane=H(Sn(),1);var c_=class extends Se{loadModel(){return Ct(this,null,function*(){let t=yield bs.loadModel(this.options[0].url),e=[];t.scene.traverse(c=>{c.isMesh&&e.push({geometry:c.geometry,material:c.material,initialMatrix:c.matrix.clone()})});let n=e.map(c=>{let{geometry:f,material:g}=c;return new zs(f,g,this.options.length)});t.scene.rotation.set(Math.PI/2,0,0);let o=new Be().setFromObject(t.scene).getSize(new G),a=Math.max(o.x,o.y);this.options.map(c=>{let f=new Ie,g=c.width/a;return f.multiply(new Ie().makeTranslation(c.center_x,c.center_y,c.airHeight+c.deltaHeight)).multiply(new Ie().makeScale(g,g,g)).multiply(new Ie().makeRotationZ(c.rotate)).multiply(new Ie().makeRotationX(Math.PI/2)),f}).forEach((c,f)=>{n.forEach((g,m)=>{let v=c.clone().multiply(e[m].initialMatrix);g.setMatrixAt(f,v)})}),n.forEach(c=>{c.instanceMatrix.needsUpdate=!0,this.meshSetMaterial(c),this.add(c)})})}meshSetMaterial(t){t.isMesh&&(t.frustumCulled=!1,t.castShadow=!0,Array.isArray(t.material)?t.material.map(e=>{e.emissiveIntensity*=.95,e.emissive=e.color,e.emissiveMap=e.map}):(t.material.emissiveIntensity*=.95,t.material.emissive=t.material.color,t.material.emissiveMap=t.material.map))}dispose(){this.children.forEach(t=>t.dispose()),Hr(this),this.clear()}constructor(t,e){super(),this.context=t,this.options=e,this.loadModel()}};var Bh=class extends Se{init(){return Ct(this,null,function*(){this.geometry=this.initGeometry(),this.initMaterial(),this.initMesh(),this.mesh.position.z=this.options.deltaHeight+this.options.airHeight,this.options.lineGeometry&&(this.initLineMaterial(),this.initLineGeometry(),this.createBorder())})}initGeometry(){return this.loader.parseGeometries([this.options.mergedGeometry])[this.options.mergedGeometry.uuid]}initMaterial(){this.material=hn.GetMergeAttributeGraphicMaterial()}initLineMaterial(){return this.lineMaterial=hn.GetMergeAttributeGraphicLineMaterial()}initMesh(){this.mesh&&this.remove(this.mesh),this.mesh=new en(this.geometry,this.material),this.add(this.mesh)}initLineGeometry(){this.lineGeometry&&this.lineGeometry.dispose();let t=this.loader.parseGeometries([this.options.lineGeometry]);this.lineGeometry=t[this.options.lineGeometry.uuid]}createBorder(){this.line&&this.remove(this.line);let t=new Yi(this.lineGeometry,this.lineMaterial);return t.position.z=.01,this.line=t,this.add(t),t}dispose(){var t;this.geometry&&this.geometry.dispose(),(t=this.line)==null||t.geometry.dispose(),this.clear()}constructor(t,e){super(),this.context=t,this.loader=new Mu,this.options=ee({},Uh,e),this.init()}};var y_=class extends Se{initGeometry(){return Ct(this,null,function*(){let t=new Mu().parseGeometries([this.options.mergedGeometry]);this.geometry=t[this.options.mergedGeometry.uuid]})}init(){return Ct(this,null,function*(){yield this.initGeometry();let t=new en(this.geometry,ba.GetMergeAttributeWallMaterial());this.add(t)})}dispose(){var t;(t=this.geometry)==null||t.dispose(),this.clear()}constructor(t,e){super(),this.context=t,this.options=e,this.init()}};var wne=H(rp(),1),Tne=H(ec(),1),Ane=H(nc(),1),Cne=H(rc(),1),Rne=H(ic(),1),Pne=H(oc(),1),Ine=H(sc(),1),Lne=H(ac(),1),Nne=H(uc(),1),One=H(lc(),1),Dne=H(cc(),1),Une=H(hc(),1),Fne=H(fc(),1),Bne=H(pc(),1),zne=H(dc(),1);var hp=class extends Se{init(){return Ct(this,null,function*(){let t=this.options.iconUrl,e=yield wo.getTextureByUrl(t),n=new Ei({map:e,transparent:!0,alphaTest:.2,side:pa}),i=new zs(this.geometry,n,this.options.mergedMatrixes.size);i.instanceMatrix=new ao(new Float32Array(this.options.mergedMatrixes.array),16),this.add(i),this.position.z+=.004})}dispose(){var t;this.mesh&&Hr(this.mesh),(t=this.mesh)==null||t.dispose(),this.clear()}constructor(t,e){super(),this.context=t,this.geometry=new wf(new Qu([new ft(-.5,-.5),new ft(-.5,.5),new ft(.5,.5),new ft(.5,-.5)])),this.options=ee({},T6,e);let n=new We([0,0,0,1,1,1,1,0],2);this.geometry.setAttribute("uv",n),this.init()}};var Xne=H(Sn(),1);var x_=class extends Se{initGeometry(){return Ct(this,null,function*(){let t=this.loader.parseGeometries([this.options.mergedGeometry]);this.geometry=t[this.options.mergedGeometry.uuid]})}initMaterial(){let t=hn.createMeshBasicMaterial({color:"#ffffff",opacity:1,vertexColors:!0});return this.material=t,t}initDoubleLine(){if(this.options.dashedLineGeometry){let t=hn.createLine2MaterialMap({color:"#ffffff",width:.2,dashed:!0,resolution:new ft(this.context.clientSize.width,this.context.clientSize.height),vertexColors:!0}),e=new _0;e.setPositions(this.options.dashedLineGeometry.positions),e.setColors(this.options.dashedLineGeometry.colors);let n=new _c(e,t);n.computeLineDistances(),n.position.z+=.01,this.add(n),this.doubleLines.push(n)}if(this.options.lineGeometry){let t=hn.createLine2MaterialMap({color:"#ffffff",width:.2,dashed:!1,resolution:new ft(this.context.clientSize.width,this.context.clientSize.height),vertexColors:!0}),e=new _0;e.setPositions(this.options.lineGeometry.positions),e.setColors(this.options.lineGeometry.colors);let n=new _c(e,t);n.position.z+=.01,this.add(n),this.doubleLines.push(n)}}init(){return Ct(this,null,function*(){yield this.initGeometry(),this.initMaterial();let t=new en(this.geometry,this.material);this.add(t),this.initDoubleLine(),this.position.z+=.02})}dispose(){var t,e;(t=this.geometry)==null||t.dispose(),(e=this.lineGeometry)==null||e.dispose(),this.doubleLines.map(n=>n.geometry.dispose()),this.clear()}constructor(t,e){super(),this.context=t,this.options=e,this.doubleLines=[],this.loader=new Mu,this.init()}};var tre=H(rp(),1),ere=H(ec(),1),nre=H(nc(),1),rre=H(rc(),1),ire=H(ic(),1),ore=H(oc(),1),sre=H(sc(),1),are=H(ac(),1),ure=H(uc(),1),lre=H(lc(),1),cre=H(cc(),1),hre=H(hc(),1),fre=H(fc(),1),pre=H(pc(),1),dre=H(dc(),1),gre=H(Ge(),1);var a_=class extends Se{setParkingColorByIndex(t,e){this.mesh&&(this.mesh.setColorAt(t,new ne(e).convertLinearToSRGB()),this.mesh.instanceColor.needsUpdate=!0)}init(){return Ct(this,null,function*(){this.initMaterial(),this.initMesh(),this.mesh.position.z=this.options[0].deltaHeight+this.options[0].airHeight,this.options[0].strokeOpacity!==0&&(this.initLineMaterial(),this.initLineGeometry(),this.createBorder())})}initMaterial(){this.material=hn.GetInstancedParkingSpaceMaterial()}initLineMaterial(){let t=hn.GetMergeAttributeGraphicLineMaterial();this.lineMaterial=t}initMesh(){this.mesh&&this.remove(this.mesh),this.mesh=new zs(this.geometry,this.material,this.options.length);let t=new ao(new Float32Array(this.options.length),1),e=new ao(new Float32Array(this.options.length),1);this.options.forEach((n,i)=>{let o=n.geometry.coords[0],[a,l,c]=o.slice(0,3),f=Math.sqrt((l[0]-a[0])**2+(l[1]-a[1])**2),g=Math.sqrt((c[0]-l[0])**2+(c[1]-l[1])**2),m=[f,g],v=Math.max(...m),x=Math.min(...m),S;v===f?S=[l[0]-a[0],l[1]-a[1]]:S=[c[0]-l[0],c[1]-l[1]];let[w,E]=S,b=Math.atan2(E,w)-Math.PI/2,C=new Ie().compose(new G(n.center_coord_x,n.center_coord_y,(n.deltaHeight||0)+n.airHeight+n.height/2),new Xi().setFromAxisAngle(new G(0,0,1),b),new G(x,v,n.height));this.mesh.setMatrixAt(i,C),this.mesh.setColorAt(i,new ne(n.fillColor).convertLinearToSRGB()),t.array[i]=n.fillOpacity||1,e.array[i]=(n.deltaHeight||0)+n.airHeight+n.height}),this.geometry.setAttribute("opacity",t),this.geometry.setAttribute("maxZ",e),this.add(this.mesh),this.mesh.instanceMatrix.needsUpdate=!0}initLineGeometry(){this.lineGeometry&&this.lineGeometry.dispose();let{points:t,colors:e,opacities:n}=J1(this.options),i=new qe().setFromPoints(t);i.setAttribute("color",new He(new Float32Array(e),3)),i.setAttribute("opacity",new He(new Float32Array(n),1)),this.lineGeometry=i}createBorder(){this.line&&this.remove(this.line);let t=new Yi(this.lineGeometry,this.lineMaterial);return t.position.z=.01,this.line=t,this.add(t),t}dispose(){var t,e;this.geometry.dispose(),(t=this.mesh)==null||t.dispose(),(e=this.line)==null||e.geometry.dispose(),this.clear()}constructor(t,e){super(),this.context=t,this.geometry=new Eu(1,1,1),this.options=[],this.options=e.map(n=>ee({},Uh,n)),this.init()}};var Sre=H(rp(),1),bre=H(ec(),1),Mre=H(nc(),1),wre=H(rc(),1),Tre=H(ic(),1),Are=H(oc(),1),Cre=H(sc(),1),Rre=H(ac(),1),Pre=H(uc(),1),Ire=H(lc(),1),Lre=H(cc(),1),Nre=H(hc(),1),Ore=H(fc(),1),Dre=H(pc(),1),Ure=H(dc(),1);var u_=class extends Se{init(){return Ct(this,null,function*(){this.initMaterial(),this.initMesh(),this.option.lineGeometry&&(this.initLineMaterial(),this.initLineGeometry(),this.createBorder())})}setParkingColorByIndex(t,e){this.mesh&&(this.mesh.setColorAt(t,new ne(e).convertLinearToSRGB()),this.mesh.instanceColor.needsUpdate=!0)}initMaterial(){this.material=hn.GetInstancedParkingSpaceMaterial()}initLineMaterial(){return this.lineMaterial=hn.GetMergeAttributeGraphicLineMaterial()}initMesh(){this.mesh&&this.remove(this.mesh),this.mesh=new zs(this.geometry,this.material,this.option.size);let t=new ao(new Float32Array(this.option.opacities),1),e=new ao(new Float32Array(this.option.maxZ),1);this.mesh.instanceMatrix=new ao(new Float32Array(this.option.matrixes),16),this.mesh.instanceColor=new ao(new Float32Array(this.option.colors),3),this.geometry.setAttribute("opacity",t),this.geometry.setAttribute("maxZ",e),this.mesh.instanceMatrix.needsUpdate=!0,this.add(this.mesh)}initLineGeometry(){if(this.lineGeometry&&this.lineGeometry.dispose(),this.option.lineGeometry){let t=new Mu().parseGeometries([this.option.lineGeometry]);this.lineGeometry=t[this.option.lineGeometry.uuid]}}createBorder(){this.line&&this.remove(this.line);let t=new Yi(this.lineGeometry,this.lineMaterial);return t.position.z=.01,this.line=t,this.add(t),t}dispose(){var t,e;this.geometry.dispose(),(t=this.mesh)==null||t.dispose(),(e=this.line)==null||e.geometry.dispose(),this.clear()}constructor(t,e){super(),this.context=t,this.geometry=new Eu(1,1,1),this.option=e,this.init()}};var P6=class extends Ja{setEnable(t){super.setEnable(t),Ss(this.rect,0,0,0,0),t?this.registryEvent():(this.startPoint=void 0,this.unRegistryEvent())}registryEvent(){this.context.container.addEventListener("pointerdown",this.onPointerDown),this.context.container.addEventListener("pointermove",this.onPointerMove),this.context.container.addEventListener("pointerup",this.onPointerUp),this.context.addEventListener("update",this.onUpdate)}unRegistryEvent(){this.context.container.removeEventListener("pointerdown",this.onPointerDown),this.context.container.removeEventListener("pointermove",this.onPointerMove),this.context.container.removeEventListener("pointerup",this.onPointerUp),this.context.removeEventListener("update",this.onUpdate)}doSelect(){if(this.startPoint&&this.endPoint){if(this.startPoint.distanceTo(this.endPoint)<.1)return;let{context:{camera:e,container:{clientWidth:n,clientHeight:i}}}=this,o=sn(this.startPoint,e,n,i),a=sn(this.endPoint,e,n,i),l={x:Math.min(o.x,a.x),y:Math.min(o.y,a.y)},c={x:Math.max(o.x,a.x),y:Math.max(o.y,a.y)},f=this.searchMapInFrustum(l,c);this.dispatchEvent({type:"selected",list:f})}}searchMapInFrustum(t,e){var n;let{context:i}=this;return((n=i.currentFloor)==null?void 0:n.graphicLayer.children.filter(o=>o instanceof uo&&this.searchChildInFrustum(o,t,e)))||[]}searchChildInFrustum(t,e,n){let{context:{camera:i,container:{clientWidth:o,clientHeight:a}}}=this;if(!t)return!1;if(!t.mesh){let v=t.getPosition();if(v){let x=sn(v,i,o,a);return Yl(x,e,n)}return!1}t.mesh.geometry.boundingBox||t.mesh.geometry.computeBoundingBox();let l=t.mesh.geometry.boundingBox;if(!l)return!1;let{min:c,max:f}=l,g=sn(c,i,o,a),m=sn(f,i,o,a);return!(!Yl(g,e,n)||!Yl(m,e,n))}dispose(){super.dispose(),this.rect=null,this.unRegistryEvent()}constructor(t){super(t),this.frustum=new B0,this.onPointerDown=i=>{if(!this.enable)return;let o=this.getIntersectByPointerEvent(i);o&&(this.startPoint=o),this.endPoint=void 0},this.onPointerMove=i=>{if(!this.enable||!this.startPoint)return;let o=this.getIntersectByPointerEvent(i);o&&(this.endPoint=o)},this.onPointerUp=i=>{if(!this.enable)return;let o=this.getIntersectByPointerEvent(i);o&&(this.endPoint=o),this.doSelect(),this.startPoint=void 0},this.onUpdate=()=>{if(this.startPoint){let i=this.getSvgCoordinate(this.startPoint),o=ee({},i);this.endPoint&&(o=this.getSvgCoordinate(this.endPoint));let a={x:Math.min(i.x,o.x),y:Math.min(i.y,o.y)},l=Math.abs(o.x-i.x),c=Math.abs(o.y-i.y);Ss(this.rect,a.x,a.y,l,c)}else Ss(this.rect,0,0,0,0)};let{config:{selectBox:{fill:e,stroke:n}}}=t;this.rect=Zl(n,e),this.svg.appendChild(this.rect),this.registryEvent()}};var E_=class extends dn{get list(){return this._list}enableBoxSelection(){this.isMultipleSelect||!this.context.config.enableBoxSelect||(this.isMultipleSelect=!0,this.boxSelection.setEnable(!0),this.prevPanStatus=this.context.control.enablePan,this.prevRotateStatus=this.context.control.enableRotate,this.context.control.enablePan=!1,this.context.control.enableRotate=!1)}disableBoxSelection(){this.isMultipleSelect&&(this.isMultipleSelect=!1,this.boxSelection.setEnable(!1),this.context.control.enablePan=!!this.prevPanStatus,this.context.control.enableRotate=!!this.prevRotateStatus)}selectEnd(){this.dispatchEvent({type:"select",graphics:[...this._list],isMultipleSelect:this.isMultipleSelect})}registryEvent(){this.context.container.addEventListener("pointerdown",this.onPointerDown),this.context.container.addEventListener("pointerup",this.onPointerUp),this.context.container.addEventListener("pointerout",this.onPointerOut),this.context.container.addEventListener("pointercancel",this.onPointerOut),window.addEventListener("keydown",this.onKeyDown),window.addEventListener("keyup",this.onKeyUp),this.boxSelection.addEventListener("selected",this.onBoxSelected)}unRegistryEvent(){this.context.container.removeEventListener("pointerdown",this.onPointerDown),this.context.container.removeEventListener("pointerup",this.onPointerUp),this.context.container.removeEventListener("pointerout",this.onPointerOut),this.context.container.removeEventListener("pointercancel",this.onPointerOut),window.removeEventListener("keydown",this.onKeyDown),window.removeEventListener("keyup",this.onKeyUp),this.boxSelection.removeEventListener("selected",this.onBoxSelected)}clear(){this._list.clear()}remove(t){this._list.delete(t)}dispose(){this.unRegistryEvent()}constructor(t){super(),this.context=t,this._list=new Set,this.downPoint=null,this.downTime=0,this.isMultipleSelect=!1,this.onPointerDown=e=>{Date.now()-this.downTime<200||(this.downPoint={x:e.offsetX,y:e.offsetY},this.downTime=Date.now())},this.onPointerUp=e=>{if(!this.downPoint)return;let{offsetX:n,offsetY:i}=e,{x:o,y:a}=this.downPoint;if(Math.sqrt((o-n)**2+(a-i)**2)>3)return;let{graphics:l}=this.context.getGraphicsByDeviceXy(n,i),c=new Set(l.map(g=>g.options.id));this.context.getPoisByDeviceXy(n,i).forEach(g=>{if(!c.has(g.options.id)){var m;let v=((m=this.context.currentFloor)==null?void 0:m.graphicLayer.graphicMap.get(g.options.id))||null;v&&v.options.geometry.type==="point"&&(l.push(v),c.add(g.options.id))}}),(jf?e.metaKey:e.ctrlKey)||this._list.clear(),l.forEach(g=>this._list.add(g)),this.selectEnd(),this.downPoint=null},this.onPointerOut=e=>{this.disableBoxSelection()},this.onKeyDown=e=>{Yf(e.key)&&this.enableBoxSelection()},this.onKeyUp=e=>{Yf(e.key)&&this.disableBoxSelection()},this.onBoxSelected=e=>{let{list:n}=e;this._list.clear(),n.forEach(i=>{this._list.add(i)}),this.selectEnd()},this.boxSelection=new P6(t),this.boxSelection.setEnable(!1),this.registryEvent()}};var oie=H(n0(),1),sie=H(r0(),1),aie=H(i0(),1),uie=H(o0(),1),lie=H(s0(),1),cie=H(a0(),1),hie=H(u0(),1),fie=H(Ge(),1);var S_=class extends dn{handleHoverGraphicsChange(t){t===void 0&&(t=this.curGraphics),this.dispatchEvent({type:"hover-change",graphics:Array.from(t)})}registryEvent(){this.context.addEventListener("pointer-over",this.onPointerMove),this.context.addEventListener("pointer-move",this.onPointerMove),this.context.addEventListener("pointer-level",this.onPointerLevel),document.body.addEventListener("pointermove",this.onBodyPointerMove)}unRegistryEvent(){this.context.removeEventListener("pointer-over",this.onPointerMove),this.context.removeEventListener("pointer-move",this.onPointerMove),this.context.removeEventListener("pointer-level",this.onPointerLevel),document.body.removeEventListener("pointermove",this.onBodyPointerMove)}dispose(){this.unRegistryEvent(),this.timer.dispose()}constructor(t){super(),this.context=t,this.curGraphics=new Set,this.timer=new ui,this.graphicTimerMap=new Map,this.onPointerMove=e=>{let{graphics:n,pois:i,e:o}=e,a=i.map(g=>{var m;return(m=this.context.currentFloor)==null?void 0:m.graphicLayer.graphicMap.get(g.options.id)}).filter(g=>g&&g.options.geometry.type==="point");if(!n.length&&!a.length&&this.curGraphics.size){this.curGraphics.clear(),this.handleHoverGraphicsChange();return}let{time:l}=this.context.config.hover,c=new Set;if(a.length){let g,m=1e4;a.forEach(v=>{let x=i.find(S=>S.options.id===v.options.id);if(x instanceof Fh){let{x:S,y:w}=x.clientPos,E=Math.sqrt((S-o.offsetX)**2+(w-o.offsetY)**2);E<m&&(m=E,g=v)}else if(x instanceof pi){let{x:S,y:w}=x.box.getCenter(new ft),E=Math.sqrt((S-o.offsetX)**2+(w-o.offsetY)**2);E<m&&(m=E,g=v)}}),c.add(g)}c.size||n.forEach(g=>c.add(g)),c.forEach(g=>{if(this.graphicTimerMap.get(g)||this.curGraphics.has(g))return;let m=this.timer.setTimeout(()=>{this.curGraphics.add(g),this.graphicTimerMap.delete(g),this.timer.clearTimeout(m),this.handleHoverGraphicsChange()},l);this.graphicTimerMap.set(g,m)}),this.graphicTimerMap.forEach((g,m)=>{c.has(m)||(this.timer.clearTimeout(g),this.graphicTimerMap.delete(m))});let f=this.curGraphics.size;this.curGraphics.forEach(g=>{c.has(g)||this.curGraphics.delete(g)}),f!==this.curGraphics.size&&this.handleHoverGraphicsChange()},this.onPointerLevel=()=>{this.curGraphics.clear(),this.handleHoverGraphicsChange()},this.onBodyPointerMove=e=>{if(this.curGraphics.size){let n=this.context.container.getBoundingClientRect();(e.clientX<n.left||e.clientX>n.right||e.clientY<n.top||e.clientY>n.bottom)&&this.onPointerLevel()}},this.registryEvent()}};var vie=H(Ge(),1);var I6=class{updateBox(){this.box.setFromObject(this.context.scene)}setEnable(t){this.enable=t,t?this.registryEvent():this.unRegistryEvent()}changePrevCamera(){this.prevCamera={position:this.context.camera.position.clone(),zoom:this.context.camera.zoom,target:this.context.control.target.clone()}}backToPrevCamera(){this.setEnable(!1),this.context.camera.position.copy(this.prevCamera.position),this.context.camera.zoom=this.prevCamera.zoom,this.context.control.target.copy(this.prevCamera.target),this.context.control.update(),this.setEnable(!0)}registryEvent(){this.context.addEventListener("control-change",this.onCameraChange)}unRegistryEvent(){this.context.removeEventListener("control-change",this.onCameraChange)}getCurFloorScreenPosition(){if(!this.context.scene.children.filter(S=>S instanceof $a).length)return null;let e=this.box,{camera:n,clientSize:{width:i,height:o}}=this.context,{min:a,max:l}=e,f=[new G(a.x,a.y,a.z),new G(l.x,a.y,a.z),new G(a.x,l.y,a.z),new G(l.x,l.y,a.z),new G(a.x,a.y,l.z),new G(l.x,a.y,l.z),new G(a.x,l.y,l.z),new G(l.x,l.y,l.z)].map(S=>sn(S,n,i,o)),g=Math.min(...f.map(S=>S.x)),m=Math.max(...f.map(S=>S.x)),v=Math.min(...f.map(S=>S.y)),x=Math.max(...f.map(S=>S.y));return{left:g,right:m,top:v,bottom:x}}checkDistanceToScreenEdge(t){let{left:e,right:n,top:i,bottom:o}=t,{width:a,height:l}=this.context.clientSize,[c,f,g,m]=this.context.config.cameraBound.padding,v=Mr([[[e,i],[n,i],[n,o],[e,o],[e,i]]]),x=Mr([[[m,c],[a-f,c],[a-f,l-g],[m,l-g],[m,c]]]);try{return jd(v,x)!==null}catch(S){return console.warn("\u8BA1\u7B97\u4EA4\u96C6\u51FA\u9519:",S),!1}}dispose(){this.unRegistryEvent()}constructor(t){this.context=t,this.prevCamera={position:new G,zoom:1,target:new G},this.enable=!0,this.box=new Be,this.onCameraChange=()=>{let e=this.getCurFloorScreenPosition();if(e){let{left:n,right:i,top:o,bottom:a}=e;this.checkDistanceToScreenEdge({left:n,right:i,top:o,bottom:a})?this.changePrevCamera():this.backToPrevCamera()}},this.registryEvent(),this.changePrevCamera()}};var Nie=H(DR(),1);var Rie=H(Ge(),1),Pie=H(Sn(),1);var N6=new da,e8=new Ku,zbt=Math.cos(70*yd.DEG2RAD),O6=class extends dn{dispose(){this.domElement.removeEventListener("contextmenu",this.onContextMenu),this.domElement.removeEventListener("pointerdown",this.onPointerDown),this.domElement.removeEventListener("pointercancel",this.onPointerUp),this.domElement.removeEventListener("wheel",this.onMouseWheel),this.domElement.removeEventListener("pointermove",this.onPointerMove),this.domElement.removeEventListener("pointerup",this.onPointerUp),this._domElementKeyEvents!==null&&(this._domElementKeyEvents.removeEventListener("keydown",this.onKeyDown),this._domElementKeyEvents=null)}constructor(t,e){super(),this.rotateLineStart=new ft,this.rotateLineEnd=new ft,this.spherical=new If,this.sphericalDelta=new If,this.object=t,this.domElement=e,this.domElement.style.touchAction="none",this.enabled=!0,this.target=new G,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.keyPanSpeed=7,this.zoomToCursor=!1,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"},this.screenSpacePanning=!1,this.mouseButtons={LEFT:Lf.PAN,MIDDLE:Lf.DOLLY,RIGHT:Lf.ROTATE},this.touches={ONE:Nf.PAN,TWO:Nf.DOLLY_ROTATE},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._domElementKeyEvents=null,this.getPolarAngle=function(){return l.phi},this.getAzimuthalAngle=function(){return l.theta},this.getDistance=function(){return this.object.position.distanceTo(this.target)},this.listenToKeyEvents=function(st){st.addEventListener("keydown",this.onKeyDown),this._domElementKeyEvents=st},this.stopListenToKeyEvents=function(){var st;(st=this._domElementKeyEvents)==null||st.removeEventListener("keydown",this.onKeyDown),this._domElementKeyEvents=null},this.saveState=function(){n.target0.copy(n.target),n.position0.copy(n.object.position),n.zoom0=n.object.zoom},this.reset=function(){n.target.copy(n.target0),n.object.position.copy(n.position0),n.object.zoom=n.zoom0,n.object.updateProjectionMatrix(),n.dispatchEvent({type:"change"}),n.update(),o=i.NONE},this.update=function(){let st=new G,Ht=new Xi().setFromUnitVectors(t.up,new G(0,1,0)),Gt=Ht.clone().invert(),Kt=new G,se=new Xi,ut=new G,N=2*Math.PI;return function(Z){Z===void 0&&(Z=null);let Q=n.object.position;st.copy(Q).sub(n.target),st.applyQuaternion(Ht),l.setFromVector3(st),n.autoRotate&&o===i.NONE&&V(tt(Z)),n.enableDamping?(l.theta+=c.theta*n.dampingFactor,l.phi+=c.phi*n.dampingFactor):(l.theta+=c.theta,l.phi+=c.phi);let $=n.minAzimuthAngle,vt=n.maxAzimuthAngle;isFinite($)&&isFinite(vt)&&($<-Math.PI?$+=N:$>Math.PI&&($-=N),vt<-Math.PI?vt+=N:vt>Math.PI&&(vt-=N),$<=vt?l.theta=Math.max($,Math.min(vt,l.theta)):l.theta=l.theta>($+vt)/2?Math.max($,l.theta):Math.min(vt,l.theta)),l.phi=Math.max(n.minPolarAngle,Math.min(n.maxPolarAngle,l.phi)),l.makeSafe(),n.enableDamping===!0?n.target.addScaledVector(g,n.dampingFactor):n.target.add(g),n.zoomToCursor&&U||n.object.isOrthographicCamera?l.radius=bt(l.radius):l.radius=bt(l.radius*f),st.setFromSpherical(l),st.applyQuaternion(Gt),Q.copy(n.target).add(st),n.object.lookAt(n.target),n.enableDamping===!0?(c.theta*=1-n.dampingFactor,c.phi*=1-n.dampingFactor,g.multiplyScalar(1-n.dampingFactor)):(c.set(0,0,0),g.set(0,0,0));let gt=!1;if(n.zoomToCursor&&U){let Pt=null;if(n.object.isPerspectiveCamera){let Rt=st.length();Pt=bt(Rt*f);let Y=Rt-Pt;n.object.position.addScaledVector(P,Y),n.object.updateMatrixWorld()}else if(n.object.isOrthographicCamera){let Rt=new G(F.x,F.y,0);Rt.unproject(n.object),n.object.zoom=Math.max(n.minZoom,Math.min(n.maxZoom,n.object.zoom/f)),n.object.updateProjectionMatrix(),gt=!0;let Y=new G(F.x,F.y,0);Y.unproject(n.object),n.object.position.sub(Y).add(Rt),n.object.updateMatrixWorld(),Pt=st.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),n.zoomToCursor=!1;Pt!==null&&(n.screenSpacePanning?n.target.set(0,0,-1).transformDirection(n.object.matrix).multiplyScalar(Pt).add(n.object.position):(N6.origin.copy(n.object.position),N6.direction.set(0,0,-1).transformDirection(n.object.matrix),Math.abs(n.object.up.dot(N6.direction))<zbt?t.lookAt(n.target):(e8.setFromNormalAndCoplanarPoint(n.object.up,n.target),N6.intersectPlane(e8,n.target))))}else n.object.isOrthographicCamera&&(n.object.zoom=Math.max(n.minZoom,Math.min(n.maxZoom,n.object.zoom/f)),n.object.updateProjectionMatrix(),gt=!0);return f=1,U=!1,gt||Kt.distanceToSquared(n.object.position)>a||8*(1-se.dot(n.object.quaternion))>a||ut.distanceToSquared(n.target)>0?(n.dispatchEvent({type:"change"}),Kt.copy(n.object.position),se.copy(n.object.quaternion),ut.copy(n.target),gt=!1,!0):!1}}();let n=this,i={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6},o=i.NONE,a=1e-6,l=new If,c=new If,f=1,g=new G,m=new ft,v=new ft,x=new ft,S=new ft,w=new ft,E=new ft,b=new ft,C=new ft,A=new ft,P=new G,F=new ft,U=!1,D=[],L={};function tt(st){return st!==null?2*Math.PI/60*n.autoRotateSpeed*st:2*Math.PI/60/60*n.autoRotateSpeed}function O(){return Math.pow(.95,n.zoomSpeed)}function V(st){c.theta-=st}function W(st){c.phi-=st}let St=function(){let st=new G;return function(Gt,Kt){st.setFromMatrixColumn(Kt,0),st.multiplyScalar(-Gt),g.add(st)}}(),j=function(){let st=new G;return function(Gt,Kt){n.screenSpacePanning===!0?st.setFromMatrixColumn(Kt,1):(st.setFromMatrixColumn(Kt,0),st.crossVectors(n.object.up,st)),st.multiplyScalar(Gt),g.add(st)}}(),pt=function(){let st=new G;return function(Gt,Kt){let se=n.domElement;if(n.object.isPerspectiveCamera){let ut=n.object.position;st.copy(ut).sub(n.target);let N=st.length();N*=Math.tan(n.object.fov/2*Math.PI/180),St(2*Gt*N/se.clientHeight,n.object.matrix),j(2*Kt*N/se.clientHeight,n.object.matrix)}else n.object.isOrthographicCamera?(St(Gt*(n.object.right-n.object.left)/n.object.zoom/se.clientWidth,n.object.matrix),j(Kt*(n.object.top-n.object.bottom)/n.object.zoom/se.clientHeight,n.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),n.enablePan=!1)}}();function mt(st){n.object.isPerspectiveCamera||n.object.isOrthographicCamera?f/=st:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),n.enableZoom=!1)}function Lt(st){n.object.isPerspectiveCamera||n.object.isOrthographicCamera?f*=st:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),n.enableZoom=!1)}function yt(st){if(!n.zoomToCursor)return;U=!0;let Ht=n.domElement.getBoundingClientRect(),Gt=st.clientX-Ht.left,Kt=st.clientY-Ht.top,se=Ht.width,ut=Ht.height;F.x=Gt/se*2-1,F.y=-(Kt/ut)*2+1,P.set(F.x,F.y,1).unproject(n.object).sub(n.object.position).normalize()}function bt(st){return Math.max(n.minDistance,Math.min(n.maxDistance,st))}function nt(st){m.set(st.clientX,st.clientY)}function Xt(st){yt(st),b.set(st.clientX,st.clientY)}function Vt(st){S.set(st.clientX,st.clientY)}function he(st){v.set(st.clientX,st.clientY),x.subVectors(v,m).multiplyScalar(n.rotateSpeed);let Ht=n.domElement;V(2*Math.PI*x.x/Ht.clientHeight),W(2*Math.PI*x.y/Ht.clientHeight),m.copy(v),n.update()}function dt(st){C.set(st.clientX,st.clientY),A.subVectors(C,b),A.y>0?mt(O()):A.y<0&&Lt(O()),b.copy(C),n.update()}function jt(st){w.set(st.clientX,st.clientY),E.subVectors(w,S).multiplyScalar(n.panSpeed),pt(E.x,E.y),S.copy(w),n.update()}function ue(st){yt(st),st.deltaY<0?Lt(O()):st.deltaY>0&&mt(O()),n.update()}function me(st){let Ht=!1;switch(st.code){case n.keys.UP:st.ctrlKey||st.metaKey||st.shiftKey?W(2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):pt(0,n.keyPanSpeed),Ht=!0;break;case n.keys.BOTTOM:st.ctrlKey||st.metaKey||st.shiftKey?W(-2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):pt(0,-n.keyPanSpeed),Ht=!0;break;case n.keys.LEFT:st.ctrlKey||st.metaKey||st.shiftKey?V(2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):pt(n.keyPanSpeed,0),Ht=!0;break;case n.keys.RIGHT:st.ctrlKey||st.metaKey||st.shiftKey?V(-2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):pt(-n.keyPanSpeed,0),Ht=!0;break}Ht&&(st.preventDefault(),n.update())}function ae(){if(D.length===1)m.set(D[0].pageX,D[0].pageY);else{let st=(D[0].pageX-D[0].pageY)/(D[1].pageX-D[1].pageY),Ht=D[0].pageY-st*D[0].pageX;n.rotateLineStart.set(st,Ht);let Gt=.5*(D[0].pageX+D[1].pageX),Kt=.5*(D[0].pageY+D[1].pageY);m.set(Gt,Kt)}}function oe(){if(D.length===1)S.set(D[0].pageX,D[0].pageY);else{let st=.5*(D[0].pageX+D[1].pageX),Ht=.5*(D[0].pageY+D[1].pageY);S.set(st,Ht)}}function Yt(){let st=D[0].pageX-D[1].pageX,Ht=D[0].pageY-D[1].pageY,Gt=Math.sqrt(st*st+Ht*Ht);b.set(0,Gt)}function be(){n.enableZoom&&Yt(),n.enablePan&&oe()}function ot(){n.enableZoom&&Yt(),n.enableRotate&&ae()}function te(st){if(D.length==1)v.set(st.pageX,st.pageY);else{let Gt=Et(st),Kt=.5*(st.pageX+Gt.x),se=.5*(st.pageY+Gt.y);v.set(Kt,se);let ut=(st.pageY-Gt.y)/(st.pageX-Gt.x),N=Gt.y-ut*Gt.x;if(n.rotateLineEnd.set(ut,N),Number.isFinite(n.rotateLineEnd.x)&&Number.isFinite(n.rotateLineStart.x)){let z=(n.rotateLineStart.y-n.rotateLineEnd.y)/(n.rotateLineEnd.x-n.rotateLineStart.x),Z=ut*z+N;if(Number.isFinite(z)&&Number.isFinite(Z)){let Q=Math.atan(n.rotateLineEnd.x)-Math.atan(n.rotateLineStart.x);Math.PI-Math.abs(Q)<.5&&(Q=-Math.sign(Q)*(Math.PI-Math.abs(Q))),Math.abs(Q)<.1&&(c.theta+=Q)}}n.rotateLineStart.copy(n.rotateLineEnd)}x.subVectors(v,m).multiplyScalar(n.rotateSpeed);let Ht=n.domElement;W(2*Math.PI*x.y/Ht.clientHeight),m.copy(v)}function Dt(st){if(D.length===1)w.set(st.pageX,st.pageY);else{let Ht=Et(st),Gt=.5*(st.pageX+Ht.x),Kt=.5*(st.pageY+Ht.y);w.set(Gt,Kt)}E.subVectors(w,S).multiplyScalar(n.panSpeed),pt(E.x,E.y),S.copy(w)}function $t(st){let Ht=Et(st),Gt=st.pageX-Ht.x,Kt=st.pageY-Ht.y,se=Math.sqrt(Gt*Gt+Kt*Kt);C.set(0,se),A.set(0,Math.pow(C.y/b.y,n.zoomSpeed)),mt(A.y),b.copy(C)}function kt(st){n.enableZoom&&$t(st),n.enablePan&&Dt(st)}function de(st){n.enableZoom&&$t(st),n.enableRotate&&te(st)}this.onPointerDown=function(Ht){n.enabled!==!1&&(D.length===0&&(n.domElement.setPointerCapture(Ht.pointerId),n.domElement.addEventListener("pointermove",n.onPointerMove),n.domElement.addEventListener("pointerup",n.onPointerUp)),X(Ht),Ht.pointerType==="touch"?xe(Ht):ge(Ht))},this.onPointerMove=function(Ht){n.enabled!==!1&&(Ht.pointerType==="touch"?it(Ht):qt(Ht))},this.onPointerUp=function(Ht){Ut(Ht),D.length===0&&(n.domElement.releasePointerCapture(Ht.pointerId),n.domElement.removeEventListener("pointermove",n.onPointerMove),n.domElement.removeEventListener("pointerup",n.onPointerUp)),n.dispatchEvent({type:"end"}),o=i.NONE};function ge(st){let Ht;switch(st.button){case 0:Ht=n.mouseButtons.LEFT;break;case 1:Ht=n.mouseButtons.MIDDLE;break;case 2:Ht=n.mouseButtons.RIGHT;break;default:Ht=-1}switch(Ht){case Lf.DOLLY:if(n.enableZoom===!1)return;Xt(st),o=i.DOLLY;break;case Lf.ROTATE:if(st.ctrlKey||st.metaKey||st.shiftKey){if(n.enablePan===!1)return;Vt(st),o=i.PAN}else{if(n.enableRotate===!1)return;nt(st),o=i.ROTATE}break;case Lf.PAN:if(st.ctrlKey||st.metaKey||st.shiftKey){if(n.enableRotate===!1)return;nt(st),o=i.ROTATE}else{if(n.enablePan===!1)return;Vt(st),o=i.PAN}break;default:o=i.NONE}o!==i.NONE&&n.dispatchEvent({type:"start"})}function qt(st){switch(o){case i.ROTATE:if(n.enableRotate===!1)return;he(st);break;case i.DOLLY:if(n.enableZoom===!1)return;dt(st);break;case i.PAN:if(n.enablePan===!1)return;jt(st);break}}this.onMouseWheel=function(Ht){n.enabled===!1||n.enableZoom===!1||o!==i.NONE||(Ht.preventDefault(),n.dispatchEvent({type:"start"}),ue(Ht),n.dispatchEvent({type:"end"}))},this.onKeyDown=function(Ht){n.enabled===!1||n.enablePan===!1||me(Ht)};function xe(st){switch(zt(st),D.length){case 1:switch(n.touches.ONE){case Nf.ROTATE:if(n.enableRotate===!1)return;ae(),o=i.TOUCH_ROTATE;break;case Nf.PAN:if(n.enablePan===!1)return;oe(),o=i.TOUCH_PAN;break;default:o=i.NONE}break;case 2:switch(n.touches.TWO){case Nf.DOLLY_PAN:if(n.enableZoom===!1&&n.enablePan===!1)return;be(),o=i.TOUCH_DOLLY_PAN;break;case Nf.DOLLY_ROTATE:if(n.enableZoom===!1&&n.enableRotate===!1)return;ot(),o=i.TOUCH_DOLLY_ROTATE;break;default:o=i.NONE}break;default:o=i.NONE}o!==i.NONE&&n.dispatchEvent({type:"start"})}function it(st){switch(zt(st),o){case i.TOUCH_ROTATE:if(n.enableRotate===!1)return;te(st),n.update();break;case i.TOUCH_PAN:if(n.enablePan===!1)return;Dt(st),n.update();break;case i.TOUCH_DOLLY_PAN:if(n.enableZoom===!1&&n.enablePan===!1)return;kt(st),n.update();break;case i.TOUCH_DOLLY_ROTATE:if(n.enableZoom===!1&&n.enableRotate===!1)return;de(st),n.update();break;default:o=i.NONE}}this.onContextMenu=function(Ht){n.enabled!==!1&&Ht.preventDefault()};function X(st){D.push(st)}function Ut(st){delete L[st.pointerId];for(let Ht=0;Ht<D.length;Ht++)if(D[Ht].pointerId==st.pointerId){D.splice(Ht,1);return}}function zt(st){let Ht=L[st.pointerId];Ht===void 0&&(Ht=new ft,L[st.pointerId]=Ht),Ht.set(st.pageX,st.pageY)}function Et(st){let Ht=st.pointerId===D[0].pointerId?D[1]:D[0];return L[Ht.pointerId]}n.domElement.addEventListener("contextmenu",this.onContextMenu),n.domElement.addEventListener("pointerdown",this.onPointerDown),n.domElement.addEventListener("pointercancel",this.onPointerUp),n.domElement.addEventListener("wheel",this.onMouseWheel,{passive:!1}),this.update()}};var D6=class extends O6{registryEvent(){this.addEventListener("change",this.onChange),this.context.addEventListener("update",this.tweenUpdate)}unRegistryEvent(){this.removeEventListener("change",this.onChange),this.context.removeEventListener("update",this.tweenUpdate)}setPolarAngle(t,e){e===void 0&&(e=!1);let{maxPolarAngle:n,minPolarAngle:i}=this,o=n===i;(e||t<=n&&t>=i)&&(this.maxPolarAngle=t,this.minPolarAngle=t,this.update()),o||(this.maxPolarAngle=n,this.minPolarAngle=i)}setPolarAngleByDuration(t,e,n){return Ct(this,null,function*(){return e===void 0&&(e=!1),n===void 0&&(n=500),n<=0?this.setPolarAngle(t,e):Ya(new Promise(i=>{let o={polar:this.getPolarAngle()},a={polar:t},l=new Za(o,this.tweenGroup).to(a,n).onUpdate(()=>{this.setPolarAngle(o.polar,e)}).onComplete(()=>{this.enabled=!0,this.tweenGroup.remove(l),i(!0)}).onStart(()=>{this.enabled=!1}).start()}),n+500)})}setAzimuthalAngle(t,e){let{maxAzimuthAngle:n,minAzimuthAngle:i}=this,o=n===i;(e||t<=n&&t>=i)&&(this.maxAzimuthAngle=t,this.minAzimuthAngle=t,this.update()),o||(this.maxAzimuthAngle=n,this.minAzimuthAngle=i)}setAzimuthalAngleDuration(t,e,n){return e===void 0&&(e=!1),n===void 0&&(n=500),n<=0?this.setAzimuthalAngle(t,e):Ya(new Promise(i=>{let o={azimuthal:this.getAzimuthalAngle()},a={azimuthal:t},l=new Za(o,this.tweenGroup).to(a,n).onUpdate(()=>{this.setAzimuthalAngle(o.azimuthal,e)}).onComplete(()=>{this.enabled=!0,this.tweenGroup.remove(l),i(!0)}).onStart(()=>{this.enabled=!1}).start()}),n+500)}getCameraLookAt(){return new G().subVectors(this.target,this.camera.position)}setCameraPositionByTarget(t,e){return Ct(this,null,function*(){let n=this.target.clone(),i=this.getCameraLookAt();if(!e){this.camera.position.copy(t.clone().sub(i)),this.target.copy(t.clone()),this.update();return}return Ya(new Promise(o=>{let a=new Za(n,this.tweenGroup).to(t,e).onUpdate(()=>{this.camera.position.copy(n.clone().sub(i)),this.target.copy(n.clone()),this.update()}).onComplete(()=>{this.tweenGroup.remove(a),this.enabled=!0,o(!0)}).onStart(()=>{this.enabled=!1}).start()}),e+500)})}setZoom(t,e,n){n===void 0&&(n=!1);let{minZoom:i,maxZoom:o}=this;(n||t>=i&&t<=o)&&(this.camera.position.copy(e.clone().sub(this.getCameraLookAt())),this.target.copy(e),this.camera.zoom=t,this.update())}setZoomByDuration(t,e,n,i){return Ct(this,null,function*(){n===void 0&&(n=!1),i===void 0&&(i=500);let o={zoom:this.camera.zoom,target:this.target.clone()};if(t!==this.camera.zoom)return i?Ya(new Promise(a=>{let l=new Za(o,this.tweenGroup).to({zoom:t,target:e},i).onUpdate(()=>{this.setZoom(o.zoom,o.target,n)}).onComplete(()=>{this.tweenGroup.remove(l),this.enabled=!0,a(!0)}).onStart(()=>{this.enabled=!1}).start()}),i+500).finally(()=>{this.enabled=!0}):this.setZoom(t,e,n)})}setTargetByOffset(t,e){if(e===void 0&&(e=this.target.clone()),this.camera.updateMatrix(),t){let n=new G;n.setFromMatrixColumn(this.camera.matrix,1),n.normalize(),n.multiplyScalar(t/this.camera.zoom),e.add(n)}this.setCameraPositionByTarget(e,0)}clearTween(){this.tweenGroup.getAll().forEach(t=>t.stop()),this.tweenGroup.removeAll()}dispose(){super.dispose(),this.unRegistryEvent(),this.clearTween()}constructor(t,e,n){super(e,n),this.context=t,this.camera=e,this.domElement=n,this.prevCameraZoom=1,this.tweenGroup=new Rv,this.offsetY=0,this.onChange=()=>{let i=this.camera.zoom;i!==this.prevCameraZoom&&(this.prevCameraZoom=i,this.dispatchEvent({type:"change-zoom",zoom:i}))},this.tweenUpdate=()=>{this.tweenGroup.update()},this.enableDamping=!1,this.zoomSpeed=.5,this.prevCameraZoom=e.zoom,this.registryEvent()}};var U6=class extends wm{setCameraAndScene(t,e){this.scene=t,this.camera=e}autoRender(){this.scene&&this.camera&&this.enable&&(this.event.dispatchEvent({type:"update"}),this.render(this.scene,this.camera)),this.timer.requestAnimationFrame(()=>{this.autoRender()})}pauseRender(){this.enable=!1}continueRender(){this.enable=!0}addEventListener(t,e){this.event.addEventListener(t,e)}removeEventListener(t,e){this.event.removeEventListener(t,e)}constructor(t){super(ee({antialias:!0,alpha:!0},t)),this.event=new dn,this.enable=!0,this.timer=new ui,this.autoClear=!0,this.setPixelRatio(window.devicePixelRatio),this.shadowMap.enabled=!0,this.shadowMap.autoUpdate=!0,this.shadowMap.type=Zb;let e=this.dispose;this.dispose=()=>{this.timer.dispose(),this.enable=!1,e.call(this),this.domElement.remove(),this.domElement=null,this.shadowMap=null,this.info.programs&&(this.info.programs.length=0),this.info=null}}};var F6=class extends Q2{constructor(t){super(t),this.type=F0}parse(t){let a=function(L,tt){switch(L){case 1:throw new Error("THREE.RGBELoader: Read Error: "+(tt||""));case 2:throw new Error("THREE.RGBELoader: Write Error: "+(tt||""));case 3:throw new Error("THREE.RGBELoader: Bad File Format: "+(tt||""));default:case 4:throw new Error("THREE.RGBELoader: Memory Error: "+(tt||""))}},g=`
|
|
12200
|
+
`,n=-1/0,i=this.geometry.getAttribute("position");if(i)for(let a=0;a<i.count;a++){let l=i.getZ(a);l>n&&(n=l)}let o=new gr({uniforms:{maxZ:{value:n},uColor:{value:new ne(this.options[0].fillColor).convertLinearToSRGB()},uColor2:{value:new ne(J0(this.options[0].fillColor)).convertLinearToSRGB()},uOpacity:{value:this.options[0].fillOpacity}},vertexShader:t,fragmentShader:e,transparent:!0});this.material=o}initLineMaterial(){let t=hn.createLineMaterial({color:this.options[0].strokeColor,opacity:this.options[0].strokeOpacity});return this.lineMaterial=t,t}initMesh(){this.mesh&&this.remove(this.mesh),this.mesh=new en(this.geometry,this.material),this.add(this.mesh)}getBorderPoints(){let t=[],e=this.options[0].height+this.options[0].deltaHeight;return this.options.map(n=>{let{coords:i}=n.geometry;for(let o=0;o<i.length;o++){let a=i[o];for(let l=0;l<a.length;l++){let c=a[l],f=l+1===a.length?a[0]:a[l+1];t.push(new G(c[0],c[1],e)),t.push(new G(f[0],f[1],e))}}}),t}initLineGeometry(){this.lineGeometry&&this.lineGeometry.dispose();let t=this.getBorderPoints(),e=new qe().setFromPoints(t);this.lineGeometry=e}createBorder(){this.line&&this.remove(this.line);let t=new Yi(this.lineGeometry,this.lineMaterial);return t.position.z=.01,this.line=t,this.add(t),t}dispose(){var t,e;this.geometry?(this.geometry.dispose(),this._listeners={}):this.addEventListener("init-geometry",()=>{var n;(n=this.geometry)==null||n.dispose(),this._listeners={}}),(t=this.material)==null||t.dispose(),(e=this.line)==null||e.geometry.dispose(),this.clear()}constructor(t,e,n){super(),this.context=t,this.mergedElement=n,this.options=[],n?(this.options=[n],this.initMergedElement()):(this.options=e.map(i=>ee({},Uh,i)),this.init())}};var kee=H(Ge(),1),Vee=H(S1(),1);var kY={airHeight:0,deltaHeight:0,height:0,geometry:{cds:[],type:"polygon",coords:[],curveCpt:[],curveIndex:[]},texts:[],fillColor:"#ffffff",fillOpacity:0,strokeColor:"#ffffff",strokeOpacity:0,secondHeight:0,secondRotate:0,center_x:0,center_y:0},__=class extends Se{init(){return Ct(this,null,function*(){let t=yield Promise.all(this.options.map(a=>Ui.getTextureByText(a.texts[0],{fillStyle:b1(a.fillColor,a.fillOpacity),strokeStyle:b1(a.strokeColor,a.strokeOpacity),lineWidth:6,font:"bold 54px sans-serif",maxWidth:2048}))),e=t.map((a,l)=>{let c=this.options[l],{width:f,height:g}=a.texture.image,m=f/g,v=c.secondHeight*m,x=new Ju(v,c.secondHeight),S=new Ie().makeTranslation(c.center_x,c.center_y,c.airHeight+c.deltaHeight+c.height).multiply(new Ie().makeRotationZ(c.secondRotate));return x.applyMatrix4(S),x}),n=Ph(e,!0);e.forEach(a=>a.dispose());let i=t.map(a=>{let{texture:l}=a,c=new Ei({map:l,alphaTest:1,side:yi});return l.needsUpdate=!0,c}),o=new en(n,i);this.mesh=o,this.position.z+=.04,this.add(o)})}dispose(){var t,e,n;(t=this.mesh)==null||t.geometry.dispose(),(n=this.mesh)==null||(e=n.material)==null||e.forEach(i=>i.dispose()),this.clear()}constructor(t,e){super(),this.context=t,this.options=e.map(n=>ee({},kY,n)).filter(n=>n.texts[0].trim()),this.options.length&&this.init()}};var zh=class extends _0{constructor(){super(),this.isLineGeometry=!0,this.type="LineGeometry"}setPositions(t){let e=t.length-3,n=new Float32Array(2*e);for(let i=0;i<e;i+=3)n[2*i]=t[i],n[2*i+1]=t[i+1],n[2*i+2]=t[i+2],n[2*i+3]=t[i+3],n[2*i+4]=t[i+4],n[2*i+5]=t[i+5];return super.setPositions(n),this}setColors(t){let e=t.length-3,n=new Float32Array(2*e);for(let i=0;i<e;i+=3)n[2*i]=t[i],n[2*i+1]=t[i+1],n[2*i+2]=t[i+2],n[2*i+3]=t[i+3],n[2*i+4]=t[i+4],n[2*i+5]=t[i+5];return super.setColors(n),this}fromLine(t){let e=t.geometry;return this.setPositions(e.attributes.position.array),this}};var mg=class extends _c{constructor(t=new zh,e=new Au({color:Math.random()*16777215})){super(t,e),this.isLine2=!0,this.type="Line2"}};var vg=class extends Se{registryEvent(){this.context.addEventListener("resize",this.onResize)}unRegistryEvent(){this.context.removeEventListener("resize",this.onResize)}setPosition(t,e){this.lineGeometry.setPositions([t.x,t.y,t.z,e.x,e.y,e.z]),this.line||this.createLine()}createLine(){this.line=new mg(this.lineGeometry,this.lineMaterial),this.line.renderOrder=100003,this.add(this.line)}dispose(){var t;this.unRegistryEvent(),this.line&&Hr(this.line),this.lineGeometry=null,this.lineMaterial=null,this.clear(),(t=this.line)==null||t.clear(),this.line=null}constructor(t,e,n){super(),this.context=t,this.lineGeometry=new zh,this.lineMaterial=new Au({color:0,transparent:!0,depthTest:!1,linewidth:2}),this.line=null,this.onResize=()=>{let{width:i,height:o}=this.context.clientSize;this.lineMaterial.resolution.set(i,o)},this.onResize(),this.registryEvent(),e&&n&&this.setPosition(e,n)}};var ane=H(Sn(),1);var c_=class extends Se{loadModel(){return Ct(this,null,function*(){let t=yield bs.loadModel(this.options[0].url);t.scene.updateMatrixWorld(!0);let e=t.scene.matrixWorld.clone().invert(),n=[];t.scene.traverse(f=>{if(f.isMesh){let g=e.clone().multiply(f.matrixWorld);n.push({geometry:f.geometry,material:f.material,initialMatrix:g})}});let i=n.map(f=>{let{geometry:g,material:m}=f;return new zs(g,m,this.options.length)});t.scene.rotation.set(Math.PI/2,0,0);let a=new Be().setFromObject(t.scene).getSize(new G),l=Math.max(a.x,a.y);this.options.map(f=>{let g=new Ie,m=f.width/l;return g.multiply(new Ie().makeTranslation(f.center_x,f.center_y,f.airHeight+f.deltaHeight)).multiply(new Ie().makeScale(m,m,m)).multiply(new Ie().makeRotationZ(f.rotate)).multiply(new Ie().makeRotationX(Math.PI/2)),f.url==="https://robot-vr-public.cdn.bcebos.com/ai-map-resource/757/1865371442288267264/smzsdrc.glb"&&console.log(f,g),g}).forEach((f,g)=>{i.forEach((m,v)=>{let x=f.clone().multiply(n[v].initialMatrix);m.setMatrixAt(g,x)})}),i.forEach(f=>{f.instanceMatrix.needsUpdate=!0,this.meshSetMaterial(f),this.add(f)})})}meshSetMaterial(t){t.isMesh&&(t.frustumCulled=!1,t.castShadow=!0,Array.isArray(t.material)?t.material.map(e=>{e.emissiveIntensity*=.95,e.emissive=e.color,e.emissiveMap=e.map}):(t.material.emissiveIntensity*=.95,t.material.emissive=t.material.color,t.material.emissiveMap=t.material.map))}dispose(){this.children.forEach(t=>t.dispose()),Hr(this),this.clear()}constructor(t,e){super(),this.context=t,this.options=e,this.loadModel()}};var Bh=class extends Se{init(){return Ct(this,null,function*(){this.geometry=this.initGeometry(),this.initMaterial(),this.initMesh(),this.mesh.position.z=this.options.deltaHeight+this.options.airHeight,this.options.lineGeometry&&(this.initLineMaterial(),this.initLineGeometry(),this.createBorder())})}initGeometry(){return this.loader.parseGeometries([this.options.mergedGeometry])[this.options.mergedGeometry.uuid]}initMaterial(){this.material=hn.GetMergeAttributeGraphicMaterial()}initLineMaterial(){return this.lineMaterial=hn.GetMergeAttributeGraphicLineMaterial()}initMesh(){this.mesh&&this.remove(this.mesh),this.mesh=new en(this.geometry,this.material),this.add(this.mesh)}initLineGeometry(){this.lineGeometry&&this.lineGeometry.dispose();let t=this.loader.parseGeometries([this.options.lineGeometry]);this.lineGeometry=t[this.options.lineGeometry.uuid]}createBorder(){this.line&&this.remove(this.line);let t=new Yi(this.lineGeometry,this.lineMaterial);return t.position.z=.01,this.line=t,this.add(t),t}dispose(){var t;this.geometry&&this.geometry.dispose(),(t=this.line)==null||t.geometry.dispose(),this.clear()}constructor(t,e){super(),this.context=t,this.loader=new Mu,this.options=ee({},Uh,e),this.init()}};var y_=class extends Se{initGeometry(){return Ct(this,null,function*(){let t=new Mu().parseGeometries([this.options.mergedGeometry]);this.geometry=t[this.options.mergedGeometry.uuid]})}init(){return Ct(this,null,function*(){yield this.initGeometry();let t=new en(this.geometry,ba.GetMergeAttributeWallMaterial());this.add(t)})}dispose(){var t;(t=this.geometry)==null||t.dispose(),this.clear()}constructor(t,e){super(),this.context=t,this.options=e,this.init()}};var wne=H(rp(),1),Tne=H(ec(),1),Ane=H(nc(),1),Cne=H(rc(),1),Rne=H(ic(),1),Pne=H(oc(),1),Ine=H(sc(),1),Lne=H(ac(),1),Nne=H(uc(),1),One=H(lc(),1),Dne=H(cc(),1),Une=H(hc(),1),Fne=H(fc(),1),Bne=H(pc(),1),zne=H(dc(),1);var hp=class extends Se{init(){return Ct(this,null,function*(){let t=this.options.iconUrl,e=yield wo.getTextureByUrl(t),n=new Ei({map:e,transparent:!0,alphaTest:.2,side:pa}),i=new zs(this.geometry,n,this.options.mergedMatrixes.size);i.instanceMatrix=new ao(new Float32Array(this.options.mergedMatrixes.array),16),this.add(i),this.position.z+=.004})}dispose(){var t;this.mesh&&Hr(this.mesh),(t=this.mesh)==null||t.dispose(),this.clear()}constructor(t,e){super(),this.context=t,this.geometry=new wf(new Qu([new ft(-.5,-.5),new ft(-.5,.5),new ft(.5,.5),new ft(.5,-.5)])),this.options=ee({},T6,e);let n=new We([0,0,0,1,1,1,1,0],2);this.geometry.setAttribute("uv",n),this.init()}};var Xne=H(Sn(),1);var x_=class extends Se{initGeometry(){return Ct(this,null,function*(){let t=this.loader.parseGeometries([this.options.mergedGeometry]);this.geometry=t[this.options.mergedGeometry.uuid]})}initMaterial(){let t=hn.createMeshBasicMaterial({color:"#ffffff",opacity:1,vertexColors:!0});return this.material=t,t}initDoubleLine(){if(this.options.dashedLineGeometry){let t=hn.createLine2MaterialMap({color:"#ffffff",width:.2,dashed:!0,resolution:new ft(this.context.clientSize.width,this.context.clientSize.height),vertexColors:!0}),e=new _0;e.setPositions(this.options.dashedLineGeometry.positions),e.setColors(this.options.dashedLineGeometry.colors);let n=new _c(e,t);n.computeLineDistances(),n.position.z+=.01,this.add(n),this.doubleLines.push(n)}if(this.options.lineGeometry){let t=hn.createLine2MaterialMap({color:"#ffffff",width:.2,dashed:!1,resolution:new ft(this.context.clientSize.width,this.context.clientSize.height),vertexColors:!0}),e=new _0;e.setPositions(this.options.lineGeometry.positions),e.setColors(this.options.lineGeometry.colors);let n=new _c(e,t);n.position.z+=.01,this.add(n),this.doubleLines.push(n)}}init(){return Ct(this,null,function*(){yield this.initGeometry(),this.initMaterial();let t=new en(this.geometry,this.material);this.add(t),this.initDoubleLine(),this.position.z+=.02})}dispose(){var t,e;(t=this.geometry)==null||t.dispose(),(e=this.lineGeometry)==null||e.dispose(),this.doubleLines.map(n=>n.geometry.dispose()),this.clear()}constructor(t,e){super(),this.context=t,this.options=e,this.doubleLines=[],this.loader=new Mu,this.init()}};var tre=H(rp(),1),ere=H(ec(),1),nre=H(nc(),1),rre=H(rc(),1),ire=H(ic(),1),ore=H(oc(),1),sre=H(sc(),1),are=H(ac(),1),ure=H(uc(),1),lre=H(lc(),1),cre=H(cc(),1),hre=H(hc(),1),fre=H(fc(),1),pre=H(pc(),1),dre=H(dc(),1),gre=H(Ge(),1);var a_=class extends Se{setParkingColorByIndex(t,e){this.mesh&&(this.mesh.setColorAt(t,new ne(e).convertLinearToSRGB()),this.mesh.instanceColor.needsUpdate=!0)}init(){return Ct(this,null,function*(){this.initMaterial(),this.initMesh(),this.mesh.position.z=this.options[0].deltaHeight+this.options[0].airHeight,this.options[0].strokeOpacity!==0&&(this.initLineMaterial(),this.initLineGeometry(),this.createBorder())})}initMaterial(){this.material=hn.GetInstancedParkingSpaceMaterial()}initLineMaterial(){let t=hn.GetMergeAttributeGraphicLineMaterial();this.lineMaterial=t}initMesh(){this.mesh&&this.remove(this.mesh),this.mesh=new zs(this.geometry,this.material,this.options.length);let t=new ao(new Float32Array(this.options.length),1),e=new ao(new Float32Array(this.options.length),1);this.options.forEach((n,i)=>{let o=n.geometry.coords[0],[a,l,c]=o.slice(0,3),f=Math.sqrt((l[0]-a[0])**2+(l[1]-a[1])**2),g=Math.sqrt((c[0]-l[0])**2+(c[1]-l[1])**2),m=[f,g],v=Math.max(...m),x=Math.min(...m),S;v===f?S=[l[0]-a[0],l[1]-a[1]]:S=[c[0]-l[0],c[1]-l[1]];let[w,E]=S,b=Math.atan2(E,w)-Math.PI/2,C=new Ie().compose(new G(n.center_coord_x,n.center_coord_y,(n.deltaHeight||0)+n.airHeight+n.height/2),new Xi().setFromAxisAngle(new G(0,0,1),b),new G(x,v,n.height));this.mesh.setMatrixAt(i,C),this.mesh.setColorAt(i,new ne(n.fillColor).convertLinearToSRGB()),t.array[i]=n.fillOpacity||1,e.array[i]=(n.deltaHeight||0)+n.airHeight+n.height}),this.geometry.setAttribute("opacity",t),this.geometry.setAttribute("maxZ",e),this.add(this.mesh),this.mesh.instanceMatrix.needsUpdate=!0}initLineGeometry(){this.lineGeometry&&this.lineGeometry.dispose();let{points:t,colors:e,opacities:n}=J1(this.options),i=new qe().setFromPoints(t);i.setAttribute("color",new He(new Float32Array(e),3)),i.setAttribute("opacity",new He(new Float32Array(n),1)),this.lineGeometry=i}createBorder(){this.line&&this.remove(this.line);let t=new Yi(this.lineGeometry,this.lineMaterial);return t.position.z=.01,this.line=t,this.add(t),t}dispose(){var t,e;this.geometry.dispose(),(t=this.mesh)==null||t.dispose(),(e=this.line)==null||e.geometry.dispose(),this.clear()}constructor(t,e){super(),this.context=t,this.geometry=new Eu(1,1,1),this.options=[],this.options=e.map(n=>ee({},Uh,n)),this.init()}};var Sre=H(rp(),1),bre=H(ec(),1),Mre=H(nc(),1),wre=H(rc(),1),Tre=H(ic(),1),Are=H(oc(),1),Cre=H(sc(),1),Rre=H(ac(),1),Pre=H(uc(),1),Ire=H(lc(),1),Lre=H(cc(),1),Nre=H(hc(),1),Ore=H(fc(),1),Dre=H(pc(),1),Ure=H(dc(),1);var u_=class extends Se{init(){return Ct(this,null,function*(){this.initMaterial(),this.initMesh(),this.option.lineGeometry&&(this.initLineMaterial(),this.initLineGeometry(),this.createBorder())})}setParkingColorByIndex(t,e){this.mesh&&(this.mesh.setColorAt(t,new ne(e).convertLinearToSRGB()),this.mesh.instanceColor.needsUpdate=!0)}initMaterial(){this.material=hn.GetInstancedParkingSpaceMaterial()}initLineMaterial(){return this.lineMaterial=hn.GetMergeAttributeGraphicLineMaterial()}initMesh(){this.mesh&&this.remove(this.mesh),this.mesh=new zs(this.geometry,this.material,this.option.size);let t=new ao(new Float32Array(this.option.opacities),1),e=new ao(new Float32Array(this.option.maxZ),1);this.mesh.instanceMatrix=new ao(new Float32Array(this.option.matrixes),16),this.mesh.instanceColor=new ao(new Float32Array(this.option.colors),3),this.geometry.setAttribute("opacity",t),this.geometry.setAttribute("maxZ",e),this.mesh.instanceMatrix.needsUpdate=!0,this.add(this.mesh)}initLineGeometry(){if(this.lineGeometry&&this.lineGeometry.dispose(),this.option.lineGeometry){let t=new Mu().parseGeometries([this.option.lineGeometry]);this.lineGeometry=t[this.option.lineGeometry.uuid]}}createBorder(){this.line&&this.remove(this.line);let t=new Yi(this.lineGeometry,this.lineMaterial);return t.position.z=.01,this.line=t,this.add(t),t}dispose(){var t,e;this.geometry.dispose(),(t=this.mesh)==null||t.dispose(),(e=this.line)==null||e.geometry.dispose(),this.clear()}constructor(t,e){super(),this.context=t,this.geometry=new Eu(1,1,1),this.option=e,this.init()}};var P6=class extends Ja{setEnable(t){super.setEnable(t),Ss(this.rect,0,0,0,0),t?this.registryEvent():(this.startPoint=void 0,this.unRegistryEvent())}registryEvent(){this.context.container.addEventListener("pointerdown",this.onPointerDown),this.context.container.addEventListener("pointermove",this.onPointerMove),this.context.container.addEventListener("pointerup",this.onPointerUp),this.context.addEventListener("update",this.onUpdate)}unRegistryEvent(){this.context.container.removeEventListener("pointerdown",this.onPointerDown),this.context.container.removeEventListener("pointermove",this.onPointerMove),this.context.container.removeEventListener("pointerup",this.onPointerUp),this.context.removeEventListener("update",this.onUpdate)}doSelect(){if(this.startPoint&&this.endPoint){if(this.startPoint.distanceTo(this.endPoint)<.1)return;let{context:{camera:e,container:{clientWidth:n,clientHeight:i}}}=this,o=sn(this.startPoint,e,n,i),a=sn(this.endPoint,e,n,i),l={x:Math.min(o.x,a.x),y:Math.min(o.y,a.y)},c={x:Math.max(o.x,a.x),y:Math.max(o.y,a.y)},f=this.searchMapInFrustum(l,c);this.dispatchEvent({type:"selected",list:f})}}searchMapInFrustum(t,e){var n;let{context:i}=this;return((n=i.currentFloor)==null?void 0:n.graphicLayer.children.filter(o=>o instanceof uo&&this.searchChildInFrustum(o,t,e)))||[]}searchChildInFrustum(t,e,n){let{context:{camera:i,container:{clientWidth:o,clientHeight:a}}}=this;if(!t)return!1;if(!t.mesh){let v=t.getPosition();if(v){let x=sn(v,i,o,a);return Yl(x,e,n)}return!1}t.mesh.geometry.boundingBox||t.mesh.geometry.computeBoundingBox();let l=t.mesh.geometry.boundingBox;if(!l)return!1;let{min:c,max:f}=l,g=sn(c,i,o,a),m=sn(f,i,o,a);return!(!Yl(g,e,n)||!Yl(m,e,n))}dispose(){super.dispose(),this.rect=null,this.unRegistryEvent()}constructor(t){super(t),this.frustum=new B0,this.onPointerDown=i=>{if(!this.enable)return;let o=this.getIntersectByPointerEvent(i);o&&(this.startPoint=o),this.endPoint=void 0},this.onPointerMove=i=>{if(!this.enable||!this.startPoint)return;let o=this.getIntersectByPointerEvent(i);o&&(this.endPoint=o)},this.onPointerUp=i=>{if(!this.enable)return;let o=this.getIntersectByPointerEvent(i);o&&(this.endPoint=o),this.doSelect(),this.startPoint=void 0},this.onUpdate=()=>{if(this.startPoint){let i=this.getSvgCoordinate(this.startPoint),o=ee({},i);this.endPoint&&(o=this.getSvgCoordinate(this.endPoint));let a={x:Math.min(i.x,o.x),y:Math.min(i.y,o.y)},l=Math.abs(o.x-i.x),c=Math.abs(o.y-i.y);Ss(this.rect,a.x,a.y,l,c)}else Ss(this.rect,0,0,0,0)};let{config:{selectBox:{fill:e,stroke:n}}}=t;this.rect=Zl(n,e),this.svg.appendChild(this.rect),this.registryEvent()}};var E_=class extends dn{get list(){return this._list}enableBoxSelection(){this.isMultipleSelect||!this.context.config.enableBoxSelect||(this.isMultipleSelect=!0,this.boxSelection.setEnable(!0),this.prevPanStatus=this.context.control.enablePan,this.prevRotateStatus=this.context.control.enableRotate,this.context.control.enablePan=!1,this.context.control.enableRotate=!1)}disableBoxSelection(){this.isMultipleSelect&&(this.isMultipleSelect=!1,this.boxSelection.setEnable(!1),this.context.control.enablePan=!!this.prevPanStatus,this.context.control.enableRotate=!!this.prevRotateStatus)}selectEnd(){this.dispatchEvent({type:"select",graphics:[...this._list],isMultipleSelect:this.isMultipleSelect})}registryEvent(){this.context.container.addEventListener("pointerdown",this.onPointerDown),this.context.container.addEventListener("pointerup",this.onPointerUp),this.context.container.addEventListener("pointerout",this.onPointerOut),this.context.container.addEventListener("pointercancel",this.onPointerOut),window.addEventListener("keydown",this.onKeyDown),window.addEventListener("keyup",this.onKeyUp),this.boxSelection.addEventListener("selected",this.onBoxSelected)}unRegistryEvent(){this.context.container.removeEventListener("pointerdown",this.onPointerDown),this.context.container.removeEventListener("pointerup",this.onPointerUp),this.context.container.removeEventListener("pointerout",this.onPointerOut),this.context.container.removeEventListener("pointercancel",this.onPointerOut),window.removeEventListener("keydown",this.onKeyDown),window.removeEventListener("keyup",this.onKeyUp),this.boxSelection.removeEventListener("selected",this.onBoxSelected)}clear(){this._list.clear()}remove(t){this._list.delete(t)}dispose(){this.unRegistryEvent()}constructor(t){super(),this.context=t,this._list=new Set,this.downPoint=null,this.downTime=0,this.isMultipleSelect=!1,this.onPointerDown=e=>{Date.now()-this.downTime<200||(this.downPoint={x:e.offsetX,y:e.offsetY},this.downTime=Date.now())},this.onPointerUp=e=>{if(!this.downPoint)return;let{offsetX:n,offsetY:i}=e,{x:o,y:a}=this.downPoint;if(Math.sqrt((o-n)**2+(a-i)**2)>3)return;let{graphics:l}=this.context.getGraphicsByDeviceXy(n,i),c=new Set(l.map(g=>g.options.id));this.context.getPoisByDeviceXy(n,i).forEach(g=>{if(!c.has(g.options.id)){var m;let v=((m=this.context.currentFloor)==null?void 0:m.graphicLayer.graphicMap.get(g.options.id))||null;v&&v.options.geometry.type==="point"&&(l.push(v),c.add(g.options.id))}}),(jf?e.metaKey:e.ctrlKey)||this._list.clear(),l.forEach(g=>this._list.add(g)),this.selectEnd(),this.downPoint=null},this.onPointerOut=e=>{this.disableBoxSelection()},this.onKeyDown=e=>{Yf(e.key)&&this.enableBoxSelection()},this.onKeyUp=e=>{Yf(e.key)&&this.disableBoxSelection()},this.onBoxSelected=e=>{let{list:n}=e;this._list.clear(),n.forEach(i=>{this._list.add(i)}),this.selectEnd()},this.boxSelection=new P6(t),this.boxSelection.setEnable(!1),this.registryEvent()}};var oie=H(n0(),1),sie=H(r0(),1),aie=H(i0(),1),uie=H(o0(),1),lie=H(s0(),1),cie=H(a0(),1),hie=H(u0(),1),fie=H(Ge(),1);var S_=class extends dn{handleHoverGraphicsChange(t){t===void 0&&(t=this.curGraphics),this.dispatchEvent({type:"hover-change",graphics:Array.from(t)})}registryEvent(){this.context.addEventListener("pointer-over",this.onPointerMove),this.context.addEventListener("pointer-move",this.onPointerMove),this.context.addEventListener("pointer-level",this.onPointerLevel),document.body.addEventListener("pointermove",this.onBodyPointerMove)}unRegistryEvent(){this.context.removeEventListener("pointer-over",this.onPointerMove),this.context.removeEventListener("pointer-move",this.onPointerMove),this.context.removeEventListener("pointer-level",this.onPointerLevel),document.body.removeEventListener("pointermove",this.onBodyPointerMove)}dispose(){this.unRegistryEvent(),this.timer.dispose()}constructor(t){super(),this.context=t,this.curGraphics=new Set,this.timer=new ui,this.graphicTimerMap=new Map,this.onPointerMove=e=>{let{graphics:n,pois:i,e:o}=e,a=i.map(g=>{var m;return(m=this.context.currentFloor)==null?void 0:m.graphicLayer.graphicMap.get(g.options.id)}).filter(g=>g&&g.options.geometry.type==="point");if(!n.length&&!a.length&&this.curGraphics.size){this.curGraphics.clear(),this.handleHoverGraphicsChange();return}let{time:l}=this.context.config.hover,c=new Set;if(a.length){let g,m=1e4;a.forEach(v=>{let x=i.find(S=>S.options.id===v.options.id);if(x instanceof Fh){let{x:S,y:w}=x.clientPos,E=Math.sqrt((S-o.offsetX)**2+(w-o.offsetY)**2);E<m&&(m=E,g=v)}else if(x instanceof pi){let{x:S,y:w}=x.box.getCenter(new ft),E=Math.sqrt((S-o.offsetX)**2+(w-o.offsetY)**2);E<m&&(m=E,g=v)}}),c.add(g)}c.size||n.forEach(g=>c.add(g)),c.forEach(g=>{if(this.graphicTimerMap.get(g)||this.curGraphics.has(g))return;let m=this.timer.setTimeout(()=>{this.curGraphics.add(g),this.graphicTimerMap.delete(g),this.timer.clearTimeout(m),this.handleHoverGraphicsChange()},l);this.graphicTimerMap.set(g,m)}),this.graphicTimerMap.forEach((g,m)=>{c.has(m)||(this.timer.clearTimeout(g),this.graphicTimerMap.delete(m))});let f=this.curGraphics.size;this.curGraphics.forEach(g=>{c.has(g)||this.curGraphics.delete(g)}),f!==this.curGraphics.size&&this.handleHoverGraphicsChange()},this.onPointerLevel=()=>{this.curGraphics.clear(),this.handleHoverGraphicsChange()},this.onBodyPointerMove=e=>{if(this.curGraphics.size){let n=this.context.container.getBoundingClientRect();(e.clientX<n.left||e.clientX>n.right||e.clientY<n.top||e.clientY>n.bottom)&&this.onPointerLevel()}},this.registryEvent()}};var vie=H(Ge(),1);var I6=class{updateBox(){this.box.setFromObject(this.context.scene)}setEnable(t){this.enable=t,t?this.registryEvent():this.unRegistryEvent()}changePrevCamera(){this.prevCamera={position:this.context.camera.position.clone(),zoom:this.context.camera.zoom,target:this.context.control.target.clone()}}backToPrevCamera(){this.setEnable(!1),this.context.camera.position.copy(this.prevCamera.position),this.context.camera.zoom=this.prevCamera.zoom,this.context.control.target.copy(this.prevCamera.target),this.context.control.update(),this.setEnable(!0)}registryEvent(){this.context.addEventListener("control-change",this.onCameraChange)}unRegistryEvent(){this.context.removeEventListener("control-change",this.onCameraChange)}getCurFloorScreenPosition(){if(!this.context.scene.children.filter(S=>S instanceof $a).length)return null;let e=this.box,{camera:n,clientSize:{width:i,height:o}}=this.context,{min:a,max:l}=e,f=[new G(a.x,a.y,a.z),new G(l.x,a.y,a.z),new G(a.x,l.y,a.z),new G(l.x,l.y,a.z),new G(a.x,a.y,l.z),new G(l.x,a.y,l.z),new G(a.x,l.y,l.z),new G(l.x,l.y,l.z)].map(S=>sn(S,n,i,o)),g=Math.min(...f.map(S=>S.x)),m=Math.max(...f.map(S=>S.x)),v=Math.min(...f.map(S=>S.y)),x=Math.max(...f.map(S=>S.y));return{left:g,right:m,top:v,bottom:x}}checkDistanceToScreenEdge(t){let{left:e,right:n,top:i,bottom:o}=t,{width:a,height:l}=this.context.clientSize,[c,f,g,m]=this.context.config.cameraBound.padding,v=Mr([[[e,i],[n,i],[n,o],[e,o],[e,i]]]),x=Mr([[[m,c],[a-f,c],[a-f,l-g],[m,l-g],[m,c]]]);try{return jd(v,x)!==null}catch(S){return console.warn("\u8BA1\u7B97\u4EA4\u96C6\u51FA\u9519:",S),!1}}dispose(){this.unRegistryEvent()}constructor(t){this.context=t,this.prevCamera={position:new G,zoom:1,target:new G},this.enable=!0,this.box=new Be,this.onCameraChange=()=>{let e=this.getCurFloorScreenPosition();if(e){let{left:n,right:i,top:o,bottom:a}=e;this.checkDistanceToScreenEdge({left:n,right:i,top:o,bottom:a})?this.changePrevCamera():this.backToPrevCamera()}},this.registryEvent(),this.changePrevCamera()}};var Nie=H(DR(),1);var Rie=H(Ge(),1),Pie=H(Sn(),1);var N6=new da,e8=new Ku,zbt=Math.cos(70*yd.DEG2RAD),O6=class extends dn{dispose(){this.domElement.removeEventListener("contextmenu",this.onContextMenu),this.domElement.removeEventListener("pointerdown",this.onPointerDown),this.domElement.removeEventListener("pointercancel",this.onPointerUp),this.domElement.removeEventListener("wheel",this.onMouseWheel),this.domElement.removeEventListener("pointermove",this.onPointerMove),this.domElement.removeEventListener("pointerup",this.onPointerUp),this._domElementKeyEvents!==null&&(this._domElementKeyEvents.removeEventListener("keydown",this.onKeyDown),this._domElementKeyEvents=null)}constructor(t,e){super(),this.rotateLineStart=new ft,this.rotateLineEnd=new ft,this.spherical=new If,this.sphericalDelta=new If,this.object=t,this.domElement=e,this.domElement.style.touchAction="none",this.enabled=!0,this.target=new G,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.keyPanSpeed=7,this.zoomToCursor=!1,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"},this.screenSpacePanning=!1,this.mouseButtons={LEFT:Lf.PAN,MIDDLE:Lf.DOLLY,RIGHT:Lf.ROTATE},this.touches={ONE:Nf.PAN,TWO:Nf.DOLLY_ROTATE},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._domElementKeyEvents=null,this.getPolarAngle=function(){return l.phi},this.getAzimuthalAngle=function(){return l.theta},this.getDistance=function(){return this.object.position.distanceTo(this.target)},this.listenToKeyEvents=function(st){st.addEventListener("keydown",this.onKeyDown),this._domElementKeyEvents=st},this.stopListenToKeyEvents=function(){var st;(st=this._domElementKeyEvents)==null||st.removeEventListener("keydown",this.onKeyDown),this._domElementKeyEvents=null},this.saveState=function(){n.target0.copy(n.target),n.position0.copy(n.object.position),n.zoom0=n.object.zoom},this.reset=function(){n.target.copy(n.target0),n.object.position.copy(n.position0),n.object.zoom=n.zoom0,n.object.updateProjectionMatrix(),n.dispatchEvent({type:"change"}),n.update(),o=i.NONE},this.update=function(){let st=new G,Ht=new Xi().setFromUnitVectors(t.up,new G(0,1,0)),Gt=Ht.clone().invert(),Kt=new G,se=new Xi,ut=new G,N=2*Math.PI;return function(Z){Z===void 0&&(Z=null);let Q=n.object.position;st.copy(Q).sub(n.target),st.applyQuaternion(Ht),l.setFromVector3(st),n.autoRotate&&o===i.NONE&&V(tt(Z)),n.enableDamping?(l.theta+=c.theta*n.dampingFactor,l.phi+=c.phi*n.dampingFactor):(l.theta+=c.theta,l.phi+=c.phi);let $=n.minAzimuthAngle,vt=n.maxAzimuthAngle;isFinite($)&&isFinite(vt)&&($<-Math.PI?$+=N:$>Math.PI&&($-=N),vt<-Math.PI?vt+=N:vt>Math.PI&&(vt-=N),$<=vt?l.theta=Math.max($,Math.min(vt,l.theta)):l.theta=l.theta>($+vt)/2?Math.max($,l.theta):Math.min(vt,l.theta)),l.phi=Math.max(n.minPolarAngle,Math.min(n.maxPolarAngle,l.phi)),l.makeSafe(),n.enableDamping===!0?n.target.addScaledVector(g,n.dampingFactor):n.target.add(g),n.zoomToCursor&&U||n.object.isOrthographicCamera?l.radius=bt(l.radius):l.radius=bt(l.radius*f),st.setFromSpherical(l),st.applyQuaternion(Gt),Q.copy(n.target).add(st),n.object.lookAt(n.target),n.enableDamping===!0?(c.theta*=1-n.dampingFactor,c.phi*=1-n.dampingFactor,g.multiplyScalar(1-n.dampingFactor)):(c.set(0,0,0),g.set(0,0,0));let gt=!1;if(n.zoomToCursor&&U){let Pt=null;if(n.object.isPerspectiveCamera){let Rt=st.length();Pt=bt(Rt*f);let Y=Rt-Pt;n.object.position.addScaledVector(P,Y),n.object.updateMatrixWorld()}else if(n.object.isOrthographicCamera){let Rt=new G(F.x,F.y,0);Rt.unproject(n.object),n.object.zoom=Math.max(n.minZoom,Math.min(n.maxZoom,n.object.zoom/f)),n.object.updateProjectionMatrix(),gt=!0;let Y=new G(F.x,F.y,0);Y.unproject(n.object),n.object.position.sub(Y).add(Rt),n.object.updateMatrixWorld(),Pt=st.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),n.zoomToCursor=!1;Pt!==null&&(n.screenSpacePanning?n.target.set(0,0,-1).transformDirection(n.object.matrix).multiplyScalar(Pt).add(n.object.position):(N6.origin.copy(n.object.position),N6.direction.set(0,0,-1).transformDirection(n.object.matrix),Math.abs(n.object.up.dot(N6.direction))<zbt?t.lookAt(n.target):(e8.setFromNormalAndCoplanarPoint(n.object.up,n.target),N6.intersectPlane(e8,n.target))))}else n.object.isOrthographicCamera&&(n.object.zoom=Math.max(n.minZoom,Math.min(n.maxZoom,n.object.zoom/f)),n.object.updateProjectionMatrix(),gt=!0);return f=1,U=!1,gt||Kt.distanceToSquared(n.object.position)>a||8*(1-se.dot(n.object.quaternion))>a||ut.distanceToSquared(n.target)>0?(n.dispatchEvent({type:"change"}),Kt.copy(n.object.position),se.copy(n.object.quaternion),ut.copy(n.target),gt=!1,!0):!1}}();let n=this,i={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6},o=i.NONE,a=1e-6,l=new If,c=new If,f=1,g=new G,m=new ft,v=new ft,x=new ft,S=new ft,w=new ft,E=new ft,b=new ft,C=new ft,A=new ft,P=new G,F=new ft,U=!1,D=[],L={};function tt(st){return st!==null?2*Math.PI/60*n.autoRotateSpeed*st:2*Math.PI/60/60*n.autoRotateSpeed}function O(){return Math.pow(.95,n.zoomSpeed)}function V(st){c.theta-=st}function W(st){c.phi-=st}let St=function(){let st=new G;return function(Gt,Kt){st.setFromMatrixColumn(Kt,0),st.multiplyScalar(-Gt),g.add(st)}}(),j=function(){let st=new G;return function(Gt,Kt){n.screenSpacePanning===!0?st.setFromMatrixColumn(Kt,1):(st.setFromMatrixColumn(Kt,0),st.crossVectors(n.object.up,st)),st.multiplyScalar(Gt),g.add(st)}}(),pt=function(){let st=new G;return function(Gt,Kt){let se=n.domElement;if(n.object.isPerspectiveCamera){let ut=n.object.position;st.copy(ut).sub(n.target);let N=st.length();N*=Math.tan(n.object.fov/2*Math.PI/180),St(2*Gt*N/se.clientHeight,n.object.matrix),j(2*Kt*N/se.clientHeight,n.object.matrix)}else n.object.isOrthographicCamera?(St(Gt*(n.object.right-n.object.left)/n.object.zoom/se.clientWidth,n.object.matrix),j(Kt*(n.object.top-n.object.bottom)/n.object.zoom/se.clientHeight,n.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),n.enablePan=!1)}}();function mt(st){n.object.isPerspectiveCamera||n.object.isOrthographicCamera?f/=st:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),n.enableZoom=!1)}function Lt(st){n.object.isPerspectiveCamera||n.object.isOrthographicCamera?f*=st:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),n.enableZoom=!1)}function yt(st){if(!n.zoomToCursor)return;U=!0;let Ht=n.domElement.getBoundingClientRect(),Gt=st.clientX-Ht.left,Kt=st.clientY-Ht.top,se=Ht.width,ut=Ht.height;F.x=Gt/se*2-1,F.y=-(Kt/ut)*2+1,P.set(F.x,F.y,1).unproject(n.object).sub(n.object.position).normalize()}function bt(st){return Math.max(n.minDistance,Math.min(n.maxDistance,st))}function nt(st){m.set(st.clientX,st.clientY)}function Xt(st){yt(st),b.set(st.clientX,st.clientY)}function Vt(st){S.set(st.clientX,st.clientY)}function he(st){v.set(st.clientX,st.clientY),x.subVectors(v,m).multiplyScalar(n.rotateSpeed);let Ht=n.domElement;V(2*Math.PI*x.x/Ht.clientHeight),W(2*Math.PI*x.y/Ht.clientHeight),m.copy(v),n.update()}function dt(st){C.set(st.clientX,st.clientY),A.subVectors(C,b),A.y>0?mt(O()):A.y<0&&Lt(O()),b.copy(C),n.update()}function jt(st){w.set(st.clientX,st.clientY),E.subVectors(w,S).multiplyScalar(n.panSpeed),pt(E.x,E.y),S.copy(w),n.update()}function ue(st){yt(st),st.deltaY<0?Lt(O()):st.deltaY>0&&mt(O()),n.update()}function me(st){let Ht=!1;switch(st.code){case n.keys.UP:st.ctrlKey||st.metaKey||st.shiftKey?W(2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):pt(0,n.keyPanSpeed),Ht=!0;break;case n.keys.BOTTOM:st.ctrlKey||st.metaKey||st.shiftKey?W(-2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):pt(0,-n.keyPanSpeed),Ht=!0;break;case n.keys.LEFT:st.ctrlKey||st.metaKey||st.shiftKey?V(2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):pt(n.keyPanSpeed,0),Ht=!0;break;case n.keys.RIGHT:st.ctrlKey||st.metaKey||st.shiftKey?V(-2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):pt(-n.keyPanSpeed,0),Ht=!0;break}Ht&&(st.preventDefault(),n.update())}function ae(){if(D.length===1)m.set(D[0].pageX,D[0].pageY);else{let st=(D[0].pageX-D[0].pageY)/(D[1].pageX-D[1].pageY),Ht=D[0].pageY-st*D[0].pageX;n.rotateLineStart.set(st,Ht);let Gt=.5*(D[0].pageX+D[1].pageX),Kt=.5*(D[0].pageY+D[1].pageY);m.set(Gt,Kt)}}function oe(){if(D.length===1)S.set(D[0].pageX,D[0].pageY);else{let st=.5*(D[0].pageX+D[1].pageX),Ht=.5*(D[0].pageY+D[1].pageY);S.set(st,Ht)}}function Yt(){let st=D[0].pageX-D[1].pageX,Ht=D[0].pageY-D[1].pageY,Gt=Math.sqrt(st*st+Ht*Ht);b.set(0,Gt)}function be(){n.enableZoom&&Yt(),n.enablePan&&oe()}function ot(){n.enableZoom&&Yt(),n.enableRotate&&ae()}function te(st){if(D.length==1)v.set(st.pageX,st.pageY);else{let Gt=Et(st),Kt=.5*(st.pageX+Gt.x),se=.5*(st.pageY+Gt.y);v.set(Kt,se);let ut=(st.pageY-Gt.y)/(st.pageX-Gt.x),N=Gt.y-ut*Gt.x;if(n.rotateLineEnd.set(ut,N),Number.isFinite(n.rotateLineEnd.x)&&Number.isFinite(n.rotateLineStart.x)){let z=(n.rotateLineStart.y-n.rotateLineEnd.y)/(n.rotateLineEnd.x-n.rotateLineStart.x),Z=ut*z+N;if(Number.isFinite(z)&&Number.isFinite(Z)){let Q=Math.atan(n.rotateLineEnd.x)-Math.atan(n.rotateLineStart.x);Math.PI-Math.abs(Q)<.5&&(Q=-Math.sign(Q)*(Math.PI-Math.abs(Q))),Math.abs(Q)<.1&&(c.theta+=Q)}}n.rotateLineStart.copy(n.rotateLineEnd)}x.subVectors(v,m).multiplyScalar(n.rotateSpeed);let Ht=n.domElement;W(2*Math.PI*x.y/Ht.clientHeight),m.copy(v)}function Dt(st){if(D.length===1)w.set(st.pageX,st.pageY);else{let Ht=Et(st),Gt=.5*(st.pageX+Ht.x),Kt=.5*(st.pageY+Ht.y);w.set(Gt,Kt)}E.subVectors(w,S).multiplyScalar(n.panSpeed),pt(E.x,E.y),S.copy(w)}function $t(st){let Ht=Et(st),Gt=st.pageX-Ht.x,Kt=st.pageY-Ht.y,se=Math.sqrt(Gt*Gt+Kt*Kt);C.set(0,se),A.set(0,Math.pow(C.y/b.y,n.zoomSpeed)),mt(A.y),b.copy(C)}function kt(st){n.enableZoom&&$t(st),n.enablePan&&Dt(st)}function de(st){n.enableZoom&&$t(st),n.enableRotate&&te(st)}this.onPointerDown=function(Ht){n.enabled!==!1&&(D.length===0&&(n.domElement.setPointerCapture(Ht.pointerId),n.domElement.addEventListener("pointermove",n.onPointerMove),n.domElement.addEventListener("pointerup",n.onPointerUp)),X(Ht),Ht.pointerType==="touch"?xe(Ht):ge(Ht))},this.onPointerMove=function(Ht){n.enabled!==!1&&(Ht.pointerType==="touch"?it(Ht):qt(Ht))},this.onPointerUp=function(Ht){Ut(Ht),D.length===0&&(n.domElement.releasePointerCapture(Ht.pointerId),n.domElement.removeEventListener("pointermove",n.onPointerMove),n.domElement.removeEventListener("pointerup",n.onPointerUp)),n.dispatchEvent({type:"end"}),o=i.NONE};function ge(st){let Ht;switch(st.button){case 0:Ht=n.mouseButtons.LEFT;break;case 1:Ht=n.mouseButtons.MIDDLE;break;case 2:Ht=n.mouseButtons.RIGHT;break;default:Ht=-1}switch(Ht){case Lf.DOLLY:if(n.enableZoom===!1)return;Xt(st),o=i.DOLLY;break;case Lf.ROTATE:if(st.ctrlKey||st.metaKey||st.shiftKey){if(n.enablePan===!1)return;Vt(st),o=i.PAN}else{if(n.enableRotate===!1)return;nt(st),o=i.ROTATE}break;case Lf.PAN:if(st.ctrlKey||st.metaKey||st.shiftKey){if(n.enableRotate===!1)return;nt(st),o=i.ROTATE}else{if(n.enablePan===!1)return;Vt(st),o=i.PAN}break;default:o=i.NONE}o!==i.NONE&&n.dispatchEvent({type:"start"})}function qt(st){switch(o){case i.ROTATE:if(n.enableRotate===!1)return;he(st);break;case i.DOLLY:if(n.enableZoom===!1)return;dt(st);break;case i.PAN:if(n.enablePan===!1)return;jt(st);break}}this.onMouseWheel=function(Ht){n.enabled===!1||n.enableZoom===!1||o!==i.NONE||(Ht.preventDefault(),n.dispatchEvent({type:"start"}),ue(Ht),n.dispatchEvent({type:"end"}))},this.onKeyDown=function(Ht){n.enabled===!1||n.enablePan===!1||me(Ht)};function xe(st){switch(zt(st),D.length){case 1:switch(n.touches.ONE){case Nf.ROTATE:if(n.enableRotate===!1)return;ae(),o=i.TOUCH_ROTATE;break;case Nf.PAN:if(n.enablePan===!1)return;oe(),o=i.TOUCH_PAN;break;default:o=i.NONE}break;case 2:switch(n.touches.TWO){case Nf.DOLLY_PAN:if(n.enableZoom===!1&&n.enablePan===!1)return;be(),o=i.TOUCH_DOLLY_PAN;break;case Nf.DOLLY_ROTATE:if(n.enableZoom===!1&&n.enableRotate===!1)return;ot(),o=i.TOUCH_DOLLY_ROTATE;break;default:o=i.NONE}break;default:o=i.NONE}o!==i.NONE&&n.dispatchEvent({type:"start"})}function it(st){switch(zt(st),o){case i.TOUCH_ROTATE:if(n.enableRotate===!1)return;te(st),n.update();break;case i.TOUCH_PAN:if(n.enablePan===!1)return;Dt(st),n.update();break;case i.TOUCH_DOLLY_PAN:if(n.enableZoom===!1&&n.enablePan===!1)return;kt(st),n.update();break;case i.TOUCH_DOLLY_ROTATE:if(n.enableZoom===!1&&n.enableRotate===!1)return;de(st),n.update();break;default:o=i.NONE}}this.onContextMenu=function(Ht){n.enabled!==!1&&Ht.preventDefault()};function X(st){D.push(st)}function Ut(st){delete L[st.pointerId];for(let Ht=0;Ht<D.length;Ht++)if(D[Ht].pointerId==st.pointerId){D.splice(Ht,1);return}}function zt(st){let Ht=L[st.pointerId];Ht===void 0&&(Ht=new ft,L[st.pointerId]=Ht),Ht.set(st.pageX,st.pageY)}function Et(st){let Ht=st.pointerId===D[0].pointerId?D[1]:D[0];return L[Ht.pointerId]}n.domElement.addEventListener("contextmenu",this.onContextMenu),n.domElement.addEventListener("pointerdown",this.onPointerDown),n.domElement.addEventListener("pointercancel",this.onPointerUp),n.domElement.addEventListener("wheel",this.onMouseWheel,{passive:!1}),this.update()}};var D6=class extends O6{registryEvent(){this.addEventListener("change",this.onChange),this.context.addEventListener("update",this.tweenUpdate)}unRegistryEvent(){this.removeEventListener("change",this.onChange),this.context.removeEventListener("update",this.tweenUpdate)}setPolarAngle(t,e){e===void 0&&(e=!1);let{maxPolarAngle:n,minPolarAngle:i}=this,o=n===i;(e||t<=n&&t>=i)&&(this.maxPolarAngle=t,this.minPolarAngle=t,this.update()),o||(this.maxPolarAngle=n,this.minPolarAngle=i)}setPolarAngleByDuration(t,e,n){return Ct(this,null,function*(){return e===void 0&&(e=!1),n===void 0&&(n=500),n<=0?this.setPolarAngle(t,e):Ya(new Promise(i=>{let o={polar:this.getPolarAngle()},a={polar:t},l=new Za(o,this.tweenGroup).to(a,n).onUpdate(()=>{this.setPolarAngle(o.polar,e)}).onComplete(()=>{this.enabled=!0,this.tweenGroup.remove(l),i(!0)}).onStart(()=>{this.enabled=!1}).start()}),n+500)})}setAzimuthalAngle(t,e){let{maxAzimuthAngle:n,minAzimuthAngle:i}=this,o=n===i;(e||t<=n&&t>=i)&&(this.maxAzimuthAngle=t,this.minAzimuthAngle=t,this.update()),o||(this.maxAzimuthAngle=n,this.minAzimuthAngle=i)}setAzimuthalAngleDuration(t,e,n){return e===void 0&&(e=!1),n===void 0&&(n=500),n<=0?this.setAzimuthalAngle(t,e):Ya(new Promise(i=>{let o={azimuthal:this.getAzimuthalAngle()},a={azimuthal:t},l=new Za(o,this.tweenGroup).to(a,n).onUpdate(()=>{this.setAzimuthalAngle(o.azimuthal,e)}).onComplete(()=>{this.enabled=!0,this.tweenGroup.remove(l),i(!0)}).onStart(()=>{this.enabled=!1}).start()}),n+500)}getCameraLookAt(){return new G().subVectors(this.target,this.camera.position)}setCameraPositionByTarget(t,e){return Ct(this,null,function*(){let n=this.target.clone(),i=this.getCameraLookAt();if(!e){this.camera.position.copy(t.clone().sub(i)),this.target.copy(t.clone()),this.update();return}return Ya(new Promise(o=>{let a=new Za(n,this.tweenGroup).to(t,e).onUpdate(()=>{this.camera.position.copy(n.clone().sub(i)),this.target.copy(n.clone()),this.update()}).onComplete(()=>{this.tweenGroup.remove(a),this.enabled=!0,o(!0)}).onStart(()=>{this.enabled=!1}).start()}),e+500)})}setZoom(t,e,n){n===void 0&&(n=!1);let{minZoom:i,maxZoom:o}=this;(n||t>=i&&t<=o)&&(this.camera.position.copy(e.clone().sub(this.getCameraLookAt())),this.target.copy(e),this.camera.zoom=t,this.update())}setZoomByDuration(t,e,n,i){return Ct(this,null,function*(){n===void 0&&(n=!1),i===void 0&&(i=500);let o={zoom:this.camera.zoom,target:this.target.clone()};if(t!==this.camera.zoom)return i?Ya(new Promise(a=>{let l=new Za(o,this.tweenGroup).to({zoom:t,target:e},i).onUpdate(()=>{this.setZoom(o.zoom,o.target,n)}).onComplete(()=>{this.tweenGroup.remove(l),this.enabled=!0,a(!0)}).onStart(()=>{this.enabled=!1}).start()}),i+500).finally(()=>{this.enabled=!0}):this.setZoom(t,e,n)})}setTargetByOffset(t,e){if(e===void 0&&(e=this.target.clone()),this.camera.updateMatrix(),t){let n=new G;n.setFromMatrixColumn(this.camera.matrix,1),n.normalize(),n.multiplyScalar(t/this.camera.zoom),e.add(n)}this.setCameraPositionByTarget(e,0)}clearTween(){this.tweenGroup.getAll().forEach(t=>t.stop()),this.tweenGroup.removeAll()}dispose(){super.dispose(),this.unRegistryEvent(),this.clearTween()}constructor(t,e,n){super(e,n),this.context=t,this.camera=e,this.domElement=n,this.prevCameraZoom=1,this.tweenGroup=new Rv,this.offsetY=0,this.onChange=()=>{let i=this.camera.zoom;i!==this.prevCameraZoom&&(this.prevCameraZoom=i,this.dispatchEvent({type:"change-zoom",zoom:i}))},this.tweenUpdate=()=>{this.tweenGroup.update()},this.enableDamping=!1,this.zoomSpeed=.5,this.prevCameraZoom=e.zoom,this.registryEvent()}};var U6=class extends wm{setCameraAndScene(t,e){this.scene=t,this.camera=e}autoRender(){this.scene&&this.camera&&this.enable&&(this.event.dispatchEvent({type:"update"}),this.render(this.scene,this.camera)),this.timer.requestAnimationFrame(()=>{this.autoRender()})}pauseRender(){this.enable=!1}continueRender(){this.enable=!0}addEventListener(t,e){this.event.addEventListener(t,e)}removeEventListener(t,e){this.event.removeEventListener(t,e)}constructor(t){super(ee({antialias:!0,alpha:!0},t)),this.event=new dn,this.enable=!0,this.timer=new ui,this.autoClear=!0,this.setPixelRatio(window.devicePixelRatio),this.shadowMap.enabled=!0,this.shadowMap.autoUpdate=!0,this.shadowMap.type=Zb;let e=this.dispose;this.dispose=()=>{this.timer.dispose(),this.enable=!1,e.call(this),this.domElement.remove(),this.domElement=null,this.shadowMap=null,this.info.programs&&(this.info.programs.length=0),this.info=null}}};var F6=class extends Q2{constructor(t){super(t),this.type=F0}parse(t){let a=function(L,tt){switch(L){case 1:throw new Error("THREE.RGBELoader: Read Error: "+(tt||""));case 2:throw new Error("THREE.RGBELoader: Write Error: "+(tt||""));case 3:throw new Error("THREE.RGBELoader: Bad File Format: "+(tt||""));default:case 4:throw new Error("THREE.RGBELoader: Memory Error: "+(tt||""))}},g=`
|
|
12201
12201
|
`,m=function(L,tt,O){tt=tt||1024;let W=L.pos,St=-1,j=0,pt="",mt=String.fromCharCode.apply(null,new Uint16Array(L.subarray(W,W+128)));for(;0>(St=mt.indexOf(g))&&j<tt&&W<L.byteLength;)pt+=mt,j+=mt.length,W+=128,mt+=String.fromCharCode.apply(null,new Uint16Array(L.subarray(W,W+128)));return-1<St?(O!==!1&&(L.pos+=j+St+1),pt+mt.slice(0,St)):!1},v=function(L){let tt=/^#\?(\S+)/,O=/^\s*GAMMA\s*=\s*(\d+(\.\d+)?)\s*$/,V=/^\s*EXPOSURE\s*=\s*(\d+(\.\d+)?)\s*$/,W=/^\s*FORMAT=(\S+)\s*$/,St=/^\s*\-Y\s+(\d+)\s+\+X\s+(\d+)\s*$/,j={valid:0,string:"",comments:"",programtype:"RGBE",format:"",gamma:1,exposure:1,width:0,height:0},pt,mt;for((L.pos>=L.byteLength||!(pt=m(L)))&&a(1,"no header found"),(mt=pt.match(tt))||a(3,"bad initial token"),j.valid|=1,j.programtype=mt[1],j.string+=pt+`
|
|
12202
12202
|
`;pt=m(L),pt!==!1;){if(j.string+=pt+`
|
|
12203
12203
|
`,pt.charAt(0)==="#"){j.comments+=pt+`
|