|
|
// 从这里开始
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.id = "customLoadingScreenDiv"; thecss = "lohingifpc"; thecss2 = "zcpc"; this._loadingDiv.innerHTML = "<div class='oka'><div class='" + thecss + "'><image src='./logok.gif' class='jiazaiimg'/></div><div class='" + thecss2 + "'>由 <image class='feitimg' src='./img/yxlogo.png'/> 阅行客 提供技术支持!</div></div>"; 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("墙体");
// x.overlayColor = BABYLON.Color3.White();
// x.renderOverlay = true;
// x = scene.getMeshByName("立方体_9_2");
// x.overlayColor = BABYLON.Color3.White();
// x.renderOverlay = true;
// x = scene.getMeshByName("立方体_2_17.001_primitive0");
// x.overlayColor = BABYLON.Color3.White();
// x.renderOverlay = true;
// x = scene.getMeshByName("立方体_2_17.001_primitive1");
// x.overlayColor = BABYLON.Color3.White();
// x.renderOverlay = true;
// x = scene.getMeshByName("立方体_2_17.001_primitive2");
// x.overlayColor = BABYLON.Color3.White();
// x.renderOverlay = true;
// x = scene.getMeshByName("立方体_2_17.001_primitive3");
// x.overlayColor = BABYLON.Color3.White();
// x.renderOverlay = true;
// x = scene.getMeshByName("立方体_12_2_primitive0");
// x.overlayColor = BABYLON.Color3.White();
// x.renderOverlay = true;
// x = scene.getMeshByName("立方体_12_2_primitive1");
// x.overlayColor = BABYLON.Color3.White();
// x.renderOverlay = true;
//x = scene.getMeshByName("立方体_12_2_primitive2");
//x.overlayColor = BABYLON.Color3.White()
//x.renderOverlay = true;
// x = scene.getMeshByName("立方体_12_2_primitive3");
// x.overlayColor = BABYLON.Color3.White();
// x.renderOverlay = true;
// x = scene.getMeshByName("立方体_12_2_primitive4");
// 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 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.8; scene.getMaterialByName("Wood-04.004").metallic = 0.8; scene.getMaterialByName("Wood-04.004").metallic = 0.8;
scene.getMaterialByName("Desk.002").metallic = 0.8; scene.getMaterialByName("Desk.002").roughness = 0.72; scene.getMaterialByName("Desk.003").metallic = 0.8; scene.getMaterialByName("Desk.003").roughness = 0.72; scene.getMaterialByName("Desk.004").metallic = 0.8; scene.getMaterialByName("Desk.004").roughness = 0.72;
scene.getMaterialByName("Desk.007").metallic = 0.8; scene.getMaterialByName("Desk.007").roughness = 0.72; scene.getMaterialByName("Desk.008").metallic = 0.8; scene.getMaterialByName("Desk.008").roughness = 0.72; scene.getMaterialByName("Desk.009").metallic = 0.8; scene.getMaterialByName("Desk.009").roughness = 0.72;
scene.getMaterialByName("Desk.019").metallic = 0.8; scene.getMaterialByName("Desk.019").roughness = 0.72; scene.getMaterialByName("Desk.020").metallic = 0.8; scene.getMaterialByName("Desk.020").roughness = 0.72; scene.getMaterialByName("Desk.021").metallic = 0.8; scene.getMaterialByName("Desk.021").roughness = 0.72;
scene.getMaterialByName("Desk.022").metallic = 0.8; scene.getMaterialByName("Desk.022").roughness = 0.72; scene.getMaterialByName("Desk.023").metallic = 0.8; scene.getMaterialByName("Desk.023").roughness = 0.72; scene.getMaterialByName("Desk.024").metallic = 0.8; scene.getMaterialByName("Desk.024").roughness = 0.72; };
// 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, 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; scene.activeCamera.useInputToRestoreState = true; var camera1_status = scene.activeCamera.storeState(); // 改变场景背景颜色 - 背景颜色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); };
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")';
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.72:8099/83/webA/index.html";
// }
// if(quName=="B区"){
// window.location.href = "http://192.168.99.72:8099/83/webB/index.html";
// }
// if(quName=="C区"){
// window.location.href = "http://192.168.99.72: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)
|