// 从这里开始 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' 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('A区') var dag2 = scene.getTransformNodeByName('B区') var dag3 = scene.getTransformNodeByName('C区') var colorddd = new BABYLON.Color3(51 / 255, 156 / 255, 1) prepareGroupButton(dag1, colorddd, 'A区') prepareGroupButton(dag2, colorddd, 'B区') prepareGroupButton(dag3, colorddd, 'C区') // 绑功能点 var cl = new BABYLON.Color3(0, 0, 1) var jk01 = scene.getTransformNodeByName('camera01') jk01.nameID = 'DAK_MO_CAM_001' prepareGroupButton2(jk01, cl) var jk02 = scene.getTransformNodeByName('camera02') jk02.nameID = 'DAK_MO_CAM_002' prepareGroupButton2(jk02, cl) var jk03 = scene.getTransformNodeByName('camera03') jk03.nameID = 'DAK_MO_CAM_003' prepareGroupButton2(jk03, cl) var jk04 = scene.getTransformNodeByName('camera04') jk04.nameID = 'DAK_MO_CAM_004' prepareGroupButton2(jk04, cl) var jk05 = scene.getTransformNodeByName('camera05') jk05.nameID = 'ZLS_MO_CAM_001' prepareGroupButton2(jk05, cl) var jk06 = scene.getTransformNodeByName('camera06') jk06.nameID = 'ZLS_MO_CAM_002' prepareGroupButton2(jk06, cl) var jk07 = scene.getTransformNodeByName('camera07') jk07.nameID = 'YLS_MO_CAM_001' prepareGroupButton2(jk07, cl) var jk08 = scene.getTransformNodeByName('camera08') jk08.nameID = 'YLS_MO_CAM_002' prepareGroupButton2(jk08, cl) var jk09 = scene.getTransformNodeByName('camera09') jk09.nameID = 'ZL_MO_CAM_001' prepareGroupButton2(jk09, cl) // 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('材质.107') material1.albedoColor = new BABYLON.Color3(168 / 255, 167 / 255, 168 / 255) material1.roughness = 1 // 墙 scene.getMaterialByName('cover_label.009').metallic = 0.36 scene.getMaterialByName('cover_label.009').albedoColor = new BABYLON.Color3(1, 1, 1) // scene.getMaterialByName("cover_label.010").metallic =0.36; // scene.getMaterialByName("cover_label.010").albedoColor = new BABYLON.Color3(1, 1, 1); // 铁 var material3 = scene.getMaterialByName('材质.116') material3.metallic = 0.9 material3.roughness = 0 material3.emissiveColor = new BABYLON.Color3(0.278, 0.278, 0.278) scene.getMaterialByName('材质.102').metallic = 0.9 scene.getMaterialByName('材质.102').roughness = 0.0 scene.getMaterialByName('材质.102').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('材质.106') material2.albedoColor = new BABYLON.Color3(0.8, 0.8, 0.8) material2.metallic = 0.52 material2.roughness = 0 // 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.019').metallic = 0.80 scene.getMaterialByName('Desk.019').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') console.log(scene.getMeshByName('圆柱_10')) scene.getMeshByName('圆柱_10').setEnabled(false) scene.getMeshByName('球体_4').setEnabled(false) // 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) scene.getTransformNodeByName('红').setEnabled(false) scene.getTransformNodeByName('蓝').setEnabled(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) // console.log("60ee2") // 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, 2, 0)) camera.attachControl(canvas, true) camera.lowerRadiusLimit = 2.0 // 这里是最大的位置,值越大,物体越小 camera.upperRadiusLimit = 40 camera.radius = 15.998 camera.alpha = Math.PI * -248.8 / 180 camera.beta = Math.PI * 66 / 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 // console.log("60e3") scene.activeCamera.useInputToRestoreState = true var camera1_status = scene.activeCamera.storeState() // console.log("6033") // 改变场景背景颜色 - 背景颜色opacity值设为0,达到透明背景的效果 scene.clearColor = new BABYLON.Color4(0, 0, 0, 0) var assetsManager = new BABYLON.AssetsManager(scene) var meshTask = assetsManager.addMeshTask('skull task', '', 'asset/', 'total2.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(1.3, 2, 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) } // console.log("60ee") var hdrTexture = new BABYLON.CubeTexture.CreateFromPrefilteredData('textures/environmentSpecular.env', scene) scene.environmentTexture = hdrTexture // console.log("604") var spriteManagerPlayer = new BABYLON.SpriteManager('playerManager', './img/bl9.png', 10, { width: 100, height: 100 }, scene) // spriteManagerPlayer.renderingGroupId = 2; spriteManagerPlayer.isPickable = true // console.log("604") 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) } } } // console.log("x1"); // renderCanvas.style.backgroundImage = 'url("./textures/' + '4' + '.jpg")'; 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) }) // 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 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('camera06') 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 == "A区") { // window.location.href = "http://192.168.99.117:8099/83/webA/index.html"; // } // if (quName == "B区") { // window.location.href = "http://192.168.99.117:8099/83/webB/index.html"; // } // if (quName == "C区") { // window.location.href = "http://192.168.99.117:8099/83/webC/index.html"; // } // } function quClick(name) { window.parent.postMessage( { data: name }, '*' ) } // 功能:点camera后事件 // function cameraClick(camera) { // alert(camera.nameID); // } function cameraClick(camera) { window.parent.postMessage( { data: camera.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 == 'camera02') { scene.getTransformNodeByName('camera02').baojing = baojing } if (theName == 'camera03') { scene.getTransformNodeByName('camera03').baojing = baojing } if (theName == 'camera04') { scene.getTransformNodeByName('camera04').baojing = baojing } if (theName == 'camera05') { scene.getTransformNodeByName('camera05').baojing = baojing } if (theName == 'camera06') { scene.getTransformNodeByName('camera06').baojing = baojing } if (theName == 'camera07') { scene.getTransformNodeByName('camera07').baojing = baojing } if (theName == 'camera08') { scene.getTransformNodeByName('camera08').baojing = baojing } if (theName == 'camera09') { scene.getTransformNodeByName('camera09').baojing = baojing } } // 报警 true:表示报警, false :表示不报警 // Myalert("DAK_MO_OAO_001",true)