
y-axis, [-pi/2, pi/2]"," float phi = atan( direction.z, direction.x ); // azimuth --> x-axis [-pi/2, pi/2]"," vec2 uv = vec2( phi, theta ) / vec2( 2.0 * pi, pi ) + vec2( 0.5, 0.0 );"," vec3 L0 = vec3( 0.1 ) * Fex;"," float sundisk = smoothstep( sunAngularDiameterCos, sunAngularDiameterCos + 0.00002, cosTheta );"," L0 += ( vSunE * 19000.0 * Fex ) * sundisk;"," vec3 texColor = ( Lin + L0 ) * 0.04 + vec3( 0.0, 0.0003, 0.00075 );"," vec3 curr = Uncharted2Tonemap( ( log2( 2.0 / pow( luminance, 4.0 ) ) ) * texColor );"," vec3 color = curr * whiteScale;"," vec3 retColor = pow( color, vec3( 1.0 / ( 1.2 + ( 1.2 * vSunfade ) ) ) );"," gl_FragColor = vec4( retColor, 1.0 );","}"].join("\n")}; --> Case 1 : Node A is invisible, Then Node B is also invisbleCase 2 : Node A is visible, Then Node B May be visible or invisible*/if (o212.name == "itemsContainerSpin " || o212.children.length > 0){o212.visible = true}o211++;});scene.o59.traverse(function (o212){if (o212.name.search('_SLCBB0x2340d0') > -1){billboards.push(o212);}if (billboards.length == 0){sceneCantainsBillboards = false;}else{sceneCantainsBillboards = true;}});}if (false){for (var i = 0; i < 11; i++){o58[i] = new o154(0.1, 5000, 512);o58[i].renderTarget.texture.minFilter = THREE.LinearMipMapLinearFilter;}}var o213 = 0;for (var o214 in o171){var o215 = o171[o214];o57 = o216(o215, o172);scene.o217[o213] = o57;++o213;}var o218 = 0;for (var o214 in o171){var o215 = o171[o214];o57 = o216(o215, o172);scene.o27[o218] = o57;++o218;}var o219 = 'Default Camera 1';var o220 = o165.getChildByName(o219, true);var undefined;if (o220 === undefined){o175 = o221(o219);}else{o175 = new o159(o220.fov, o220.aspect, o220.near, o220.far);if (o220.cameraTarget != undefined){o175.cameraTarget = o220.cameraTarget.clone();}else{o175.cameraTarget = new THREE.Vector3(0, 0, 0);}o175.up = o220.up.clone();o175.position.x = o220.position.x;o175.position.y = o220.position.y;o175.position.z = o220.position.z;}o175.aspect = 1920 / 1080;o175.updateProjectionMatrix();scene.o59.add(o175);o164 = new o152({ antialias: true, alpha: true });o164.setSize(1920, 1080);o164.gammaInput = true;o164.gammaOutput = true;if (false && true && o176 == 1){o164.shadowMap.enabled = true;o164.shadowMapSoft = true;o164.shadowMap.type = o142.PCFSoftShadowMap;}o162.appendChild(o164.domElement);runtime = new o222();runtime.o223([]);o164.domElement.addEventListener('mousedown', o224, false);o164.domElement.addEventListener('mouseup', o225, false);o164.domElement.addEventListener('mousemove', o226, false);var elem = document.getElementById('Object3D');globalVal_1 = elem.attributes.style.value;if (false && playAnimationAtStart && o176 == 1 ){o227.PlayAnimationAtStart();}if ("Rotate" === "Spin" && o176 == 1){o175.up = new THREE.Vector3(0, 0, 1);o228 = new o146(o175, o164.domElement);o228.target = o175.cameraTarget;if (false)o228.maxPolarAngle = Math.PI / 2;}if ("Rotate" === "Rotate" && o176 == 1){o228 = new o145(o175);o228.navMode = "Rotate";o228.keepCameraAboveGround = false;}window.onresize();var o229 = o206();/*var canvas;canvas = document.getElementById("glcanvas");var gl = canvas.getContext("experimental-webgl");*/if (o176 == 1){if (true && !false){var CastShadow = false;if (CastShadow)TraverseToAddShadow(o165, CastShadow);var o230 = {Albedo: { R: 75, G: 75, B: 75 }, elevation: 9.000000000000000, horizontal: 60.000000000000000,strenght: 1.000000000000000, skyStrenght: 1.000000000000000, Turbidity: 3};var o231 = rgbToHex(o230.Albedo.R, o230.Albedo.G, o230.Albedo.B);Horizontal = o230.horizontal * (Math.PI / 180);Vertical = o230.elevation * (Math.PI / 180);var xValue = Math.cos(Horizontal) * Math.cos(Vertical);var yValue = Math.sin(Horizontal) * Math.cos(Vertical);var zValue = Math.sin(Vertical);var Cor = [new THREE.Vector3(BoundingBoxMin[0], BoundingBoxMin[1], BoundingBoxMin[2]),new THREE.Vector3(BoundingBoxMin[0], BoundingBoxMax[1], BoundingBoxMin[2]),new THREE.Vector3(BoundingBoxMax[0], BoundingBoxMax[1], BoundingBoxMin[2]),new THREE.Vector3(BoundingBoxMax[0], BoundingBoxMin[1], BoundingBoxMin[2]),new THREE.Vector3(BoundingBoxMax[0], BoundingBoxMax[1], BoundingBoxMax[2]),new THREE.Vector3(BoundingBoxMin[0], BoundingBoxMax[1], BoundingBoxMax[2]),new THREE.Vector3(BoundingBoxMax[0], BoundingBoxMax[1], BoundingBoxMax[2]),new THREE.Vector3(BoundingBoxMax[0], BoundingBoxMin[1], BoundingBoxMax[2])];var Min = new THREE.Vector3(BoundingBoxMin[0], BoundingBoxMin[1], BoundingBoxMin[2]);var Max = new THREE.Vector3(BoundingBoxMax[0], BoundingBoxMax[1], BoundingBoxMax[2]);var DiffX = (Max.x - Min.x) * 1.1;var DiffY = (Max.y - Min.y) * 1.1;var BoxOrigin = new THREE.Vector3(((Max.x + Min.x) / 2), ((Max.y + Min.y) / 2), ((Max.z + Min.z) / 2));var InverseSunDir = new THREE.Vector3(xValue, yValue, zValue);var MaxDist = InverseSunDir.dot(Cor[0].sub(BoxOrigin));for (var i = 1; i < 8; ++i){var Val = Math.abs(InverseSunDir.dot(Cor[i].sub(BoxOrigin)));if (Val > MaxDist)MaxDist = Val;}var Distance = MaxDist;var SunPosition = new THREE.Vector3(InverseSunDir.x * Distance + BoxOrigin.x, InverseSunDir.y * Distance + BoxOrigin.y, InverseSunDir.z * Distance + BoxOrigin.z);var o232;o232 = new o149(o231, 0x0F0F0F, o230.skyStrenght);o232.position.set(SunPosition.x, SunPosition.y, SunPosition.z);scene.o59.add(o232);var o233 = new o148(0xFFFFFF, o230.strenght / 2);o233.position.set(SunPosition.x, SunPosition.y, SunPosition.z);o233.target.position.set(BoxOrigin.x, BoxOrigin.y, BoxOrigin.z);if (false){o233.shadow.camera.left = -DiffX;o233.shadow.camera.right = DiffX;o233.shadow.camera.top = DiffY;o233.shadow.camera.bottom = -DiffY;o233.shadowMapSoft = true;o233.shadow.bias = -0.005;o233.castShadow = true;o233.shadow.camera.near = -0.01;o233.shadow.camera.far = Math.abs(Distance * 2.0);o233.shadow.mapSize.width = 2048;o233.shadow.mapSize.height = 2048;}scene.o59.add(o233);if (false){AddSkyEnvironment(o230.Turbidity);}}if (false){/*IN THE TIME I HAVE ADDED HDR TO WEBGL THREE.JS DOESNOT HAVE HDR THE WAY WE HAVE IT ON THE COMPOSER, THAY SEE IT AS A REFLECTION MAPSO I'M CREATING A HUGE SPHERE ITS RADUIS DEPENTS ON OVERALL BOUNDING BOX AND APPLY THE HDR IMAGE ON IT AS A TEXTURE.*/addHDRImage();}if (1 && (!true || false)){var o232 = new o149(0xFFFFFF, 0x0f0f0f, 1);o232.position.set(0, 1, 0);o175.add(o232);}}if (o176 == 2){o228 = new o145(o175, o164.domElement);o228.navMode = "Spin";o228.keepCameraAboveGround = false;o228 = new o147(o228.object, o164.domElement);o228.enabled = true;if (FullScreenCheck){Width3D = $('#Object3D').width();Height3D = $('#Object3D').height();}else{Width3D = 1920 * scaleRatio;Height3D = 1080 * scaleRatio;}o228.SetScreenSize(o229.annotLeft, o229.annotTop, Width3D, Height3D);o228.getObject().position.set(0, 0, 0);o228.getObject().children[0].position.set(0, 120, 0);o228.getObject().children[0].children[0].position.set(0, 0, 0);o228.getObject().children[0].children[0].fov = 60;o228.getObject().children[0].children[0].near = 1.0;o228.getObject().children[0].children[0].far = 52000;o228.getObject().children[0].children[0].updateProjectionMatrix();scene.o59.add(o228.getObject());CurrentCameraSphere = new o156(32000, 100, 100, 0);CurrentCameraMaterial = new o157();CurrentCameraView = new o155(CurrentCameraSphere, CurrentCameraMaterial);CurrentCameraSphere.scale(- 1, 1, 1);CurrentCameraView.position.set(0, 0, 0);scene.o59.add(CurrentCameraView);FovTween = new TWEEN.Tween(o175.fov);Add360Image();}if (FullScreenCheck){Width3D = $('#Object3D').width();Height3D = $('#Object3D').height();}else{Width3D = 1920 * scaleRatio;Height3D = 1080 * scaleRatio;}o228.SetScreenSize(o229.annotLeft, o229.annotTop, Width3D, Height3D);};document.addEventListener('fullscreenchange', exitFullScreenHandlerHandler);document.addEventListener('webkitfullscreenchange', exitFullScreenHandlerHandler);document.addEventListener('mozfullscreenchange', exitFullScreenHandlerHandler);document.addEventListener('MSFullscreenChange', exitFullScreenHandlerHandler);function exitFullScreenHandlerHandler(){if (!document.fullscreenElement && !document.webkitIsFullScreen && !document.mozFullScreen && !document.msFullscreenElement){FullScreenCheck = false;var elem = document.getElementById('Object3D');elem.attributes.style.value = globalVal_1;countFullScreenClicks++;}}function openFullscreen(){var elem = document.getElementById('Object3D');if (countFullScreenClicks % 2 == 0){FullScreenCheck = true;if (elem.mozRequestFullScreen) /* Firefox */{elem.mozRequestFullScreen();o164.domElement.attributes.style.value = "width: 100%; height: 100%;";elem.attributes.style.value = "position:relative;";} else if (elem.webkitRequestFullscreen) /* Chrome, Safari & Opera */{elem.webkitRequestFullscreen();o164.domElement.attributes.style.value = "width: 100%; height: 100%;";elem.attributes.style.value = "position:relative;";}countFullScreenClicks++;}else{if (document.exitFullscreen){document.exitFullscreen();} else if (document.mozCancelFullScreen){document.mozCancelFullScreen();} else if (document.webkitExitFullscreen){document.webkitExitFullscreen();} else if (document.msExitFullscreen){document.msExitFullscreen();}exitFullScreenHandlerHandler();}}function o235(o234){if (o228.checkOnScreen(o234.clientX + window.ScrollX, o234.clientY + window.ScrollY) === false) return;o234.preventDefault();var o207 = document.getElementById('Object3D');var Object3DWidth = $('#Object3D').width();var Object3Dheight = $('#Object3D').height();var xCursourRatio = 0;var yCursourRatio = 0;if (FullScreenCheck){xCursourRatio = ((o234.clientX) / Object3DWidth) * 2 - 1;yCursourRatio = -((o234.clientY) / Object3Dheight) * 2 + 1;}else{var inner_Left = parseInt(o207.style.left);var inner_Top = parseInt(o207.style.top);Object3DWidth = parseInt(o207.style.width);Object3Dheight = parseInt(o207.style.height);xCursourRatio = (((o234.clientX - (inner_Left * scaleRatio + new_Left)) / scaleRatio) / Object3DWidth) * 2 - 1;yCursourRatio = -(((o234.clientY - (inner_Top * scaleRatio + new_Top)) / scaleRatio) / Object3Dheight) * 2 + 1;}o236(xCursourRatio, yCursourRatio);};function updateBillboardsToFaceCam(){if (sceneCantainsBillboards){var VecteurCameraXPositonCam = ((o175.cameraTarget.x) - (o175.position.x));var VecteurCameraYPositonCam = ((o175.cameraTarget.y) - (o175.position.y));var VecteurCameraZPositonCam = ((o175.cameraTarget.z) - (o175.position.z));if ((VecteurCameraYPositonCam > 0 & VecteurCameraXPositonCam > 0) | (VecteurCameraYPositonCam < 0 & VecteurCameraXPositonCam > 0)){AngleCamPositonCam = Math.atan((VecteurCameraYPositonCam / VecteurCameraXPositonCam));}else{AngleCamPositonCam = Math.atan((VecteurCameraYPositonCam / VecteurCameraXPositonCam)) + Math.PI;}for (var i = 0; i < billboards.length; i++){billboards[i].rotation.z = Math.abs(AngleCamPositonCam + Math.PI * 2);}}};function o225(o234){o178 = false;o234.preventDefault();if (o234.which == 1 && o186){var o207 = document.getElementById('Object3D');var Object3DWidth = $('#Object3D').width();var Object3Dheight = $('#Object3D').height();var xCursourRatio = 0;var yCursourRatio = 0;if (FullScreenCheck){xCursourRatio = ((o234.clientX) / Object3DWidth) * 2 - 1;yCursourRatio = -((o234.clientY) / Object3Dheight) * 2 + 1;MouseClickPosX = o234.clientX;MouseClickPosY = o234.clientY;} else{var inner_Left = parseInt(o207.style.left);var inner_Top = parseInt(o207.style.top);Object3DWidth = parseInt(o207.style.width);Object3Dheight = parseInt(o207.style.height);xCursourRatio = (((o234.clientX - (inner_Left * scaleRatio + new_Left)) / scaleRatio) / Object3DWidth) * 2 - 1;yCursourRatio = -(((o234.clientY - (inner_Top * scaleRatio + new_Top)) / scaleRatio) / Object3Dheight) * 2 + 1;MouseClickPosX = ((o234.clientX - (inner_Left * scaleRatio + new_Left)) / scaleRatio);MouseClickPosY = ((o234.clientY - (inner_Top * scaleRatio + new_Top)) / scaleRatio);}if (o167.o168 == xCursourRatio && o167.o169 == yCursourRatio){o237(xCursourRatio, yCursourRatio, o234);}o186 = false;if (o115){o115.o78();}if (o177 === false){var o238Dir = new o143(o167.o168, o167.o169, 1.0);var o238Origin = new o143(o167.o168, o167.o169, -1.0);var o238Dir = o238Dir.unproject(o175);var o238Origin = o238Origin.unproject(o175);var o239 = new o153(o238Origin, o238Dir.sub(o238Origin).normalize());var o68 = o239.intersectObjects(VRCamerasJSArray, true);if (o68.length > 0){MoveToNextCamera(o68[0].object);}}else{if (o176 == 2)if (RightMouseClickCount % 2 == 0)new TWEEN.Tween(VRCamerasJSArray[0].material.opacity).to(0.6, 1000).easing(TWEEN.Easing.Quadratic.Out).onUpdate(function (){for (var i = 0; i < VRCamerasJSArray.length; i++){if (!VRCamerasJSArray[i].SetCurrentCameraView){VRCamerasJSArray[i].material.opacity += 0.008;VRCamerasJSArray[i].material.transparent = true;VRCamerasJSArrayBorderJSArray[i].material.opacity += 0.008;VRCamerasJSArrayBorderJSArray[i].material.transparent = true;}}}).start();}}};function o226(o234){o235(o234);updateBillboardsToFaceCam();o177 = true;var o207 = document.getElementById('Object3D');var Object3DWidth = $('#Object3D').width();var Object3Dheight = $('#Object3D').height();var xCursourRatio = 0;var yCursourRatio = 0;if (FullScreenCheck){o167.o168 = ((o234.clientX) / Object3DWidth) * 2 - 1;o167.o169 = -((o234.clientY) / Object3Dheight) * 2 + 1;} else{var inner_Left = parseInt(o207.style.left);var inner_Top = parseInt(o207.style.top);Object3DWidth = parseInt(o207.style.width);Object3Dheight = parseInt(o207.style.height);o167.o168 = (((o234.clientX - (inner_Left * scaleRatio + new_Left)) / scaleRatio) / Object3DWidth) * 2 - 1;o167.o169 = -(((o234.clientY - (inner_Top * scaleRatio + new_Top)) / scaleRatio) / Object3Dheight) * 2 + 1;}var o238Dir = new o143(o167.o168, o167.o169, 1.0);var o238Origin = new o143(o167.o168, o167.o169, -1.0);var o238Dir = o238Dir.unproject(o175);var o238Origin = o238Origin.unproject(o175);var o239 = new o153(o238Origin, o238Dir.sub(o238Origin).normalize());var o68 = o239.intersectObjects(VRCamerasJSArray, true);/* if the mouse is moving over one the mesh(VR Cameras) the mesh color will change to greenwhen the mouse is not over one the mesh(VR Cameras) the mesh color will back to white*/if (o68.length > 0){o68[0].object.material.color.setHex(0x8AFF4D);}else{for (var i = 0; i < VRCamerasJSArray.length; i++)VRCamerasJSArray[i].material.color.setHex(0xC0C0C0);}if (o178){if (o234.buttons == 1)for (var i = 0; i < VRCamerasJSArray.length; i++){VRCamerasJSArray[i].material.opacity = 0;VRCamerasJSArray[i].material.transparent = true;VRCamerasJSArrayBorderJSArray[i].material.opacity = 0;VRCamerasJSArrayBorderJSArray[i].material.transparent = true;}}};function o224(o234){if (o228.checkOnScreen(o234.clientX + window.scrollX, o234.clientY + window.scrollY) === false) return;o177 = false;o178 = true;o234.preventDefault();if (o234.which == 1){var o207 = document.getElementById('Object3D');var Object3DWidth = $('#Object3D').width();var Object3Dheight = $('#Object3D').height();var xCursourRatio = 0;var yCursourRatio = 0;if (FullScreenCheck){o167.o168 = ((o234.clientX) / Object3DWidth) * 2 - 1;o167.o169 = -((o234.clientY) / Object3Dheight) * 2 + 1;} else{var inner_Left = parseInt(o207.style.left);var inner_Top = parseInt(o207.style.top);Object3DWidth = parseInt(o207.style.width);Object3Dheight = parseInt(o207.style.height);o167.o168 = (((o234.clientX - (inner_Left * scaleRatio + new_Left)) / scaleRatio) / Object3DWidth) * 2 - 1;o167.o169 = -(((o234.clientY - (inner_Top * scaleRatio + new_Top)) / scaleRatio) / Object3Dheight) * 2 + 1;}o186 = true;if (o234.shiftKey){if (o115){o115.o77();}}}if (o234.buttons == 2){if (RightMouseClickCount % 2 == 0){for (var i = 0; i < VRCamerasJSArray.length; i++){VRCamerasJSArray[i].material.opacity = 0;VRCamerasJSArray[i].material.transparent = true;VRCamerasJSArrayBorderJSArray[i].material.opacity = 0;VRCamerasJSArrayBorderJSArray[i].material.transparent = true;}}else{if (o176 == 2)new TWEEN.Tween(VRCamerasJSArray[0].material.opacity).to(0.6, 1000).easing(TWEEN.Easing.Quadratic.Out).onUpdate(function (){for (var i = 0; i < VRCamerasJSArray.length; i++){if (!VRCamerasJSArray[i].SetCurrentCameraView){VRCamerasJSArray[i].material.opacity += 0.007;VRCamerasJSArray[i].material.transparent = true;VRCamerasJSArrayBorderJSArray[i].material.opacity += 0.007;VRCamerasJSArrayBorderJSArray[i].material.transparent = true;}}}).start();}RightMouseClickCount++;}};function o200(){requestAnimationFrame(o200);TWEEN.update();updateBillboardsToFaceCam();o240();};function o236(o241, o242){var o238 = new o143(o241, o242, 1);o238.unproject(o175);var o239 = new o153(o175.position, o238.sub(o175.position).normalize());var o68 = o239.intersectObjects(scene.o59.children, true);if (o115){o115.o69(o68);}};function o237(o241, o242, o234){var node = document.getElementById('bdy');var curTransform = new WebKitCSSMatrix(window.getComputedStyle(node).webkitTransform).a;if (curTransform != 1)if (curTransform < 0.45)curTransform -= 0.02;else{if (curTransform < 0.4)curTransform -= 0.04;else{curTransform -= 0.01;}}var currentWidth = document.getElementById('Object3D').clientWidth * curTransform;var currentHeight = document.getElementById('Object3D').clientHeight * curTransform;var ScrollX = ((window.scrollX) / currentWidth) * 2;var ScrollY = ((window.scrollY) / currentHeight) * 2;if (ScrollX < 0) { ScrollX = 0; }if (ScrollY < 0) { ScrollY = 0; }var o238 = new o143(o241 + ScrollX, o242 - ScrollY, 1);o238.unproject(o175);var o239 = new o153(o175.position, o238.sub(o175.position).normalize());var o68 = o239.intersectObjects(scene.o59.children, true);if (o68.length > 0){for (var i = 0; i < o68.length; ++i){if (o68[i].object.visible == true){var o24 = o68[i].object.index;break;}}if (o184.hasOwnProperty(o24)){o24 = o184[o24];}if (o234.ctrlKey){if (o185[o24] != -1){o24 = o185[o24];}}if (o183.hasOwnProperty(o24)){var o243 = o183[o24];o227.o244(o243);}}};function o245(){var o246 = new o154(1, 1000, 256);var o247 = o173.dae.reflectionTextures;var o248 = o173.dae.reflectionRenderTargets;for (var o249 in o247){var o250 = o247[o249];o251 = new o160();var o252 = new o155(new o156(500, 60, 40), new o157({ map: o250 }));o252.scale.x = -1;o251.add(o252);o251.add(o246);var o253 = o248[o249];o246.renderTarget = o253;o246.update(o164, o251);}};function o240(){var elem = document.getElementById('Object3D');o164.setSize(elem.offsetWidth, elem.offsetHeight);o175.aspect = elem.offsetWidth / elem.offsetHeight;o175.updateProjectionMatrix();if (o176 == 2){var clock = new THREE.Clock();o228.update(clock.getDelta());o164.render(scene.o59, o175);}else{if (o180 < 21){CalculateFPS();if (o180 == 20){if (AverageFPS / 5 > 15 || ActionApplied) o182 = true;else o182 = false;if (o182 && false)o164.shadowMap.enabled = true;else o164.shadowMap.enabled = false;}o180++;}if (false){for (var i = 0; i < 11; i++){if (o58[i].renderTarget)o58[i].update(o164, scene.o59);}}o228.update();o164.render(scene.o59, o228.object);}};var o216 = function (o254, o172){var o255 = o254.instance_effect.url;var o256 = o172[o255].shader;var o57 = o256.material;o57.name = o254.name == null || o254.name === '' ? o254.id : o254.name;o57.opacity = !o57.opacity ? 1 : o57.opacity;o257.SetDefaultValues(o57);var materialName = o57.name;var materialType = materialName.substring(0, materialName.indexOf('-'));switch (materialType){case "MetalMaterial":o257.loadMetalMaterial(o57);break;case "MetalMaterialRoughnessMap":o257.loadMetalMaterialWithRoughnessMap(o57);break;case "DielectricMaterial":o257.loadDielectricMaterial(o57);break;case "ThinDielectricMaterial":o257.loadThinDielectricMaterial(o57);break;case "MatteMaterial":o257.loadMatteMaterial(o57);break;case "ShinyMetalMaterial":o257.loadShinyMetalMaterial(o57);break;case "MirrorMaterial":o257.loadMirrorMaterial(o57);break;case "MetallicPaintMaterial":o257.loadMetallicPaintMaterial(o57);break;case "PlasticMaterial":o257.loadPlasticMaterial(o57);break;case "PlasticMaterialRoughnessMap":o257.loadPlasticMaterialWithRoughnessMap(o57);break;case "ThinSSSMaterial":o257.loadThinSSSMaterial(o57);break;case "VelvetMaterial":o257.loadVelvetMaterial(o57);break;case "EmitterMaterial":o257.loadEmitterMaterial(o57);break;default:o257.loadDefaultMaterial(o57);}return o57;};function o258(o163){if (o163 != undefined){if (!o163.hasOwnProperty('cameraTarget')){o163.cameraTarget = new o143();}if (o176 == 2){o228.getObject().fov = o163.fov;o228.getObject().near = o163.near;o228.getObject().far = o163.far;o228.getObject().updateProjectionMatrix();new TWEEN.Tween(o228.getObject().position).to(o163.position, 2000).easing(TWEEN.Easing.Sinusoidal.InOut).start();new TWEEN.Tween(o228.getObject().up).to(o163.up, 500).easing(TWEEN.Easing.Sinusoidal.InOut).start();new TWEEN.Tween(o228.target).to(o163.cameraTarget, 1000).easing(TWEEN.Easing.Sinusoidal.InOut).start();}else{if ("Rotate" == "Spin"){o228.object.fov = o163.fov;o228.object.near = o163.near;o228.object.far = o163.far;o228.object.updateProjectionMatrix();new TWEEN.Tween(o228.object.position).to(o163.position, 2000).easing(TWEEN.Easing.Sinusoidal.InOut).start();new TWEEN.Tween(o228.object.up).to(new THREE.Vector3(0, 0, 1), 500).easing(TWEEN.Easing.Sinusoidal.InOut).start();new TWEEN.Tween(o228.target).to(o163.cameraTarget, 1000).easing(TWEEN.Easing.Sinusoidal.InOut).start();}else{o228.object.fov = o163.fov;o228.object.near = o163.near;o228.object.far = o163.far;o228.object.updateProjectionMatrix();new TWEEN.Tween(o228.object.position).to(o163.position, 2000).easing(TWEEN.Easing.Sinusoidal.InOut).onUpdate(function () { o228.navMode = ""; }).onComplete(function () { o228.navMode = "Rotate"; }).start();new TWEEN.Tween(o228.object.up).to(o163.up, 500).easing(TWEEN.Easing.Sinusoidal.InOut).onUpdate(function () { o228.navMode = ""; }).onComplete(function () { o228.navMode = "Rotate"; }).start();new TWEEN.Tween(o228.target).to(o163.cameraTarget, 1000).easing(TWEEN.Easing.Sinusoidal.InOut).onUpdate(function () { o228.navMode = ""; }).onComplete(function () { o228.navMode = "Rotate"; }).start();}}}};function o259(o163){var o260 = o164.domElement.width / o164.devicePixelRatio;var o261 = o164.domElement.height / o164.devicePixelRatio;var o262 = o260 / o261;o163.aspect = o262;o163.updateProjectionMatrix();if (o176 == 2){o228.getObject() = o163;if (!o163.hasOwnProperty('cameraTarget')){o163.cameraTarget = new o143();}o228.target = o163.cameraTarget.clone();}else{o228.object = o163;if (!o163.hasOwnProperty('cameraTarget')){o163.cameraTarget = new o143();}o228.target = o163.cameraTarget.clone();}};var o221 = function (o263){var o264;var o265 = o173.dae.cameras;for (var o266 in o265){var o267 = o265[o266];if (o267.name == o263){o264 = new o159(o267.yfov, o267.aspect_ratio, o267.znear, o267.zfar);var undefined;if (o267.camera_target != undefined){o264.cameraTarget = o267.camera_target;}if (o267.camera_up != undefined){o264.up = o267.camera_up;}if (o267.camera_position != undefined){o264.position.set(o267.camera_position.x, o267.camera_position.y, o267.camera_position.z);}return o264;}}};function o268(){var o269 = 0, o270 = 0;if (typeof (window.innerWidth) == 'number'){o269 = window.innerWidth;o270 = window.innerHeight;} else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)){o269 = document.documentElement.clientWidth;o270 = document.documentElement.clientHeight;} else if (document.body && (document.body.clientWidth || document.body.clientHeight)){o269 = document.body.clientWidth;o270 = document.body.clientHeight;}return { 'w': o269, 'h': o270 };};window.onresize = function (){responsive_WebGl();var o229 = o206();if (typeof (o228) != "undefined"){if (FullScreenCheck){Width3D = $('#Object3D').width();Height3D = $('#Object3D').height();} else{Width3D = 1920 * scaleRatio;Height3D = 1080 * scaleRatio;}o228.SetScreenSize(o229.annotLeft, o229.annotTop, Width3D, Height3D);}};function o273(o271, o272, messageID){o274 = document;o198 = true;if (o274.getElementById(messageID)) return;o275 = o274.getElementById('Object3D').appendChild(o274.createElement("div"));o275.id = messageID;o275.className = "modalContainer";o276 = o275.appendChild(o274.createElement("div"));o276.id = "alertBox";o275.style.left = [MouseClickPosX - (($('#alertBox').width()) / 2)] + "px";o275.style.top = [MouseClickPosY - (($('#alertBox').height()) / 2)] + "px";o277 = o276.appendChild(o274.createElement("h3"));o277.appendChild(o274.createTextNode(o271));o278 = o276.appendChild(o274.createElement("h5"));o278.innerHTML = o272;o279 = o276.appendChild(o274.createElement("a"));o279.id = "closeBtn";o279.appendChild(o274.createTextNode("Ok"));o279.href = "#";o279.onclick = function () { o280(messageID); o198 = false; return false; };};function prepopulateFormTextBoxJSMethod(o281){o274 = document;var o282 = [];var o283 = {};for (i = 0, count = o282.length; i < count; ++i){o274.getElementById(o282[i]).value = o283[o281][o282[i]];}};function o280(messageID){document.getElementById('Object3D').removeChild(document.getElementById(messageID));};window.addEventListener("load", function (){var o284 = o268();responsive_WebGl();}, true);o203 = new o84();o204 = new o9();o205 = new o38();o115 = new o60();o257 = new o56();function o285(){this.o286 = [[4,0,'http://www.simlab-soft.com/',false]];this.o289 = function (o287, o288, o243){o290 = o288;for (i = 0; i < o243; ++i){o291 = o287[0 + o290];o290 += o291;}return o290;};this.o244 = function (o243){if (o198){return;}o287 = this.o286[o243];o288 = 0;this.o292(o287, o288);};var currentSequenceReference = "";var soundAction = new Audio();this.o292 = function (o287, o288){o293 = o287[1 + o288];switch (o293){case 0:{o294 = o287[2 + o288];isLocalHtml = o287[3 + o288];if (isLocalHtml){OpenLocalHtmlFile(o294);}else{window.open(o294);}}break;case 1:{o271 = o287[2 + o288];o272 = o287[3 + o288];globalCounter++;var messageID = "modalContainer" + globalCounter;o273(o271, o272, messageID);}break;case 2:{o140 = o287[2 + o288];o203.o107(o140, true, true);}break;case 3:{o295 = o287[2 + o288];o296 = o295;o296();}break;case 4:{this.o297(o287, o288);}break;case 5:{var animationExist = false;var o298 = 1000.0 / 15.000000000000000;if (o204.o20 == true){o204.o13 = 1;}o32 = o287[2 + o288];o33 = [0, 0];o33[0] = o287[3 + o288];o33[1] = o287[4 + o288];this.o299(o298, false);this.o300(0, 0, o298, false);if (o32 == false){o204.o19 = o33[0];}this.o299(o298, true);}break;case 6:{this.o299(o298, false);}break;case 7:{o281 = o287[2 + o288];prepopulateFormTextBoxJSMethod(o281);}break;case 8:{o301 = o287[2 + o288];o302 = o287[3 + o288];soundAction.src = o301;soundAction.loop = o302;soundAction.play();}break;case 9:{var o298 = 1000.0 / 15.000000000000000;o32 = true;o33 = [0, 0];o45 = o287[2 + o288];o303 = o287[3 + o288];this.o300(o45, o303, o298, false);this.o299(o298, false);if (o32 == false){o205.o44 = o33[0];}if (o205.o20 == true){o205.o44 = 0;o205.o13 = 1;}this.o300(o45, o303, o298, true);}}AverageFPS = 0;o180 = 0;ActionApplied = true;if (false){/*IN THE TIME I HAVE ADDED HDR TO WEBGL THREE.JS DOESNOT HAVE HDR THE WAY WE HAVE IT ON THE COMPOSER, THAY SEE IT AS A REFLECTION MAPSO I'M CREATING A HUGE SPHERE ITS RADUIS DEPENTS ON OVERALL BOUNDING BOX AND APPLY THE HDR IMAGE ON IT AS A TEXTURE.*/scene.o59.remove(HDR);HDR.geometry.dispose();HDR.material.dispose();HDR = undefined;addHDRImage();}};this.PlayAnimationAtStart = function (){var animationExist = false;var o298 = 1000.0 / 15.000000000000000;this.o299(o298, true);};this.m_isPlay = false;this.o299 = function (o298, playAnimation){if (playAnimation && !this.m_isPlay){this.o304 = setInterval(function () { myTimer() }, o298);this.m_isPlay = true;}if (!playAnimation){clearInterval(this.o304);this.m_isPlay = false;}function myTimer(){o204.o37();}};this.m_isSequencePlay = false;this.o300 = function (o45, o303, o298, playAnimation){if (playAnimation && !this.m_isSequencePlay){this.o305 = setInterval(function () { mySequenceTimer(o45, o303) }, o298);this.m_isSequencePlay = true;}if (!playAnimation){if (currentSequenceReference != o45){o205.SeekSequenceToEnd();currentSequenceReference = o45;}clearInterval(this.o305);this.m_isSequencePlay = false;}function mySequenceTimer(o45, o303){o205.o53(o45, o303);}};this.o297 = function (o287, o288){var o306 = o287[0 + o288];var o307 = o287[1 + o288];var o308 = o287[2 + o288];var o309 = o287[3 + o288];var o310 = o287[4 + o288];var o311 = o287[5 + o288];var o312 = o287[6 + o288];var o313 = 7 + o288;if (o312 == 0){return;}if (o308 == 1){o314 = o313;for (var i = 0; i < o312; ++i){this.o292(o287, o314);o315 = o287[o314];o314 += o315;}}else if (o308 == 4){o316 = Math.floor(Math.random() * o312);if (o312 >= 2){while (o316 == o309){o316 = Math.floor(Math.random() * o312);}o287[3 + o288] = o316;}o317 = this.o289(o287, o313, o316);this.o292(o287, o317);}else{o317 = this.o289(o287, o313, o310);this.o292(o287, o317);if (o312 < 2){return;}if (o308 == 2){o318 = o310 + 1;if (o311){o318 = o310 - 1;}if (o318 >= o312){o311 = true;o318 = o312 - 2;}else if (o318 < 0){o311 = false;o318 = 1;}o310 = o318;}else if (o308 == 3){o318 = o310 + 1;if (o318 >= o312){o318 = 0;}o310 = o318;}o287[4 + o288] = o310;o287[5 + o288] = o311;}};};o227 = new o285;function componentToHex(c){var hex = c.toString(16);return hex.length == 1 ? "0" + hex : hex;};function rgbToHex(r, g, b){return "#" + componentToHex(r) + componentToHex(g) + componentToHex(b);};function CalculateFPS(){if (!o179){o179 = Date.now();FPS = 0;return;}delta = (Date.now() - o179) / 1000;o179 = Date.now();FPS = 1 / delta;AverageFPS += FPS;if (FPS > 15){o182 = true;} else{o182 = false;}};function fillLightMapArray(){for (var i = 0; i < o192.length; i += 2){ObjectsIDAndLightMaps.set(o192[i], o192[i + 1]);}};function GetLastLevelChildren(Child){if (Child.children.length == 0){AllChildrenJSArray[CounterOnAllChildrenArray] = Child;CounterOnAllChildrenArray++;}for (var j = 0; j < Child.children.length; j++){GetLastLevelChildren(Child.children[j]);}};function GetLastLevelChildrenIDs(Child){if (Child.nodes.length == 0){NamesWithIDsArray[CounterOnAllChildrenIDsArray] = Child;CounterOnAllChildrenIDsArray++;}for (var j = 0; j < Child.nodes.length; j++){GetLastLevelChildrenIDs(Child.nodes[j]);}};function Traverse(o199){var o319 = o199.scene.children[0].children;for (var i = 0; i < o319.length; i++){var Child = o199.scene.children[0].children[i];GetLastLevelChildren(Child);}};function TraverseToGetObjectsID(o199){var o319 = o199.dae.scene.nodes[0].nodes;for (var i = 0; i < o319.length; i++){var Child = o199.dae.scene.nodes[0].nodes[i];GetLastLevelChildrenIDs(Child);}};function ApplyLightMapToObjects(){var cache = [];for (var k = 0; k < AllChildrenJSArray.length; k++){var ChildName = "\"" + AllChildrenJSArray[k].name + "\"";var ObjectID;for (var i = 0; i < NamesWithIDsArray.length; i++){if (NamesWithIDsArray[i].name == ChildName){ObjectID = NamesWithIDsArray[k].id;break;}}if (AllChildrenJSArray[k].material != undefined){var ObjectID = NamesWithIDsArray[k].id;MatCopy = AllChildrenJSArray[k].material.clone();if (ObjectsIDAndLightMaps.get(ObjectID) != undefined){if (!cache[ObjectsIDAndLightMaps.get(ObjectID)])MatCopy.lightMap = THREE.ImageUtils.loadTexture(ObjectsIDAndLightMaps.get(ObjectID));}MatCopy.name = "Clone" + k + MatCopy.name;ChangedMaterialMap.set(MatCopy.name, AllChildrenJSArray[k].material.name);var MaterialsClone = scene.materials.getByName(AllChildrenJSArray[k].material.name).o320.clone();MaterialsClone.name = MatCopy.name;scene.materials.getByName(AllChildrenJSArray[k].material.name).o320 = MaterialsClone;AllChildrenJSArray[k].material = MatCopy;}}};function TraverseToAddShadow(o165, CastShadow){var o319 = o165.children[0].children;for (var i = 0; i < o319.length; i++){var Child = o165.children[0].children[i];AddShadowToObject(Child, CastShadow);}};function AddShadowToObject(Child, CastShadow){if (Child.children.length == 0){if (Child.material != undefined)if ((Child.material.name.includes("DielectricMaterial") || Child.material.name.includes("ThinDielectricMaterial"))){if (CastShadow){Child.castShadow = false;Child.receiveShadow = true;}else{Child.castShadow = false;Child.receiveShadow = false;}}else{if (CastShadow){Child.castShadow = true;Child.receiveShadow = true;}else{Child.castShadow = false;Child.receiveShadow = false;}}}for (var j = 0; j < Child.children.length; j++){AddShadowToObject(Child.children[j], CastShadow);}};function ModifyMaterialsSceneStatesArrays(){var materialsSceneStateNamesArray = o203.o90;var materialsSceneStateValuesArray = o203.o91;var NewMaterialSceneStateNamesArray = [];var NewMaterialSceneStateValuesArray = [];var MaterialClonesNumber = GetNumberOfClonesMaterials();/* materialsSceneStateNamesArray = ["Material1", "Material2", ... ]materialsSceneStateValuesArray = ["Scene1Material1", "Scene2Material2", ... ] *//* NewMaterialSceneStateNamesArray = ["Material1-clone-A","Material1-clone-B", "Material2", ... ]NewMaterialSceneStateValuesArray = ["Scene1Material1", Scene1Material1, "Scene2Material2", ... ] */for (var i = 0; i < materialsSceneStateNamesArray.length; i++){var currentMaterialSceneState = materialsSceneStateNamesArray[i];var currentMaterialSceneStateValue = materialsSceneStateValuesArray[i];var newMaterialNamesSceneState = [];var newMaterialValuesSceneState = [];for (var j = 0; j < currentMaterialSceneState.length; j++){var material = currentMaterialSceneState[j];for (const [key, value] of ChangedMaterialMap.entries()){if (value == material){newMaterialNamesSceneState.push(key);}}NewMaterialSceneStateNamesArray[i] = newMaterialNamesSceneState;var materialsSceneStateNamesArrayLength = 0;if (MaterialClonesNumber.get(currentMaterialSceneState[j]) != undefined){materialsSceneStateNamesArrayLength = MaterialClonesNumber.get(currentMaterialSceneState[j]);}var firstMaterialName = currentMaterialSceneStateValue[j];for (var k = 0; k < materialsSceneStateNamesArrayLength; k++){newMaterialValuesSceneState.push(firstMaterialName);}}NewMaterialSceneStateValuesArray[i] = newMaterialValuesSceneState;}o203.o90 = NewMaterialSceneStateNamesArray;o203.o91 = NewMaterialSceneStateValuesArray;};function ModifyMaterialAnimationArray(){var oldAnimationArray = o204.o16;var NewAnimationArray = [];var IndexInNewMaterialArray = 0;var MaterialClonesNumber = GetNumberOfClonesMaterials();for (const [key, value] of MaterialClonesNumber){if (value == 1)MaterialClonesNumber.delete(key);}for (const [key, value] of MaterialClonesNumber)for (var j = 0; j < o197.length; j += 2){if (key.includes(o197[j])){o197[j] = key;}}/* Array Structure [0,[5,6,7, ... ],1,[9,10,12, ... ] , ... ] */for (var i = 0; i < oldAnimationArray.length; i += 2)for (var j = 0; j < o197.length; j += 2){if (oldAnimationArray[i] == o197[j + 1]){var MatName = o197[j];if (MaterialClonesNumber.get(MatName) != undefined)for (var k = 0; k < MaterialClonesNumber.get(MatName); k++){NewAnimationArray.push(IndexInNewMaterialArray);NewAnimationArray.push(oldAnimationArray[i + 1]);IndexInNewMaterialArray++;}else{NewAnimationArray.push(IndexInNewMaterialArray);NewAnimationArray.push(oldAnimationArray[i + 1]);IndexInNewMaterialArray++;}}}o204.o16 = NewAnimationArray;};function ModifyMaterialSequanceArray(){var oldSequanceArray = o205.o41;var NewSequanceArray = [];var SubArray = [];var IndexInNewMaterialArray = 0;var MaterialClonesNumber = GetNumberOfClonesMaterials();for (const [key, value] of MaterialClonesNumber)for (var j = 0; j < o197.length; j += 2){if (key.includes(o197[j])){o197[j] = key;}}/* Array Structure [[Sequance1],[0,[5,6,7, ... ],1,[9,10,12, ... ]],[Sequance2],[2,[5,6,7, ... ],3,[9,10,12, ... ]], ... ] */for (var k = 0; k < oldSequanceArray.length; k += 2){var InnerArray = oldSequanceArray[k + 1];NewSequanceArray.push(oldSequanceArray[k]);for (var i = 0; i < InnerArray.length; i += 2)for (var j = 0; j < o197.length; j += 2){if (InnerArray[i] == o197[j + 1]){var MatName = o197[j];if (MaterialClonesNumber.get(MatName) != undefined){for (var l = 0; l < MaterialClonesNumber.get(MatName); l++){SubArray.push(IndexInNewMaterialArray);SubArray.push(InnerArray[i + 1]);IndexInNewMaterialArray++;}}}}NewSequanceArray.push(SubArray);SubArray = [];}o205.o41 = NewSequanceArray;};function Add360Image(){for (var j = o193.length - 1; j > 0; j -= 2){var GeometryPosition = o194[j].split(":");CameraXposition = parseFloat(-GeometryPosition[0]);CameraYposition = parseFloat(GeometryPosition[1]);CameraZposition = parseFloat(-GeometryPosition[2]);var CameraPositionGeometry = new THREE.RingGeometry(9, 20, 50, 50, 0);var CameraPositionMaterial = new o157({ color: 0xC0C0C0 });CameraPositionMaterial.side = 2;CameraPositionMesh = new o155(CameraPositionGeometry, CameraPositionMaterial);CameraPositionMesh.rotation.x = Math.PI / -2;var EulerJsVar = new THREE.Euler(Math.PI * 0.5, 0, 0, 'XYZ');var o321 = new THREE.Vector3(CameraXposition * 70, CameraYposition * 70, CameraZposition * 70);var MeshPosition = o321.applyEuler(EulerJsVar);CameraPositionMesh.position.set(MeshPosition.x, MeshPosition.y, MeshPosition.z);CameraPositionMesh.name = o194[j - 1];CameraPositionMesh.CameraTexture = o193[j];CameraPositionMesh.ClickedTimes = 0;VRCamerasJSArray.push(CameraPositionMesh);scene.o59.add(CameraPositionMesh);var BorderGeometry = new THREE.RingGeometry(19, 20.5, 50, 50, 0);var BorderMaterial = new o157({ color: 0x000000, side: 2 });var BorderMesh = new o155(BorderGeometry, BorderMaterial);BorderMesh.rotation.x = Math.PI / -2;BorderMesh.position.set(CameraPositionMesh.position.x, CameraPositionMesh.position.y, CameraPositionMesh.position.z);BorderMesh.scale.multiplyScalar(1.05);scene.o59.add(BorderMesh);VRCamerasJSArrayBorderJSArray.push(BorderMesh);}DeclareTweens(o175.fov);MoveToNext360Image(CameraPositionMesh, 1);};/*Function that adds the allusion of moving the camera from its current postion to the clicked camera position Which contains :- the thing is moving the camera to Next camera Postion and camera FOV to add the allusion of camera movement the change camera view texture and then return the camera to its original postion- Add360Images() reads the first value in o193,o195 and o194 so before calling it swap current camera with the one in index 0 in all arrays- add some transperancy to easily change texture without the user notice anything - MAGIC RIGHT? I KNOW :D*/function MoveToNext360Image(NextCamera, CalledCount){NextCamera.ClickedTimes += 1;var NextCameraPosition = NextCamera.position.clone();for (var i = 0; i < VRCamerasJSArray.length; i++){VRCamerasJSArray[i].position.set((VRCamerasJSArray[i].position.x - NextCameraPosition.x), (VRCamerasJSArray[i].position.y - NextCameraPosition.y), (VRCamerasJSArray[i].position.z - NextCameraPosition.z));VRCamerasJSArrayBorderJSArray[i].position.set((VRCamerasJSArrayBorderJSArray[i].position.x - NextCameraPosition.x), (VRCamerasJSArrayBorderJSArray[i].position.y - NextCameraPosition.y), (VRCamerasJSArrayBorderJSArray[i].position.z - NextCameraPosition.z));VRCamerasJSArray[i].SetCurrentCameraView = false;if (RightMouseClickCount % 2 == 0){VRCamerasJSArray[i].material.opacity = 0.6;VRCamerasJSArrayBorderJSArray[i].material.opacity = 0.6;}else{VRCamerasJSArray[i].material.opacity = 0;VRCamerasJSArrayBorderJSArray[i].material.opacity = 0;}if (NextCamera == VRCamerasJSArray[i]){VRCamerasJSArray[i].material.opacity = 0;VRCamerasJSArrayBorderJSArray[i].material.opacity = 0;VRCamerasJSArray[i].SetCurrentCameraView = true;}VRCamerasJSArray[i].material.transparent = true;VRCamerasJSArrayBorderJSArray[i].material.transparent = true;}var textureJsVar = new o161.loadTexture(o193[1]);CurrentCameraView.material.map = textureJsVar;CurrentCameraView.material.needsUpdate = true;var Direction = parseFloat(o195[1]);if (VRCamerasJSArray.length != 1)CurrentCameraView.rotation.y = Direction;else{CurrentCameraView.rotation.y = -Direction;}valueIndex = o196.findIndex(x => x == NextCamera.name);var doRotate = o196[valueIndex + 1];if (CalledCount == 1 || doRotate){if (VRCamerasJSArray.length == 1)CurrentCameraView.rotation.setFromVector3(new THREE.Vector3(0, -1.5, 0));else{o228.getObject().rotation.setFromVector3(new THREE.Vector3(0, 1.5 + Direction, 0));}}FovTween.stop();for (var i = 0; i < 5; i++)SceneTweens[i].stop();};function DeclareTweens(start){for (var i = 0; i < 5; i++){SceneTweens[i] = new TWEEN.Tween(start);}};function MoveToNextCamera(NextCamera){var fov;var CameraFOV = o175.fov;var request = new XMLHttpRequest();request.open("GET", NextCamera.CameraTexture, true);request.send();request.onreadystatechange = function (){if (this.readyState == 4 && (this.status == 200 || this.status == 0)){console.log(NextCamera.CameraTexture + " is downloaded");Move();}};if (NextCamera.ClickedTimes > 0){fov = 0.25;FovTween.to(5, 10000).easing(TWEEN.Easing.Sinusoidal.InOut).onUpdate(Update, this).start();}else{var count = 0;SceneTweens[0].to(10, 5000).easing(TWEEN.Easing.Sinusoidal.InOut).onUpdate(UpdateAndSlowingDown, this).onComplete(MoveNext, this).onStop(MoveNext, this).start();}function UpdateAndSlowingDown(){if (count == 0) fov = 0.4;if (count == 16) fov = 0.3;if (count == 31) fov = 0.15;if (count == 46) fov = 0.07;if (count == 59) fov = 0.04;if (count > 59) fov = 0.02;if (count > 70) fov = 0.01;count++;if (o175.fov >= 10){o175.fov -= fov;o175.updateProjectionMatrix();}};function MoveNext(){SceneTweens[1].to(10, 20000).easing(TWEEN.Easing.Sinusoidal.InOut).onUpdate(UpdateAndSlowingDown, this).start();SceneTweens[2].to(10, 20000).easing(TWEEN.Easing.Sinusoidal.InOut).onUpdate(UpdateAndSlowingDown, this).start();SceneTweens[3].to(10, 20000).easing(TWEEN.Easing.Sinusoidal.InOut).onUpdate(UpdateAndSlowingDown, this).start();SceneTweens[4].to(10, 20000).easing(TWEEN.Easing.Sinusoidal.InOut).onUpdate(UpdateAndSlowingDown, this).start();};function Move(){setTimeout(AddMoveDelay, 500);};function Update(){o175.fov -= fov;o175.updateProjectionMatrix();};function AddMoveDelay(){Cameraindex = o193.findIndex(x => x == NextCamera.name);var TempID = o193[Cameraindex];o193[Cameraindex] = o193[0];o193[0] = TempID;var TempTexture = o193[Cameraindex + 1];o193[Cameraindex + 1] = o193[1];o193[1] = TempTexture;var TempIDPosition = o194[Cameraindex];o194[Cameraindex] = o194[0];o194[0] = TempIDPosition;var TempTexturePosition = o194[Cameraindex + 1];o194[Cameraindex + 1] = o194[1];o194[1] = TempTexturePosition;var TempDirection = o195[Cameraindex + 1];o195[Cameraindex + 1] = o195[1];o195[1] = TempDirection;var TempIDDirection = o195[Cameraindex];o195[Cameraindex] = o195[0];o195[0] = TempIDDirection;o175.fov = CameraFOV;o175.updateProjectionMatrix();MoveToNext360Image(NextCamera, 2);};};function wait(){$('#loader-wrapper').fadeOut();};function GetNumberOfClonesMaterials(){var TempMap = new Map();for (const [key, value] of ChangedMaterialMap.entries())MapEachMaterialWithHowManyTimesDuplicated.set(value, 0);for (const [key, value] of ChangedMaterialMap.entries()){if (MapEachMaterialWithHowManyTimesDuplicated.get(value) != undefined)MapEachMaterialWithHowManyTimesDuplicated.set(value, MapEachMaterialWithHowManyTimesDuplicated.get(value) + 1);}TempMap = MapEachMaterialWithHowManyTimesDuplicated;return TempMap;};function AddSkyEnvironment(Turbidity){sky = new THREE.Sky();sky.scale.setScalar(45000000000000);scene.o59.add(sky);var sunSphere = new THREE.Mesh(new THREE.SphereBufferGeometry(200000000, 16, 8), new THREE.MeshBasicMaterial({ color: 0xffffff }));sunSphere.visible = false;scene.o59.add(sunSphere);var uniforms = sky.material.uniforms;uniforms.turbidity.value = Turbidity;uniforms.rayleigh.value = 0.5;uniforms.luminance.value = 1;uniforms.mieCoefficient.value = 0.002;uniforms.mieDirectionalG.value = 0.8;sunSphere.position.x = Math.cos(Horizontal) * Math.cos(Vertical - 0.05);sunSphere.position.y = Math.sin(Vertical - 0.05);sunSphere.position.z = Math.sin(Horizontal) * Math.cos(Vertical - 0.05);uniforms.sunPosition.value.copy(sunSphere.position);};function CalculateBoundingBoxOrigin(){var Min = new THREE.Vector3(BoundingBoxMin[0], BoundingBoxMin[1], BoundingBoxMin[2]);var Max = new THREE.Vector3(BoundingBoxMax[0], BoundingBoxMax[1], BoundingBoxMax[2]);var BoxOrigin = new THREE.Vector3(((Max.x + Min.x) / 2), ((Max.y + Min.y) / 2), ((Max.z + Min.z) / 2));return BoxOrigin;}function addHDRImage(){var o322 = {Color: { R: 0, G: 0, B: 0 }, Path: "VN1000-XA_files/SimLabHDR.png", RotateAngle: 0.000000000000000};var o323 = rgbToHex(o322.Color.R, o322.Color.G, o322.Color.B);BoundingBoxRadius = (0 + 1);var SceneBoundingBoxOrigin = CalculateBoundingBoxOrigin();o175.far = BoundingBoxRadius * 200;o228.maxDistance = BoundingBoxRadius * 40;o324 = new o156(BoundingBoxRadius * 150, 100, 100, 0);o325 = new o157({ color: o323 });HDR = new o155(o324, o325);HDR.material.map = new THREE.ImageUtils.loadTexture(o322.Path);HDR.material.map.flipY = false;HDR.rotation.x = -Math.PI / 2;HDR.position.set(SceneBoundingBoxOrigin.x, SceneBoundingBoxOrigin.y, SceneBoundingBoxOrigin.z);o324.scale(-1, 1, 1);scene.o59.add(HDR);if (HDR == undefined){var o232 = new o149(0xFFFFFF, 0x0f0f0f, 0.5);o232.position.set(0, 0, 0);o175.add(o232);}};-->