// 从这里开始 var h1 = null; var h2 = null; var h3 = null; var oldtransformNodex = null; var oldtransformNodeOther = null; var drag = null; var notmoveGroup = null; var movedGroup = null; var movesingle = false; var dynamicTexture = null; var dynamicTexture2 = null; var show = 50; var showdd = 50; BABYLON.DefaultLoadingScreen.prototype.displayLoadingUI = function () { if (document.getElementById("customLoadingScreenDiv")) { document.getElementById("customLoadingScreenDiv").style.display = "initial"; // 给vue页面传值,加载完成之前 parent.getIframeLoading("true") return; } this._loadingDiv = document.createElement("div"); //this._loadingDiv.style.height = '1750px'; this._loadingDiv.id = "customLoadingScreenDiv"; thecss = 'lohingifpc'; thecss2 = 'zcpc' this._loadingDiv.innerHTML = "
"; // this._loadingDiv.innerHTML = // "
阅行客 提供技术支持!
"; this._resizeLoadingUI(); window.addEventListener("resize", this._resizeLoadingUI); document.body.appendChild(this._loadingDiv); }; var movebyName = function (nodeName) { var x = scene.getTransformNodeByName(nodeName); moveTrans(x); } BABYLON.DefaultLoadingScreen.prototype.hideLoadingUI = function () { show = 50; document.getElementById("customLoadingScreenDiv").style.display = "none"; document.getElementById("customLoadingScreenDiv_first").style.display = "none"; document.title = '现行文件室/信息技术室'; var prepareGroupButton = function (transformNodex, color, qu) { var mesheses = null; if (transformNodex.getClassName() == "TransformNode") { mesheses = transformNodex.getChildMeshes(false); } else { mesheses = []; mesheses.push(transformNodex); } for (var i = 0; i < mesheses.length; i++) { mesheses[i].actionManager = new BABYLON.ActionManager(scene); var theScaling = mesheses[i].scaling; /*if (true) { try { mesheses[i].actionManager.registerAction(new BABYLON.InterpolateValueAction(BABYLON.ActionManager.OnPointerOutTrigger, mesheses[i], "scaling", new BABYLON.Vector3(theScaling.x, theScaling.y, theScaling.z), 100)); mesheses[i].actionManager.registerAction(new BABYLON.InterpolateValueAction(BABYLON.ActionManager.OnPointerOverTrigger, mesheses[i], "scaling", new BABYLON.Vector3(theScaling.x * 1.01, theScaling.y * 1.01, theScaling.z * 1.01), 100)); } catch (error) { //alert(error) } }*/ var clickbegin = false; mesheses[i].actionManager.registerAction( new BABYLON.ExecuteCodeAction({ trigger: BABYLON.ActionManager.OnPointerOverTrigger, parameter: "" }, function () { clickbegin = true; if (true) { if (oldtransformNodeOther != null) { oldtransformNodeOther.removeBehavior(drag); var mesheses2 = null; if (oldtransformNodeOther.getClassName() == "TransformNode") { mesheses2 = oldtransformNodeOther.getChildMeshes(false); } else { mesheses2 = []; mesheses2.push(oldtransformNodeOther); } for (var i = 0; i < mesheses2.length; i++) { try { h2.removeMesh(mesheses2[i]); } catch (error) { // alert(error) } } } oldtransformNodeOther = transformNodex; //transformNodex.addBehavior(drag); var mesheses3 = null; if (transformNodex.getClassName() == "TransformNode") { mesheses3 = transformNodex.getChildMeshes(false); } else { mesheses3 = []; mesheses3.push(transformNodex); } for (var i = 0; i < mesheses3.length; i++) { try { h2.addMesh(mesheses3[i], color); } catch (error) { // alert(error) } } clickbegin = false; } } ) ); mesheses[i].actionManager.registerAction( new BABYLON.ExecuteCodeAction({ trigger: BABYLON.ActionManager.OnPickTrigger, parameter: "" }, function () { clickbegin = true; if (true) { try { quClick(qu); } catch (error) { // alert(error) } clickbegin = false; } } ) ); } } var prepareGroupButton2 = function (transformNodex, color, qu) { var mesheses = null; if (transformNodex.getClassName() == "TransformNode") { mesheses = transformNodex.getChildMeshes(false); } else { mesheses = []; mesheses.push(transformNodex); } for (var i = 0; i < mesheses.length; i++) { mesheses[i].actionManager = new BABYLON.ActionManager(scene); var theScaling = mesheses[i].scaling; /*if (true) { try { mesheses[i].actionManager.registerAction(new BABYLON.InterpolateValueAction(BABYLON.ActionManager.OnPointerOutTrigger, mesheses[i], "scaling", new BABYLON.Vector3(theScaling.x, theScaling.y, theScaling.z), 100)); mesheses[i].actionManager.registerAction(new BABYLON.InterpolateValueAction(BABYLON.ActionManager.OnPointerOverTrigger, mesheses[i], "scaling", new BABYLON.Vector3(theScaling.x * 1.01, theScaling.y * 1.01, theScaling.z * 1.01), 100)); } catch (error) { //alert(error) } }*/ var clickbegin = false; mesheses[i].actionManager.registerAction( new BABYLON.ExecuteCodeAction({ trigger: BABYLON.ActionManager.OnPointerOverTrigger, parameter: "" }, function () { clickbegin = true; if (true) { if (oldtransformNodeOther != null) { oldtransformNodeOther.removeBehavior(drag); var mesheses2 = null; if (oldtransformNodeOther.getClassName() == "TransformNode") { mesheses2 = oldtransformNodeOther.getChildMeshes(false); } else { mesheses2 = []; mesheses2.push(oldtransformNodeOther); } for (var i = 0; i < mesheses2.length; i++) { try { h2.removeMesh(mesheses2[i]); } catch (error) { // alert(error) } } } oldtransformNodeOther = transformNodex; //transformNodex.addBehavior(drag); var mesheses3 = null; if (transformNodex.getClassName() == "TransformNode") { mesheses3 = transformNodex.getChildMeshes(false); } else { mesheses3 = []; mesheses3.push(transformNodex); } for (var i = 0; i < mesheses3.length; i++) { try { h2.addMesh(mesheses3[i], color); } catch (error) { // alert(error) } } clickbegin = false; } } ) ); mesheses[i].actionManager.registerAction( new BABYLON.ExecuteCodeAction({ trigger: BABYLON.ActionManager.OnPickTrigger, parameter: "" }, function () { clickbegin = true; if (true) { try { // quClick(transformNodex.name) cameraClick(transformNodex) } catch (error) { // alert(error) } clickbegin = false; } } ) ); } } //var dag1 = scene.getTransformNodeByName("现行w文件室内"); //var dag2 = scene.getTransformNodeByName("待销文件室"); //var dag3 = scene.getTransformNodeByName("现行文件室"); var colorddd = new BABYLON.Color3(51 / 255, 156 / 255, 1); //prepareGroupButton(dag1, colorddd, "现行w文件室内") //prepareGroupButton(dag2, colorddd, "待销文件室") //prepareGroupButton(dag3, colorddd, "现行文件室") // alert("abdd233"); //绑功能点 var cl = new BABYLON.Color3(0, 0, 1); var cl = new BABYLON.Color3(0, 0, 1); var jk01 = scene.getTransformNodeByName("Camera01"); jk01.nameID = "XXJ_MO_CAM_001" prepareGroupButton2(jk01, cl) var jk04 = scene.getTransformNodeByName("Camera04"); jk04.nameID = "XXW_MO_CAM_001" prepareGroupButton2(jk04, cl) var jk05 = scene.getTransformNodeByName("Camera05"); jk05.nameID = "XXW_MO_CAM_002" prepareGroupButton2(jk05, cl) var jk02 = scene.getTransformNodeByName("Camera02"); jk02.nameID = "XXW_MO_CAM_003" prepareGroupButton2(jk02, cl) var jk03 = scene.getTransformNodeByName("Camera03"); jk03.nameID = "XXW_MO_CAM_004" prepareGroupButton2(jk03, cl) //var jk06 = scene.getTransformNodeByName("Camera06"); //jk06.nameID = "ZLS_MO_CAM_002" //prepareGroupButton2(jk06, cl) // alert("abdd23"); //set camera to null /*var x = scene.getMeshByName("档案架01_primitive0"); x.overlayColor = BABYLON.Color3.White() x.renderOverlay = true; x = scene.getMeshByName("档案架02_primitive0"); x.overlayColor = BABYLON.Color3.White() x.renderOverlay = true; x = scene.getMeshByName("档案架03_primitive0"); x.overlayColor = BABYLON.Color3.White() x.renderOverlay = true; x = scene.getMeshByName("档案架04_primitive0"); x.overlayColor = BABYLON.Color3.White() x.renderOverlay = true; x = scene.getMeshByName("档案架05_primitive0"); x.overlayColor = BABYLON.Color3.White() x.renderOverlay = true; x = scene.getMeshByName("档案架06_primitive0"); x.overlayColor = BABYLON.Color3.White() x.renderOverlay = true; x = scene.getMeshByName("档案架07_primitive0"); x.overlayColor = BABYLON.Color3.White() x.renderOverlay = true; x = scene.getMeshByName("档案架08_primitive0"); x.overlayColor = BABYLON.Color3.White() x.renderOverlay = true; x = scene.getMeshByName("档案架09_primitive0"); x.overlayColor = BABYLON.Color3.White() x.renderOverlay = true; x = scene.getMeshByName("档案架10_primitive0"); x.overlayColor = BABYLON.Color3.White() x.renderOverlay = true; x = scene.getMeshByName("前门01_primitive0"); x.overlayColor = BABYLON.Color3.White() x.renderOverlay = true; x = scene.getMeshByName("后门01_primitive0"); x.overlayColor = BABYLON.Color3.White() x.renderOverlay = true; x = scene.getMeshByName("立方体_5_2.001_LOD1_primitive0"); x.overlayColor = BABYLON.Color3.White() x.renderOverlay = true; x = scene.getMeshByName("立方体_5_2.001_LOD1_primitive2"); x.overlayColor = BABYLON.Color3.White() x.renderOverlay = true; x = scene.getMeshByName("立方体_1_12.001_LOD1"); x.overlayColor = BABYLON.Color3.White() x.renderOverlay = true;*/ /* var hdrTexture2 = BABYLON.CubeTexture.CreateFromPrefilteredData("textures/environment.dds", scene); var plastic = new BABYLON.PBRMaterial("plastic", scene); plastic.reflectionTexture = hdrTexture2; plastic.microSurface = 0.96; plastic.albedoColor = new BABYLON.Color3(1, 1, 1); plastic.reflectivityColor = new BABYLON.Color3(0.003, 0.003, 0.003); scene.getMeshByName("墙体").material = plastic; alert("d");*/ var light = new BABYLON.HemisphericLight("HemiLight", new BABYLON.Vector3(0, 1, 0), scene); light.intensity = 2; light.diffuse = new BABYLON.Color3(0.92, 0.92, 0.92); //var material1 = scene.getMaterialByName("材质.29"); //material1.albedoColor = new BABYLON.Color3(168 / 255, 167 / 255, 168 / 255); //material1.roughness = 1; //var material1_add = scene.getMaterialByName("材质.039"); // material1_add.albedoColor = new BABYLON.Color3(168 / 255, 167 / 255, 168 / 255); //material1_add.roughness = 1; //墙 scene.getMaterialByName("墙体.001").metallic = 0.36; scene.getMaterialByName("墙体.001").albedoColor = new BABYLON.Color3(1, 1, 1); scene.getMaterialByName("墙体").metallic = 0.36; scene.getMaterialByName("墙体").albedoColor = new BABYLON.Color3(1, 1, 1); //铁 var material3 = scene.getMaterialByName("材质.29"); material3.metallic = 0.37; material3.roughness = 0; material3.emissiveColor = new BABYLON.Color3(0.278, 0.278, 0.278); scene.getMaterialByName("材质.29").metallic == 0.37; scene.getMaterialByName("材质.29").roughness = 0.0; scene.getMaterialByName("材质.29").emissiveColor = new BABYLON.Color3(0.278, 0.278, 0.278); var material3_add = scene.getMaterialByName("材质.039"); material3_add.metallic = 0.37; material3_add.roughness = 0; material3_add.emissiveColor = new BABYLON.Color3(0.278, 0.278, 0.278); scene.getMaterialByName("材质.039").metallic = 0.37; scene.getMaterialByName("材质.039").roughness = 0.0; scene.getMaterialByName("材质.039").emissiveColor = new BABYLON.Color3(0.278, 0.278, 0.278); var material3 = scene.getMaterialByName("材质.031"); material3.metallic = 0.37; material3.roughness = 0; material3.emissiveColor = new BABYLON.Color3(0.278, 0.278, 0.278); scene.getMaterialByName("材质.031").metallic = 0.37; scene.getMaterialByName("材质.031").roughness = 0.0; scene.getMaterialByName("材质.031").emissiveColor = new BABYLON.Color3(0.278, 0.278, 0.278); //scene.getMaterialByName("材质.132").metallic = 0.9; //scene.getMaterialByName("材质.132").roughness = 0.0; //scene.getMaterialByName("材质.132").emissiveColor = new BABYLON.Color3(0.278, 0.278, 0.278); //scene.getMaterialByName("材质.122").metallic = 0.9; //scene.getMaterialByName("材质.122").roughness = 0.0; //scene.getMaterialByName("材质.122").emissiveColor = new BABYLON.Color3(0.278, 0.278, 0.278); //地 var material2 = scene.getMaterialByName("材质.042"); material2.albedoColor = new BABYLON.Color3(0.8, 0.8, 0.8); material2.metallic = 0.52; material2.roughness = 0; // alert("here!ddddddd") //material2.metallicReflectanceColor=new BABYLON.Color3(1,0,0); //material2.emissiveColor=new BABYLON.Color3(0.8,0.8,0.8); //地面扩大处理 //var meshground1 = scene.getMeshByName("地面A").clone(); //var meshground = scene.getMeshByName("地面A"); //meshground.isVisible =false; //meshground1.position = new BABYLON.Vector3(-1.512,-0.069,1.852); //meshground1.scaling = new BABYLON.Vector3(0.022,0.013,0.005); //meshground1.parent = scene.getMeshByName("__root__"); //scene.getMeshByName("地面.002").isVisible = false; //scene.getMeshByName("地面.003").isVisible = false; //scene.getMeshByName("地面").isVisible = false; //scene.getMaterialByName("材质.127").metallic =0.80; //scene.getMaterialByName("Wood-04.004").metallic =0.80; //scene.getMaterialByName("Wood-04.004").metallic =0.80; //scene.getMaterialByName("Desk.002").metallic =0.80; //scene.getMaterialByName("Desk.002").roughness = 0.72; //scene.getMaterialByName("Desk.003").metallic =0.80; //scene.getMaterialByName("Desk.003").roughness = 0.72; //scene.getMaterialByName("Desk.004").metallic =0.80; //scene.getMaterialByName("Desk.004").roughness = 0.72; //scene.getMaterialByName("Desk.007").metallic =0.80; //scene.getMaterialByName("Desk.007").roughness = 0.72; //scene.getMaterialByName("Desk.008").metallic =0.80; //scene.getMaterialByName("Desk.008").roughness = 0.72; //scene.getMaterialByName("Desk.009").metallic =0.80; //scene.getMaterialByName("Desk.009").roughness = 0.72; scene.getMaterialByName("Desk.002").metallic = 0.80; scene.getMaterialByName("Desk.002").roughness = 0.72; //scene.getMaterialByName("Desk.020").metallic =0.80; //scene.getMaterialByName("Desk.020").roughness = 0.72; //scene.getMaterialByName("Desk.021").metallic =0.80; //scene.getMaterialByName("Desk.021").roughness = 0.72; //scene.getMaterialByName("Desk.022").metallic =0.80; //scene.getMaterialByName("Desk.022").roughness = 0.72; //scene.getMaterialByName("Desk.023").metallic =0.80; //scene.getMaterialByName("Desk.023").roughness = 0.72; //scene.getMaterialByName("Desk.024").metallic =0.80; //scene.getMaterialByName("Desk.024").roughness = 0.72; //scene.getMaterialByName("cover_label.010").alpha = 0.7; //scene.getMaterialByName("cover_label.010").transparencyMode=2; //ALPHABLEND //scene.getMeshByName("档案架01_primitive3").material = scene.getMaterialByName("10.002"); //scene.getMeshByName("档案架02_primitive4").material = scene.getMaterialByName("09.002"); //scene.getMeshByName("档案架03_primitive4").material = scene.getMaterialByName("08.002"); // scene.getMeshByName("档案架04_primitive4").material = scene.getMaterialByName("07.002"); //scene.getMeshByName("档案架05_primitive4").material = scene.getMaterialByName("06.002"); //scene.getMeshByName("档案架06_primitive4").material = scene.getMaterialByName("05.002"); //scene.getMeshByName("档案架07_primitive4").material = scene.getMaterialByName("04.002"); //scene.getMeshByName("档案架08_primitive4").material = scene.getMaterialByName("03.002"); //scene.getMeshByName("档案架09_primitive4").material = scene.getMaterialByName("02.002"); //scene.getMeshByName("档案架10_primitive3").material = scene.getMaterialByName("01.002"); //scene.getTransformNodeByName("档案柜01").setEnabled(false); //scene.getTransformNodeByName("档案柜02").setEnabled(false); //var v1 = scene.getMeshByName("钢轨01"); //v1.position = new BABYLON.Vector3(v1.position.x,60.0,v1.position.z); //v1.scaling = new BABYLON.Vector3(1,0.9,1); //var v2 = scene.getTransformNodeByName("后门01"); //v2.setParent( scene.getTransformNodeByName("档案柜03"),true); //v2.position = new BABYLON.Vector3(v2.position.x,-122.479,v2.position.z); // 给vue页面传值,加载完成之后 parent.getIframeLoading("false") } // createScene function that creates and return the scene var createScene = function () { engine.displayLoadingUI(); // create a basic BJS Scene object var scene = new BABYLON.Scene(engine); // scene.debugLayer.show(); var camera = new BABYLON.ArcRotateCamera("Camera", 0, 0, 5, new BABYLON.Vector3(0, -1, 0), scene); camera.setTarget(new BABYLON.Vector3(0, 0.3, 0.2)); camera.attachControl(canvas, true); camera.lowerRadiusLimit = 2.0; // 这里是最大的位置,值越大,物体越小 camera.upperRadiusLimit = 40; camera.radius = 1.328; camera.alpha = Math.PI * -240.4 / 180; camera.beta = Math.PI * 46 / 180;; camera.inertia = 0.1; // 缩放的快慢 camera.useAutoRotationBehavior = true; // 自动旋转 camera.panningDistanceLimit = 2; //平移半径 camera.panningInertia = 0; camera.autoTransitionRange = 1; camera.pinchToPanMaxDistance = 0.1; camera.pinchDeltaPercentage = 0.001; camera.useAutoRotationBehavior = false; scene.activeCamera = camera; // 改变场景背景颜色 - 背景颜色opacity值设为0,达到透明背景的效果 scene.clearColor = new BABYLON.Color4(0, 0, 0, 0); scene.activeCamera.useInputToRestoreState = true; var camera1_status = scene.activeCamera.storeState(); var assetsManager = new BABYLON.AssetsManager(scene); var meshTask = assetsManager.addMeshTask("skull task", "", "asset/", "7lou-AA.glb"); meshTask.onSuccess = function (task) { task.loadedMeshes[0].scaling = new BABYLON.Vector3(0.2, 0.2, -0.2); task.loadedMeshes[0].position = new BABYLON.Vector3(0, 0.35, 0); } meshTask.onError = function (task, message, exception) { console.log(message, exception); } /* var meshTask_camera = assetsManager.addMeshTask("skull task", "", "asset/", "TotalCamera.glb"); meshTask_camera.onSuccess = function (task) { task.loadedMeshes[0].name = "cameras"; task.loadedMeshes[0].scaling = new BABYLON.Vector3(0.2, 0.2, -0.2); task.loadedMeshes[0].position = new BABYLON.Vector3(1.3, 2, 0); } meshTask_camera.onError = function (task, message, exception) { console.log(message, exception); }*/ var hdrTexture = new BABYLON.CubeTexture.CreateFromPrefilteredData("textures/environmentSpecular.env", scene); scene.environmentTexture = hdrTexture; var spriteManagerPlayer = new BABYLON.SpriteManager("playerManager", "./img/bl9.png", 10, { width: 100, height: 100 }, scene); //spriteManagerPlayer.renderingGroupId = 2; spriteManagerPlayer.isPickable = true; scene.onPointerDown = function (evt) { var pickResult = scene.pickSprite(this.pointerX, this.pointerY); var pick = scene.pick(scene.pointerX, scene.pointerY); console.log(pick.pickedPoint); if (pickResult.pickedSprite != null) { if (pickResult.hit) { alert(pickResult.pickedSprite.name); } } }; // renderCanvas.style.backgroundImage = 'url("./textures/' + '4' + '.jpg")'; console.log("x2"); assetsManager.load(); drag = new BABYLON.PointerDragBehavior({ dragPlaneNormal: new BABYLON.Vector3(0, 0, 1) }); //drag.useObjectOrienationForDragging = false; drag.validateDrag = (targetPosition) => { console.log(targetPosition) if (targetPosition.x > 10.5 || targetPosition.x < -10.5) { return false; } if (targetPosition.z > 10.5 || targetPosition.z < -10.5) { return false; } if (oldtransformNodex != null) { return true; } } drag.onDragEndObservable.add((event) => { console.log("dragEnd"); //console.log(event); //console.log(line03_position) }) console.log("x3"); //GUI h1 = new BABYLON.HighlightLayer("hl1", scene); h2 = new BABYLON.HighlightLayer("hl2", scene); h3 = new BABYLON.HighlightLayer("hl2", scene); var step = 0.1; var currentx = 1; var step2 = 0.1; var currentx2 = 0.1; h1.blurHorizontalSize = 0.1; var showx = 0; var showx2 = 2; console.log("x4"); scene.registerAfterRender(() => { h1.blurHorizontalSize = h1.blurVerticalSize + currentx; var nodealert = scene.getTransformNodeByName("camera01"); if (nodealert != null) { var mesheses3 = null; if (nodealert.getClassName() == "TransformNode") { mesheses3 = nodealert.getChildMeshes(false); } else { mesheses3 = []; mesheses3.push(nodealert); } for (var i = 0; i < mesheses3.length; i++) { try { if (nodealert.baojing == true) { h3.addMesh(mesheses3[i], new BABYLON.Color3(1, 0, 0)); } else { h3.removeMesh(mesheses3[i]); } } catch (error) { // alert(error) } } } var nodealert = scene.getTransformNodeByName("camera02"); if (nodealert != null) { var mesheses3 = null; if (nodealert.getClassName() == "TransformNode") { mesheses3 = nodealert.getChildMeshes(false); } else { mesheses3 = []; mesheses3.push(nodealert); } for (var i = 0; i < mesheses3.length; i++) { try { if (nodealert.baojing == true) { h3.addMesh(mesheses3[i], new BABYLON.Color3(1, 0, 0)); } else { h3.removeMesh(mesheses3[i]); } } catch (error) { // alert(error) } } } var nodealert = scene.getTransformNodeByName("camera03"); if (nodealert != null) { var mesheses3 = null; if (nodealert.getClassName() == "TransformNode") { mesheses3 = nodealert.getChildMeshes(false); } else { mesheses3 = []; mesheses3.push(nodealert); } for (var i = 0; i < mesheses3.length; i++) { try { if (nodealert.baojing == true) { h3.addMesh(mesheses3[i], new BABYLON.Color3(1, 0, 0)); } else { h3.removeMesh(mesheses3[i]); } } catch (error) { // alert(error) } } } var nodealert = scene.getTransformNodeByName("camera04"); if (nodealert != null) { var mesheses3 = null; if (nodealert.getClassName() == "TransformNode") { mesheses3 = nodealert.getChildMeshes(false); } else { mesheses3 = []; mesheses3.push(nodealert); } for (var i = 0; i < mesheses3.length; i++) { try { if (nodealert.baojing == true) { h3.addMesh(mesheses3[i], new BABYLON.Color3(1, 0, 0)); } else { h3.removeMesh(mesheses3[i]); } } catch (error) { // alert(error) } } } var nodealert = scene.getTransformNodeByName("camera05"); if (nodealert != null) { var mesheses3 = null; if (nodealert.getClassName() == "TransformNode") { mesheses3 = nodealert.getChildMeshes(false); } else { mesheses3 = []; mesheses3.push(nodealert); } for (var i = 0; i < mesheses3.length; i++) { try { if (nodealert.baojing == true) { h3.addMesh(mesheses3[i], new BABYLON.Color3(1, 0, 0)); } else { h3.removeMesh(mesheses3[i]); } } catch (error) { // alert(error) } } } /*var nodealert = scene.getTransformNodeByName("camera07"); if (nodealert != null) { var mesheses3 = null; if (nodealert.getClassName() == "TransformNode") { mesheses3 = nodealert.getChildMeshes(false); } else { mesheses3 = []; mesheses3.push(nodealert); } for (var i = 0; i < mesheses3.length; i++) { try { if (nodealert.baojing == true) { h3.addMesh(mesheses3[i], new BABYLON.Color3(1, 0, 0)); } else { h3.removeMesh(mesheses3[i]); } } catch (error) { // alert(error) } } } var nodealert = scene.getTransformNodeByName("camera08"); if (nodealert != null) { var mesheses3 = null; if (nodealert.getClassName() == "TransformNode") { mesheses3 = nodealert.getChildMeshes(false); } else { mesheses3 = []; mesheses3.push(nodealert); } for (var i = 0; i < mesheses3.length; i++) { try { if (nodealert.baojing == true) { h3.addMesh(mesheses3[i], new BABYLON.Color3(1, 0, 0)); } else { h3.removeMesh(mesheses3[i]); } } catch (error) { // alert(error) } } } var nodealert = scene.getTransformNodeByName("camera09"); if (nodealert != null) { var mesheses3 = null; if (nodealert.getClassName() == "TransformNode") { mesheses3 = nodealert.getChildMeshes(false); } else { mesheses3 = []; mesheses3.push(nodealert); } for (var i = 0; i < mesheses3.length; i++) { try { if (nodealert.baojing == true) { h3.addMesh(mesheses3[i], new BABYLON.Color3(1, 0, 0)); } else { h3.removeMesh(mesheses3[i]); } } catch (error) { // alert(error) } } }*/ if (currentx > 0.5) { step *= -1; } if (currentx < 0) { step *= -1; } currentx += step; if (currentx2 > 5) { step2 *= -1; } if (currentx2 < 0) { step2 *= -1; } currentx2 += step2; if (dynamicTexture != null && show == 0) { var textx = showx; var font_size = 48; var font = "bold " + font_size + "px Arial"; dynamicTexture.drawText(textx, null, null, font, "#FF0000", "#ffffff", true); showx++; show = 50; } if (dynamicTexture2 != null && showdd == 0) { var textx = showx2; var font_size = 48; var font = "bold " + font_size + "px Arial"; dynamicTexture2.drawText(textx, null, null, font, "#0000FF", "#ffffff", true); showx2++; showdd = 50; if (showx2 == 10) { showx2 = 0 } } show--; showdd--; }); return scene; } var canvas = document.getElementById('renderCanvas'); // load the 3D engine var engine = new BABYLON.Engine(canvas, true, { stencil: true }); // call the createScene function var scene = createScene(); scene.autoClear = true; scene.imageProcessingConfiguration.exposure = 1; scene.imageProcessingConfiguration.contrast = 1; scene.environmentIntensity = 0.4; engine.runRenderLoop(function () { scene.render(); }); window.addEventListener('resize', function () { engine.resize(); }); //功能:点区以后跳转到新页 //quName :转过来的区号 function quClick (quName) { // if (quName == "信息技术室") { // window.location.href = "http://192.168.99.117:8099/101/webA/index.html"; // } // if (quName == "待销文件室") { // window.location.href = "http://192.168.99.117:8099/101/webB/index.html"; // } // if (quName == "现行文件室") { // window.location.href = "http://192.168.99.117:8099/101/webC/index.html"; // } } //功能:点camera后事件 // function cameraClick (camera) { // //alert(camera.nameID); // } function cameraClick(TheCamera) { window.parent.postMessage( { data: TheCamera.nameID }, "*" ); } function HashMap () { //定义长度 var length = 0; //创建一个对象 var obj = new Object(); //判断Map是否为空 this.isEmpty = function () { return length == 0; } //判断对象中是否包含给定Key this.containsKey = function (key) { return (key in obj); } //判断对象中是否包含给定的Value this.containsValue = function (value) { for (var key in obj) { if (obj[key] == value) { return true; } } return false; } //向map中添加数据 this.put = function (key, value) { if (!this.containsKey(key)) { length++; } obj[key] = value; } //根据给定的key获取Value this.get = function (key) { return this.containsKey(key) ? obj[key] : null; } //根据给定的Key删除一个值 this.remove = function (key) { if (this.containsKey(key) && (delete obj[key])) { length--; } } //获得Map中所有的value this.values = function () { var _values = new Array(); for (var key in obj) { _values.push(obj[key]); } return _values; } //获得Map中的所有key this.keySet = function () { var _keys = new Array(); for (var key in obj) { _keys.push(key); } return _keys; } //获得Map的长度 this.size = function () { return length; } //清空Map this.clear = function () { length = 0; obj = new Object(); } } var yangans = new HashMap(); //yangans.put('DAK_MO_CAM_001', 'camera01'); //yangans.put('DAK_MO_CAM_002', 'camera02'); //yangans.put('DAK_MO_CAM_003', 'camera03'); //yangans.put('DAK_MO_CAM_004', 'camera04'); //yangans.put('ZLS_MO_CAM_001', 'camera05'); //yangans.put('ZLS_MO_CAM_002', 'camera06'); //yangans.put('YLS_MO_CAM_001', 'camera07'); //yangans.put('YLS_MO_CAM_002', 'camera08'); //yangans.put('ZL_MO_CAM_001', 'camera09'); //功能转入报警 function Myalert (MathineID, baojing) { var theName = yangans.get(MathineID); if (theName == "camera01") { scene.getTransformNodeByName("camera01").baojing = baojing; } if (theName == "camera01.001") { scene.getTransformNodeByName("camera01.001").baojing = baojing; } if (theName == "camera01.002") { scene.getTransformNodeByName("camera01.002").baojing = baojing; } if (theName == "camera01.003") { scene.getTransformNodeByName("camera01.003").baojing = baojing; } if (theName == "camera01.004") { scene.getTransformNodeByName("camera01.004").baojing = baojing; } if (theName == "camera01.005") { scene.getTransformNodeByName("camera01.005").baojing = baojing; } } //报警 true:表示报警, false :表示不报警 //Myalert("DAK_MO_OAO_001",true)