@crystaldesign/diva-web-planner-react 24.10.0-beta.17 → 24.10.0-beta.18

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.
@@ -1,4 +1,4 @@
1
- /*! filename:4131 */
1
+ /*! filename:4611 */
2
2
 
3
3
  /**
4
4
  * @license
@@ -0,0 +1,2 @@
1
+ /*! For license information please see 81.diva-web-planner-react.umd.min.js.LICENSE.txt */
2
+ "use strict";(self.webpackChunkCrystaldesignDivaWebPlannerReact=self.webpackChunkCrystaldesignDivaWebPlannerReact||[]).push([[81],{60081:(e,t,i)=>{i.r(t),i.d(t,{default:()=>P});var n=i(88501),r=i(8005),s=i(13587),a=i(62436),o=i(14488),h={uniforms:{tDiffuse:{value:null},opacity:{value:1},backgroundImg:{value:null}},vertexShader:["varying vec2 vUv;","void main() {","\tvUv = uv;","\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );","}"].join("\n"),fragmentShader:["uniform float opacity;","uniform sampler2D tDiffuse;","uniform sampler2D backgroundImg;","varying vec2 vUv;","void main() {","\tvec4 texelForground = texture2D( tDiffuse, vUv );"," float brightness = 0.34 * texelForground.x + 0.5 *texelForground.y + 0.16 * texelForground.z; ","\tvec4 texelBackground = texture2D( backgroundImg, vUv );"," if( texelForground.w < 0.001){"," gl_FragColor = vec4(0, 0, 0, 0.0);"," }"," else if( texelBackground.x < 0.3 ){"," gl_FragColor = vec4(brightness,brightness,brightness, texelForground.w)* 0.8;"," }"," else {"," gl_FragColor = (1.0 - opacity) * vec4(brightness,brightness,brightness,texelForground.w);"," }","}"].join("\n")},d=i(71799);const l={name:"CopyShader",uniforms:{tDiffuse:{value:null},opacity:{value:1}},vertexShader:"\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\tvUv = uv;\n\t\t\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\n\t\t}",fragmentShader:"\n\n\t\tuniform float opacity;\n\n\t\tuniform sampler2D tDiffuse;\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\tvec4 texel = texture2D( tDiffuse, vUv );\n\t\t\tgl_FragColor = opacity * texel;\n\n\n\t\t}"};var c=i(93e3);class Pass{constructor(){this.isPass=!0,this.enabled=!0,this.needsSwap=!0,this.clear=!1,this.renderToScreen=!1}setSize(){}render(){c.error("THREE.Pass: .render() must be implemented in derived pass.")}dispose(){}}const u=new d.qUd(-1,1,1,-1,0,1);class FullscreenTriangleGeometry extends d.LoY{constructor(){super(),this.setAttribute("position",new d.qtW([-1,3,0,-1,-1,0,3,-1,0],3)),this.setAttribute("uv",new d.qtW([0,2,0,0,2,0],2))}}const g=new FullscreenTriangleGeometry;class FullScreenQuad{constructor(e){this._mesh=new d.eaF(g,e)}dispose(){this._mesh.geometry.dispose()}render(e){e.render(this._mesh,u)}get material(){return this._mesh.material}set material(e){this._mesh.material=e}}class ShaderPass extends Pass{constructor(e,t){super(),this.textureID=void 0!==t?t:"tDiffuse",e instanceof d.BKk?(this.uniforms=e.uniforms,this.material=e):e&&(this.uniforms=d.LlO.clone(e.uniforms),this.material=new d.BKk({name:void 0!==e.name?e.name:"unspecified",defines:Object.assign({},e.defines),uniforms:this.uniforms,vertexShader:e.vertexShader,fragmentShader:e.fragmentShader})),this.fsQuad=new FullScreenQuad(this.material)}render(e,t,i){this.uniforms[this.textureID]&&(this.uniforms[this.textureID].value=i.texture),this.fsQuad.material=this.material,this.renderToScreen?(e.setRenderTarget(null),this.fsQuad.render(e)):(e.setRenderTarget(t),this.clear&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),this.fsQuad.render(e))}dispose(){this.material.dispose(),this.fsQuad.dispose()}}class MaskPass extends Pass{constructor(e,t){super(),this.scene=e,this.camera=t,this.clear=!0,this.needsSwap=!1,this.inverse=!1}render(e,t,i){const n=e.getContext(),r=e.state;let s,a;r.buffers.color.setMask(!1),r.buffers.depth.setMask(!1),r.buffers.color.setLocked(!0),r.buffers.depth.setLocked(!0),this.inverse?(s=0,a=1):(s=1,a=0),r.buffers.stencil.setTest(!0),r.buffers.stencil.setOp(n.REPLACE,n.REPLACE,n.REPLACE),r.buffers.stencil.setFunc(n.ALWAYS,s,4294967295),r.buffers.stencil.setClear(a),r.buffers.stencil.setLocked(!0),e.setRenderTarget(i),this.clear&&e.clear(),e.render(this.scene,this.camera),e.setRenderTarget(t),this.clear&&e.clear(),e.render(this.scene,this.camera),r.buffers.color.setLocked(!1),r.buffers.depth.setLocked(!1),r.buffers.color.setMask(!0),r.buffers.depth.setMask(!0),r.buffers.stencil.setLocked(!1),r.buffers.stencil.setFunc(n.EQUAL,1,4294967295),r.buffers.stencil.setOp(n.KEEP,n.KEEP,n.KEEP),r.buffers.stencil.setLocked(!0)}}class ClearMaskPass extends Pass{constructor(){super(),this.needsSwap=!1}render(e){e.state.buffers.stencil.setLocked(!1),e.state.buffers.stencil.setTest(!1)}}class EffectComposer{constructor(e,t){if(this.renderer=e,this._pixelRatio=e.getPixelRatio(),void 0===t){const i=e.getSize(new d.I9Y);this._width=i.width,this._height=i.height,(t=new d.nWS(this._width*this._pixelRatio,this._height*this._pixelRatio,{type:d.ix0})).texture.name="EffectComposer.rt1"}else this._width=t.width,this._height=t.height;this.renderTarget1=t,this.renderTarget2=t.clone(),this.renderTarget2.texture.name="EffectComposer.rt2",this.writeBuffer=this.renderTarget1,this.readBuffer=this.renderTarget2,this.renderToScreen=!0,this.passes=[],this.copyPass=new ShaderPass(l),this.copyPass.material.blending=d.XIg,this.clock=new d.zD7}swapBuffers(){const e=this.readBuffer;this.readBuffer=this.writeBuffer,this.writeBuffer=e}addPass(e){this.passes.push(e),e.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}insertPass(e,t){this.passes.splice(t,0,e),e.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}removePass(e){const t=this.passes.indexOf(e);-1!==t&&this.passes.splice(t,1)}isLastEnabledPass(e){for(let t=e+1;t<this.passes.length;t++)if(this.passes[t].enabled)return!1;return!0}render(e){void 0===e&&(e=this.clock.getDelta());const t=this.renderer.getRenderTarget();let i=!1;for(let t=0,n=this.passes.length;t<n;t++){const n=this.passes[t];if(!1!==n.enabled){if(n.renderToScreen=this.renderToScreen&&this.isLastEnabledPass(t),n.render(this.renderer,this.writeBuffer,this.readBuffer,e,i),n.needsSwap){if(i){const t=this.renderer.getContext(),i=this.renderer.state.buffers.stencil;i.setFunc(t.NOTEQUAL,1,4294967295),this.copyPass.render(this.renderer,this.writeBuffer,this.readBuffer,e),i.setFunc(t.EQUAL,1,4294967295)}this.swapBuffers()}void 0!==MaskPass&&(n instanceof MaskPass?i=!0:n instanceof ClearMaskPass&&(i=!1))}}this.renderer.setRenderTarget(t)}reset(e){if(void 0===e){const t=this.renderer.getSize(new d.I9Y);this._pixelRatio=this.renderer.getPixelRatio(),this._width=t.width,this._height=t.height,(e=this.renderTarget1.clone()).setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}this.renderTarget1.dispose(),this.renderTarget2.dispose(),this.renderTarget1=e,this.renderTarget2=e.clone(),this.writeBuffer=this.renderTarget1,this.readBuffer=this.renderTarget2}setSize(e,t){this._width=e,this._height=t;const i=this._width*this._pixelRatio,n=this._height*this._pixelRatio;this.renderTarget1.setSize(i,n),this.renderTarget2.setSize(i,n);for(let e=0;e<this.passes.length;e++)this.passes[e].setSize(i,n)}setPixelRatio(e){this._pixelRatio=e,this.setSize(this._width,this._height)}dispose(){this.renderTarget1.dispose(),this.renderTarget2.dispose(),this.copyPass.dispose()}}class RenderPass extends Pass{constructor(e,t,i=null,n=null,r=null){super(),this.scene=e,this.camera=t,this.overrideMaterial=i,this.clearColor=n,this.clearAlpha=r,this.clear=!0,this.clearDepth=!1,this.needsSwap=!1,this._oldClearColor=new d.Q1f}render(e,t,i){const n=e.autoClear;let r,s;e.autoClear=!1,null!==this.overrideMaterial&&(s=this.scene.overrideMaterial,this.scene.overrideMaterial=this.overrideMaterial),null!==this.clearColor&&(e.getClearColor(this._oldClearColor),e.setClearColor(this.clearColor)),null!==this.clearAlpha&&(r=e.getClearAlpha(),e.setClearAlpha(this.clearAlpha)),1==this.clearDepth&&e.clearDepth(),e.setRenderTarget(this.renderToScreen?null:i),!0===this.clear&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),e.render(this.scene,this.camera),null!==this.clearColor&&e.setClearColor(this._oldClearColor),null!==this.clearAlpha&&e.setClearAlpha(r),null!==this.overrideMaterial&&(this.scene.overrideMaterial=s),e.autoClear=n}}var m=i(78669);class Vector2{constructor(e=0,t=0){Vector2.prototype.isVector2=!0,this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const t=this.x,i=this.y,n=e.elements;return this.x=n[0]*t+n[3]*i+n[6],this.y=n[1]*t+n[4]*i+n[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(0===t)return Math.PI/2;const i=this.dot(e)/t;return Math.acos(m.qE(i,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,i=this.y-e.y;return t*t+i*i}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){const i=Math.cos(t),n=Math.sin(t),r=this.x-e.x,s=this.y-e.y;return this.x=r*i-s*n+e.x,this.y=r*n+s*i+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}var f=(0,o.getLogger)("Planner","Planner3DGrid"),p=function(){return(0,r.A)((function Planner3DGrid(e,t){var i=this;(0,n.A)(this,Planner3DGrid),(0,s.A)(this,"autoDockingDistance",40),(0,s.A)(this,"threeContainer",void 0),(0,s.A)(this,"doShow3DGrid",!1),(0,s.A)(this,"updatePlannerTrans",void 0),(0,s.A)(this,"clearSelectionFrom3DGrid",void 0),(0,s.A)(this,"getAllPlannedElements",void 0),(0,s.A)(this,"groundPlane",void 0),(0,s.A)(this,"camera",void 0),(0,s.A)(this,"renderer",void 0),(0,s.A)(this,"scene",void 0),(0,s.A)(this,"sceneTree",void 0),(0,s.A)(this,"backgroundTex",void 0),(0,s.A)(this,"backGroundTexChanged",!1),(0,s.A)(this,"canvasWidth",void 0),(0,s.A)(this,"canvasHeight",void 0),(0,s.A)(this,"moveIconPerspective",void 0),(0,s.A)(this,"rotateIconPerspective",void 0),(0,s.A)(this,"rotationCenter",void 0),(0,s.A)(this,"isTransforming",!1),(0,s.A)(this,"transformWorldPosLastFrame",void 0),(0,s.A)(this,"curSelectedElement",void 0),(0,s.A)(this,"blenderPass",null),(0,s.A)(this,"composer",null),(0,s.A)(this,"onMouseUpClearSelection",(function(e){i.clearSelectionFrom3DGrid(),i.threeContainer.removeEventListener("mouseup",i.onMouseUpClearSelection)})),(0,s.A)(this,"getIntersectsGroundPlane",(function(e,t){if(i.camera){var n=new d.tBo,r=new d.Pq0;return e=e/i.canvasWidth*2-1,t=-t/i.canvasHeight*2+1,r.set(e,t,.5),n.setFromCamera(new d.I9Y(r.x,r.y),i.camera),n.intersectObject(i.groundPlane,!0)}})),(0,s.A)(this,"startMove",(function(e,t){i.isTransforming=!0;var n=i.getAllPlannedElements();n.has(e)&&(i.clearSceneTree(),n.forEach((function(e,t){for(var n=0;n<e.length;n++)i.updatePlannerElement(e[n])})),f.debug("Start transforming","Planner3DGrid"),i.updatePlannerTrans(e,t,new a.Pq(0,0,0),0,5,"START",i.autoDockingDistance))})),(0,s.A)(this,"stopMove",(function(e,t){f.debug("Stop transforming","Planner3DGrid"),i.isTransforming=!1,i.transformWorldPosLastFrame=void 0,null!=i.curSelectedElement&&i.updatePlannerTrans(e,t,new a.Pq(0,0,0),0,5,"END",i.autoDockingDistance)})),(0,s.A)(this,"startRotation",(function(e,t){i.isTransforming=!0;var n=i.getAllPlannedElements();n.has(e)&&(i.clearSceneTree(),n.forEach((function(e,t){for(var n=0;n<e.length;n++)i.updatePlannerElement(e[n])})),i.rotationCenter=void 0,i.updatePlannerTrans(e,t,new a.Pq(0,0,0),0,5,"START",i.autoDockingDistance))})),(0,s.A)(this,"stopRotation",(function(e,t){i.isTransforming=!1,i.rotationCenter=void 0,i.updatePlannerTrans(e,t,new a.Pq(0,0,0),0,5,"END",i.autoDockingDistance)})),(0,s.A)(this,"handleTranslation",(function(e,t,n){var r=i.getIntersectsGroundPlane(n.x,n.y);if(r.length>0){var s,o=new a.I9(r[0].point.x,r[0].point.z);if(f.debug("MOVE TO WORLD POS "+o.toString(),"Planner3DGrid"),!i.transformWorldPosLastFrame)return void(i.transformWorldPosLastFrame=o);var h=new a.I9(o.x-i.transformWorldPosLastFrame.x,o.y-i.transformWorldPosLastFrame.y),d=null===(s=i.sceneTree)||void 0===s?void 0:s.get(e).get(t);if(!d)return;d.position.x+=h.x,d.position.z+=h.y,null!=i.curSelectedElement&&i.updatePlannerTrans(i.curSelectedElement.getSetId(),i.curSelectedElement.getElementId(),new a.Pq(100*h.x,0,100*h.y),0,5,"UPDATE",i.autoDockingDistance),i.transformWorldPosLastFrame=o}})),(0,s.A)(this,"handleRotation",(function(e,t,n){var r=i.getIntersectsGroundPlane(n.x,n.y);if(r.length>0){var s,o=null===(s=i.sceneTree)||void 0===s?void 0:s.get(e).get(t);if(!o)return;var h=new a.I9(r[0].point.x,r[0].point.z);if(i.rotationCenter){var d=new a.I9(h.x-o.position.x,h.y-o.position.z),l=new a.I9(0,1),c=a.I9.angleRad(d,l);h.x<o.position.x&&(c=2*Math.PI-c);var u=o.rotation.z-c;o.rotation.z=c,null!=i.curSelectedElement&&i.updatePlannerTrans(i.curSelectedElement.getSetId(),i.curSelectedElement.getElementId(),new a.Pq(0,0,0),180*u/Math.PI,5,"UPDATE",i.autoDockingDistance)}else i.rotationCenter=h}})),(0,s.A)(this,"run",(function(){if(i.doShow3DGrid&&null!=i.renderer&&null!=i.backgroundTex){var e=i,t=i.isTransforming?30:10;setTimeout((function(){var t;null===(t=requestAnimationFrame)||void 0===t||t(e.run)}),1e3/t),i.backGroundTexChanged&&(i.backGroundTexChanged=!1,i.blenderPass.uniforms.backgroundImg.value=i.backgroundTex),i.composer.render()}})),this.getAllPlannedElements=t,this.sceneTree=new Map,this.curSelectedElement=void 0,this.threeContainer=null}),[{key:"setCallbackMethods",value:function setCallbackMethods(e,t){this.updatePlannerTrans=e,this.clearSelectionFrom3DGrid=t}},{key:"initialize",value:function initialize(e,t){if(f.debug("Initialize Planner3D Grid! ","ViewPlanner3DGrid - initialize"),this.canvasWidth=e,this.canvasHeight=t,this.threeContainer=document.getElementById("diva3dImg_3DGrid"),this.threeContainer){this.scene=new d.Z58,this.camera=new d.ubm(24,e/t,.1,1e3),this.renderer=new d.JeP({alpha:!0,antialias:!0}),this.renderer.setClearColor(0,0),this.renderer.setSize(e,t);var i=new d.bdM(100,100),n=new d.G_z({color:255,transparent:!0,opacity:0});this.groundPlane=new d.eaF(i,n),this.groundPlane.rotation.x=-Math.PI/2,this.scene.add(this.groundPlane),this.camera.position.z=-3,this.backgroundTex=new d.gPd,this.threeContainer.appendChild(this.renderer.domElement),this.doShow3DGrid=!1,this.composer=new EffectComposer(this.renderer),this.composer.addPass(new RenderPass(this.scene,this.camera)),this.blenderPass=new ShaderPass(h),this.blenderPass.uniforms.opacity.value=.92,this.blenderPass.renderToScreen=!0,this.composer.addPass(this.blenderPass)}}},{key:"destroy",value:function destroy(e){var t;this.threeContainer&&(f.debug("Destroy Planner3D Grid! ","ViewPlanner3DGrid - destroy"),this.hide3DGrid(),e.clear3DGridUI(),this.clearSceneTree(),this.hide3DGrid(),this.scene=void 0,this.sceneTree.clear(),null!==(t=this.threeContainer)&&void 0!==t&&t.firstChild&&this.threeContainer.removeChild(this.threeContainer.firstChild),this.backgroundTex=null,this.composer=null,this.blenderPass=null,this.camera=void 0,this.moveIconPerspective=null,this.rotateIconPerspective=null,this.groundPlane=null,this.renderer=void 0)}},{key:"unityRotToThreeRot",value:function unityRotToThreeRot(e){var t=new d.PTz(-e.x,e.y,e.z,-e.w),i=new d.O9p;return i.setFromQuaternion(t),i.y+=Math.PI,i.z*=-1,i}},{key:"unityPosToThreePos",value:function unityPosToThreePos(e){return new a.Pq(-e.x,e.y,e.z)}},{key:"clearSceneTree",value:function clearSceneTree(){var e=this;this.sceneTree.forEach((function(t,i){t.forEach((function(t,i){e.scene.remove(t)}))}))}},{key:"updateCamera",value:function updateCamera(e){if(this.camera){var t=this.unityPosToThreePos(e.getUnityCamPos());this.camera.rotation.copy(this.unityRotToThreeRot(e.getUnityCamRot())),this.camera.position.x=t.x,this.camera.position.y=t.y,this.camera.position.z=t.z,this.camera.updateMatrixWorld()}}},{key:"updateInteractionIcons",value:function updateInteractionIcons(e,t){var i=new a.I9(-.15,t.getDepthOLT()/100/2+.15);i=a.I9.rotateOrigin(i,t.getRotDeg());var n=new d.Pq0(t.getWorldPosCenter().x/100+i.x,0,t.getWorldPosCenter().z/100+i.y),r=a.I9.convertToVector2(this.convertWorldPosToScreenPos(n));if(null!=r){var s=new a.I9(.15,t.getDepthOLT()/100/2+.15);s=a.I9.rotateOrigin(s,t.getRotDeg());var o=new d.Pq0(t.getWorldPosCenter().x/100+s.x,0,t.getWorldPosCenter().z/100+s.y),h=a.I9.convertToVector2(this.convertWorldPosToScreenPos(o));if(null!=h){var l=new a.I9((r.x+(null==h?void 0:h.x))/2,(r.y+h.y)/2),c=a.I9.getDirection(r,l),u=a.I9.getDirection(h,l),g=a.I9.add(a.I9.mulNum(a.I9.normalize(c),32),l);g.interpretation="pixel";var m=a.I9.add(a.I9.mulNum(a.I9.normalize(u),32),l);m.interpretation="pixel",e.addMove3DGrid(t.getSetId(),t.getElementId(),g,this.startMove,this.handleTranslation,this.stopMove),e.addRot3DGrid(t.getSetId(),t.getElementId(),m,this.startRotation,this.handleRotation,this.stopRotation)}}}},{key:"updatePlannerElement",value:function updatePlannerElement(e){if(e.hasSvgDataOLTBase64()&&this.renderer&&this.scene){var t=(new d.Tap).load(e.getSvgDataOLTBase64());t.wrapS=d.GJx,t.wrapT=d.GJx,t.generateMipmaps=!0,t.anisotropy=this.renderer.capabilities.getMaxAnisotropy();var i=e.getWidthOLT()/100,n=e.getDepthOLT()/100,r=new d.bdM(i,n),s=new d.V9B({map:t}),a=new d.eaF(r,s);a.rotation.z=-e.getRotRad(),a.rotation.x=-Math.PI/2,a.position.x=e.getWorldPosCenter().x/100,a.position.y=e.getLayer()/500,a.position.z=e.getWorldPosCenter().z/100,this.sceneTree.has(e.getSetId())||this.sceneTree.set(e.getSetId(),new Map),this.sceneTree.get(e.getSetId()).set(e.getElementId(),a),this.scene.add(a)}}},{key:"updateScene",value:function updateScene(e,t,i,n,r){var s=this;(this.renderer||this.camera)&&(e.clear3DGridUI(),this.show3DGrid(),this.clearSceneTree(),this.curSelectedElement=i,this.initBackgroundScene(t),this.canvasWidth=r.imgWidth,this.canvasHeight=r.imgHeight,(this.renderer&&this.renderer.getSize(new d.I9Y).x!=r.imgWidth||this.renderer.getSize(new d.I9Y).y!=r.imgHeight||t.getUnityFOV()!=this.camera.fov)&&(this.camera.fov=t.getUnityFOV(),this.camera.aspect=r.imgWidth/r.imgHeight,this.camera.updateProjectionMatrix(),this.renderer.setSize(r.imgWidth,r.imgHeight)),this.updateCamera(t),n.forEach((function(t,n){for(var r=0;r<t.length;r++)null!=i&&t[r].getElementId()==i.getElementId()&&s.updateInteractionIcons(e,t[r])})))}},{key:"initBackgroundScene",value:function initBackgroundScene(e){if(!e.HasLayerMaskThreeTexture){var t=new d.Tap;e.LayerMaskThreeTexture=t.load(e.getLayerMaskForSrc())}this.backgroundTex=e.LayerMaskThreeTexture,this.backGroundTexChanged=!0}},{key:"isInTrasnformMode",value:function isInTrasnformMode(){return this.isTransforming}},{key:"show3DGrid",value:function show3DGrid(){this.doShow3DGrid||(this.doShow3DGrid=!0,this.run())}},{key:"hide3DGrid",value:function hide3DGrid(){this.renderer&&this.doShow3DGrid&&(this.renderer.clear(),this.doShow3DGrid=!1)}},{key:"updateUI",value:function updateUI(e,t){e.clear3DGridUI(),this.curSelectedElement=t,this.show3DGrid(),this.updateInteractionIcons(e,t)}},{key:"getPositionOfCanvasContainer",value:function getPositionOfCanvasContainer(){return new a.I9(0,0)}},{key:"convertWorldPosToScreenPos",value:function convertWorldPosToScreenPos(e){var t=e.clone();t.project(this.camera);var i=this.canvasWidth/2,n=this.canvasHeight/2;return t.x=t.x*i+i,t.y=-t.y*n+n,new Vector2(t.x,t.y)}}])}(),v=function(){return(0,r.A)((function Planner3DImageUI(e,t,i){(0,n.A)(this,Planner3DImageUI),(0,s.A)(this,"uiHTMLContainer",void 0),(0,s.A)(this,"classUI","wc3DImageUI"),(0,s.A)(this,"getConfiguratorState",void 0),(0,s.A)(this,"getPlannerViewConfig",void 0),(0,s.A)(this,"plannerPaletteViewInfo",void 0),this.getConfiguratorState=e,this.getPlannerViewConfig=t,this.plannerPaletteViewInfo=i}),[{key:"checkCollisionRectRect",value:function checkCollisionRectRect(e,t){return e.screenPos.x<t.screenPos.x+t.width&&e.screenPos.x+e.width>t.screenPos.x&&e.screenPos.y<t.screenPos.y+t.height&&e.screenPos.y+e.height>t.screenPos.y}},{key:"addDelIcon",value:function addDelIcon(e,t,i,n){i>100||i<0||n>100||n<0||e.addTrashIconUI(t.getSetId(),t.getElementId(),t.getRotDeg(),new a.I9(i,n,"percentage"),"3D")}},{key:"addDimensionInfo",value:function addDimensionInfo(e,t,i,n){var r=n.getAlternateRenderInfo();if(!n.getAlternateRenderingsExist()||null!=r){var s=i.parentElementId+"."+i.shelfGridId+"."+i.shelfRasterHeight,a=n.getLeftBottomFrontUIPos(t,s);if(a&&!(a.x<0||a.x>100||a.y<0||a.y>100)){var o=Math.round(n.getDistanceToGround(t,s));-1!=o&&e.addDistanceFromGround(t,i.parentElementId,o,a)}}}},{key:"addPosNrUI",value:function addPosNrUI(e,t,i,n,r,s){i<0&&(i=0),i>100&&(i=100),n<0&&(n=0),n>100&&(n=100),e.addPosNrUI(t.getSetId(),t.getElementId(),t.getIsDockedAccessoire(),new a.I9(i,n,"percentage"),t.getRotDeg(),1,t.getPosNrWithAccessoirePosNr(),r?"selected":s?"selectable":"unselectable","3D")}},{key:"addBoxPlannerDockingPoints",value:function addBoxPlannerDockingPoints(e,t,i){var n=!1,r=t.getFreeDockingPointByTypeAndNumber("AVO",1);null==r||r.IsDisabled||(n=!0);var s=i.getBoxPlannerCornerUIPos(t.getSetId(),t.getElementId(),"LEFTCENTER");s&&e.addCopy(t.getSetId(),t.getElementId(),"BoxCopyLeft",s,"3D");var a=i.getBoxPlannerCornerUIPos(t.getSetId(),t.getElementId(),"RIGHTCENTER");if(a&&e.addCopy(t.getSetId(),t.getElementId(),"BoxCopyRight",a,"3D"),n){var o=i.getBoxPlannerCornerUIPos(t.getSetId(),t.getElementId(),"TOPCENTER");o&&e.addCopy(t.getSetId(),t.getElementId(),"BoxCopyTop",o,"3D")}}},{key:"addCopyIcon",value:function addCopyIcon(e,t){e.addCopy(t.getSetId(),t.getElementId(),"CopyElement",new a.I9(0,0),"3D")}},{key:"addAccDockingPoints",value:function addAccDockingPoints(e,t,i,n){for(var r=t.getAllDockingPoints(),s=0;s<r.length;s++){var o,h=r[s];if((null===(o=this.plannerPaletteViewInfo)||void 0===o||null===(o=o.plannerConfiguration.hideAVButtons)||void 0===o||!o.includes(h.Type))&&(("AVO"==h.Type||"AVC"==h.Type||"AVU"==h.Type)&&null==n||n===h.Type))for(var d=0;d<i.length;d++)h.Name==i[d].N&&e.addDP(t.getSetId(),t.getElementId(),h.DpId,"ACC",h.IsDocking?"DOCKING":"NOT_DOCKING",h.OnElementId,t.getRotDeg(),0,new a.I9(i[d].x,i[d].y,"percentage"),"3D")}}},{key:"addOutlinePolygon",value:function addOutlinePolygon(e,t,i,n,r){var s=t.getOutlinePolygonForSVG(i.getSetId(),i.getElementId(),r);s&&e.addOutline3D(i.getSetId(),i.getElementId(),s.points,s.avgCamDist,n,"BOX"==i.getPlannerType())}},{key:"initialize",value:function initialize(e){this.uiHTMLContainer||(this.uiHTMLContainer=document.createElement("div"),this.uiHTMLContainer.classList.add(this.classUI),e.appendChild(this.uiHTMLContainer))}},{key:"isParentSelectedRecursive",value:function isParentSelectedRecursive(e,t){for(var i=0;i<t.length;i++){for(var n=t[i].getCurrentAccessorires(),r=0;r<n.length;r++)if(n[r].getElementId()==e.getElementId())return!0;t=t.concat(n)}return!1}},{key:"updateUI",value:function updateUI(e,t,i,n,r,s,a,o,h){var d=this;e.clear2D3DViewerUI(),t.forEach((function(t,i){for(var o=0;o<t.length;o++){var l=t[o];if(n.hasUIInfosOfElement(l.getSetId(),l.getElementId())){var c=!1,u=a;if(r.has(i))c=r.get(i).map((function(e){return e.getElementId()})).includes(l.getElementId());if(!c&&!a&&s.has(i))for(var g=s.get(i),m=0;m<g.length;m++)if(l.getElementId()==g[m].getElementId()){u=!0;break}switch(d.addOutlinePolygon(e,n,l,c?"selected":u?"selectable":"unselectable",h),l.getPlannerType()){case"STD":var f=n.getLeftTopBackUIPos(l.getSetId(),l.getElementId());if(f&&d.addPosNrUI(e,l,f.x,f.y,c,u),c&&["PLANNER","PRODUCTS","PROMOTED"].includes(d.getConfiguratorState())){l.getIsDockedAccessoire()?d.addAccDockingPoints(e,l,n.getAllDockingPoints(l.getSetId(),l.getElementId()),"AVO"):d.addAccDockingPoints(e,l,n.getAllDockingPoints(l.getSetId(),l.getElementId()));var p=n.getRightTopBackUIPos(l.getSetId(),l.getElementId());d.addDelIcon(e,l,p.x,p.y),d.addCopyIcon(e,l)}if("ACC_PLANNER"==d.getConfiguratorState()&&l.getIsDockedAccessoire()){var v=n.getRightTopBackUIPos(l.getSetId(),l.getElementId());d.addDelIcon(e,l,v.x,v.y)}break;case"BOX":var P=n.getBoxPlannerCornerUIPos(l.getSetId(),l.getElementId(),"RIGHTTOPFRONT");if(P&&d.addPosNrUI(e,l,P.x,P.y,c,u),c&&(d.addBoxPlannerDockingPoints(e,l,n),!d.checkBoxPlannerSingleElement(t)&&null!=l.getFreeDockingPointByTypeAndNumber("AVO",1))){var y=n.getBoxPlannerCornerUIPos(l.getSetId(),l.getElementId(),"RIGHTTOPFRONT");y&&d.addDelIcon(e,l,y.x,y.y)}}}}})),i.forEach((function(t,i){for(var r=0;r<t.length;r++){var s=t[r];s.isShelfAcc&&d.addDimensionInfo(e,i,s,n)}}))}},{key:"checkBoxPlannerSingleElement",value:function checkBoxPlannerSingleElement(e){if(1==e.length)return!0;if(2==e.length)for(var t=e[0].getAllDockingPoints(),i=e[0].getAllDockingPoints(),n=0;n<t.length;n++)for(var r=t[n],s=0;s<i.length;s++){var a=i[s];if(r.IsDocking&&a.IsDocking&&2==r.Number&&2==a.Number&&("AVO"==r.Type||"AVU"==r.Type))return!0}return!1}},{key:"Class3DUI",get:function get(){return this.classUI}}])}(),P=function(){return(0,r.A)((function Planner3DImage(e,t,i,r,o,h){var d=this;(0,n.A)(this,Planner3DImage),(0,s.A)(this,"domContainer",void 0),(0,s.A)(this,"imageContainer",void 0),(0,s.A)(this,"UIHandler",void 0),(0,s.A)(this,"curRendering",void 0),(0,s.A)(this,"planner3DGrid",void 0),(0,s.A)(this,"handle3DVisualizationChanged",void 0),(0,s.A)(this,"update3DImgSrcInView",void 0),(0,s.A)(this,"onDoShowNav3DChanged",void 0),(0,s.A)(this,"onSwipeStartScreenPos",void 0),(0,s.A)(this,"onSwipeStartTime",void 0),(0,s.A)(this,"detectSwipe",void 0),(0,s.A)(this,"swipeDetectedCurrentFrame",void 0),(0,s.A)(this,"enablePlanner3DGrid",void 0),(0,s.A)(this,"touchPositionLastFrame",void 0),(0,s.A)(this,"touchMoveDetected",(function(e){e.preventDefault()})),(0,s.A)(this,"startDetectingSwipeMouse",(function(e){d.planner3DGrid.isInTrasnformMode()||d.curRendering.getHasStaticBackground()||(d.onSwipeStartScreenPos=new a.I9(e.clientX,e.clientY),d.onSwipeStartTime=(new Date).getTime(),d.detectSwipe=!0,d.domContainer.addEventListener("mouseup",d.endDetectingSwipeMouse,{passive:!0}))})),(0,s.A)(this,"startDetectingSwipeTouch",(function(e){if(!d.planner3DGrid.isInTrasnformMode()&&!d.curRendering.getHasStaticBackground()&&1==e.touches.length){var t=e.touches[0];d.onSwipeStartScreenPos=new a.I9(t.clientX,t.clientY),d.onSwipeStartTime=(new Date).getTime(),d.detectSwipe=!0,d.touchPositionLastFrame=void 0,d.domContainer.addEventListener("touchend",d.endDetectingSwipeTouch,{passive:!0}),d.domContainer.addEventListener("touchmove",d.onSwipeMoveTouch,{passive:!0})}})),(0,s.A)(this,"endDetectingSwipeMouse",(function(e){d.handleSwipeDetection(e.clientX,e.clientY);var t=d;d.domContainer.removeEventListener("mouseup",t.endDetectingSwipeMouse,!1)})),(0,s.A)(this,"onSwipeMoveTouch",(function(e){if(1==e.touches.length){var t=e.touches[0];d.touchPositionLastFrame=new a.I9(t.clientX,t.clientY)}})),(0,s.A)(this,"endDetectingSwipeTouch",(function(e){null!=d.touchPositionLastFrame&&d.handleSwipeDetection(d.touchPositionLastFrame.x,d.touchPositionLastFrame.y),d.touchPositionLastFrame=void 0,d.domContainer.removeEventListener("touchmove",d.onSwipeMoveTouch,!1),d.domContainer.removeEventListener("touchend",d.endDetectingSwipeTouch,!1)})),this.onSwipeStartScreenPos=new a.I9(-1,-1),this.onSwipeStartTime=(new Date).getTime(),this.detectSwipe=!0,this.UIHandler=new v(e,i,h),this.curRendering=new a.nc("Placeholder","Placeholder","",-1,-1,!1,!1,0,!1,!1,"STREAM"),this.planner3DGrid=new p(i,o),this.onDoShowNav3DChanged=r,this.enablePlanner3DGrid=!1,this.swipeDetectedCurrentFrame=!1,this.update3DImgSrcInView=t}),[{key:"initialize",value:function initialize(e,t,i,n){this.imageContainer=document.getElementById(e),this.planner3DGrid.setCallbackMethods(t,i),this.imageContainer&&(this.addNavigationEvents(this.imageContainer),this.UIHandler.initialize(this.imageContainer)),this.handle3DVisualizationChanged=n}},{key:"handlePlanner3DGridChanged",value:function handlePlanner3DGridChanged(e,t,i,n){if(i)this.enablePlanner3DGrid&&(this.enablePlanner3DGrid=!1,this.planner3DGrid.destroy(e));else{var r=this.enablePlanner3DGrid;this.enablePlanner3DGrid=!!n||!this.enablePlanner3DGrid,r&&!this.enablePlanner3DGrid?this.planner3DGrid.destroy(e):!r&&this.enablePlanner3DGrid&&this.planner3DGrid.initialize(t.imgWidth,t.imgHeight)}}},{key:"clearView",value:function clearView(e){this.planner3DGrid.destroy(e),this.curRendering=new a.nc("Placeholder","Placeholder","",-1,-1,!1,!1,0,!1,!1,"STREAM"),this.update3DImgSrcInView("data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==")}},{key:"getPlanner3DGridEnabled",value:function getPlanner3DGridEnabled(){return this.enablePlanner3DGrid}},{key:"getPlanner3DGridIsInTransformMode",value:function getPlanner3DGridIsInTransformMode(){return this.planner3DGrid.isInTrasnformMode()}},{key:"addNavigationEvents",value:function addNavigationEvents(e){this.domContainer=e;var t=this;e&&(e.addEventListener("mousedown",t.startDetectingSwipeMouse,{passive:!0}),e.addEventListener("touchstart",t.startDetectingSwipeTouch,{passive:!0}),e.addEventListener("touchmove",t.touchMoveDetected,{passive:!0}))}},{key:"handleSwipeDetection",value:function handleSwipeDetection(e,t){if(!this.planner3DGrid.isInTrasnformMode()){if(this.detectSwipe&&(new Date).getTime()-this.onSwipeStartTime<1500&&(Math.abs(this.onSwipeStartScreenPos.x-e)>10||Math.abs(this.onSwipeStartScreenPos.y-t)>10)){var i=e-this.onSwipeStartScreenPos.x,n=this.onSwipeStartScreenPos.x-e,r=t-this.onSwipeStartScreenPos.y,s=this.onSwipeStartScreenPos.y-t;i>0&&i>r&&i>s?null!=this.handle3DVisualizationChanged&&(this.handle3DVisualizationChanged("Nav3DSwipe",{doSwipeRight:!0}),this.swipeDetectedCurrentFrame=!0):n>0&&n>r&&n>s?null!=this.handle3DVisualizationChanged&&(this.handle3DVisualizationChanged("Nav3DSwipe",{doSwipeLeft:!0}),this.swipeDetectedCurrentFrame=!0):r>0&&r>i&&r>n?null!=this.handle3DVisualizationChanged&&(this.handle3DVisualizationChanged("Nav3DSwipe",{doSwipeDown:!0}),this.swipeDetectedCurrentFrame=!0):s>0&&s>i&&s>n&&null!=this.handle3DVisualizationChanged&&(this.handle3DVisualizationChanged("Nav3DSwipe",{doSwipeUp:!0}),this.swipeDetectedCurrentFrame=!0)}this.detectSwipe=!1}}},{key:"getSwipeDetectionFinished",value:function getSwipeDetectionFinished(){return!this.detectSwipe}},{key:"getSwipeDetectedCurrentFrame",value:function getSwipeDetectedCurrentFrame(){var e=this.swipeDetectedCurrentFrame;return this.swipeDetectedCurrentFrame=!1,e}},{key:"updateUI",value:function updateUI(e,t,i,n,r,s,a,o){var h=this;this.enablePlanner3DGrid&&(n.size>0?n.forEach((function(t,i){for(var n=0;n<t.length;n++)h.planner3DGrid.updateUI(e,t[n])})):e.clear2D3DViewerUI()),this.UIHandler.updateUI(e,t,i,this.curRendering,n,r,s,a,o)}},{key:"updatePlannerView",value:function updatePlannerView(e,t,i,n,r){var s=this.curRendering.getHasStaticBackground(),a=t.getHasStaticBackground();if(s!=a&&this.onDoShowNav3DChanged(!a),this.curRendering=t,this.update3DImgSrcInView(t.getImageForSrc()),this.enablePlanner3DGrid){var o=void 0;n.size>0&&n.forEach((function(e,t){null==o&&e.length>0&&(o=e[0])})),this.planner3DGrid.updateScene(e,t,o,i,r)}}},{key:"resetSelectedElementsOnEnterPlannerMode",value:function resetSelectedElementsOnEnterPlannerMode(){return!1}}])}()}}]);
@@ -0,0 +1 @@
1
+ /*! filename:81 */