【前端】智能库房综合管理系统前端项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

1760 lines
61 KiB

// 从这里开始
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 dynamicTexture3 = null;
var dynamicTexture4 = null;
var show = 50;
var showdd = 50;
var PointerOverYangan = null;
var deviceData = [];
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 =
"<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);
}
var moveTrans = function (move_transformNode) {
//alert(move_transformNode.name);
if (movesingle == false) {
movesingle = true;
var tempstr = move_transformNode.name.replace('档案柜', '');
var tempNum = parseInt(tempstr);
if (move_transformNode.movex == "false") {
for (var MoveNum = tempNum - 1; MoveNum >= 0; MoveNum--) {
var tempNode = notmoveGroup[MoveNum];
if (tempNode.movex == "false") {
console.log(tempNode.name);
console.log(tempNode.movex);
const frameRate = 10;
const xSlide = new BABYLON.Animation("xSlide", "position.y", frameRate, BABYLON.Animation.ANIMATIONTYPE_FLOAT, BABYLON.Animation.ANIMATIONLOOPMODE_CONSTANT);
const keyFrames = [];
keyFrames.push({
frame: 0,
value: tempNode.position.y
});
keyFrames.push({
frame: frameRate,
value: tempNode.position.y - 653
});
xSlide.setKeys(keyFrames);
tempNode.animations.push(xSlide);
scene.beginAnimation(tempNode, 0, frameRate, false);
//------------------------------------------------------------------------------
thesprite = scene.spriteManagers[0].sprites[MoveNum];
const frameRate1 = 10;
var xSlide1 = new BABYLON.Animation("xSlide1", "position.z", frameRate1, BABYLON.Animation.ANIMATIONTYPE_FLOAT, BABYLON.Animation.ANIMATIONLOOPMODE_CONSTANT);
var keyFrames1 = [];
keyFrames1.push({
frame: 0,
value: thesprite.position.z
});
keyFrames1.push({
frame: frameRate1,
value: thesprite.position.z - 1.7
});
xSlide1.setKeys(keyFrames1);
thesprite.animations.push(xSlide1);
scene.beginAnimation(thesprite, 0, frameRate1, false);
tempNode.movex = "true";
}
}
} else {
for (var MoveNum = tempNum - 1; MoveNum <= 9; MoveNum++) {
var tempNode = notmoveGroup[MoveNum];
if (tempNode.movex == "true") {
const frameRate = 10;
const xSlide = new BABYLON.Animation("xSlide", "position.y", frameRate, BABYLON.Animation.ANIMATIONTYPE_FLOAT, BABYLON.Animation.ANIMATIONLOOPMODE_CONSTANT);
const keyFrames = [];
keyFrames.push({
frame: 0,
value: tempNode.position.y
});
keyFrames.push({
frame: frameRate,
value: tempNode.position.y + 653
});
xSlide.setKeys(keyFrames);
tempNode.animations.push(xSlide);
scene.beginAnimation(tempNode, 0, frameRate, false);
//------------------------------------------------------------------------------
thesprite = scene.spriteManagers[0].sprites[MoveNum];
const frameRate1 = 10;
var xSlide1 = new BABYLON.Animation("xSlide1", "position.z", frameRate1, BABYLON.Animation.ANIMATIONTYPE_FLOAT, BABYLON.Animation.ANIMATIONLOOPMODE_CONSTANT);
var keyFrames1 = [];
keyFrames1.push({
frame: 0,
value: thesprite.position.z
});
keyFrames1.push({
frame: frameRate1,
value: thesprite.position.z + 1.7
});
xSlide1.setKeys(keyFrames1);
thesprite.animations.push(xSlide1);
scene.beginAnimation(thesprite, 0, frameRate1, false);
tempNode.movex = "false";
}
}
}
setTimeout(function () {
movesingle = false;
}, 2000);
}
}
BABYLON.DefaultLoadingScreen.prototype.hideLoadingUI = function () {
show = 50;
document.getElementById("customLoadingScreenDiv").style.display = "none";
document.getElementById("customLoadingScreenDiv_first").style.display = "none";
document.title = '档案库';
//scene.getMaterialByName("材质.023").roughness = 0;
notmoveGroup = [
scene.getTransformNodeByName("档案柜01"),
scene.getTransformNodeByName("档案柜02"),
scene.getTransformNodeByName("档案柜03"),
scene.getTransformNodeByName("档案柜04"),
scene.getTransformNodeByName("档案柜05"),
scene.getTransformNodeByName("档案柜06"),
scene.getTransformNodeByName("档案柜07"),
scene.getTransformNodeByName("档案柜08"),
scene.getTransformNodeByName("档案柜09"),
scene.getTransformNodeByName("档案柜10")
];
notmoveGroup.forEach(function (item, index, arr) {
if (item.name == "档案柜10") {
item.movex = "NotMove" //设置movex
} else {
item.movex = "false" //设置movex
}
});
var prepareGroupButtonOther = function (transformNodex, color) {
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));
// 初始化数据 温度/湿度
deviceData.forEach(item => {
if (item.id === transformNodex.nameID) {
transformNodex.wendu = item.wendu;
transformNodex.sidu = item.sidu;
transformNodex.baojing = item.alarmState;
}
});
mesheses[i].actionManager.registerAction(
new BABYLON.ExecuteCodeAction({
trigger: BABYLON.ActionManager.OnPointerOverTrigger,
parameter: ""
},
function () {
clickbegin = true;
if (true) {
try {
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 {
if (transformNodex.baojing == true) {
h2.addMesh(mesheses3[i], new BABYLON.Color3(1, 0, 0));
} else {
h2.addMesh(mesheses3[i], color);
}
} catch (error) {
// alert(error)
}
}
} catch (error) {
// alert(error)
}
clickbegin = false;
}
if (transformNodex.name.indexOf("yangan") >= 0) {
PointerOverYangan = transformNodex.name;
if(transformNodex.baojing == true){
var location = transformNodex.absolutePosition;
var xd = scene.getMeshByName("tapred");
// x = x-0.6;; y = y+0.3 z=z+0.5
xd.position = new BABYLON.Vector3(location.x - 0.6, location.y + 0.9, location.z + 0.5);
var font_size = 36;
var font = "bold " + font_size + "px Arial";
dynamicTexture3.drawText(transformNodex.wendu+"°C", null, null, font, "#FFFFFF", "#000000", true);
dynamicTexture4.drawText(transformNodex.sidu+"%", null, null, font, "#FFFFFF", "#000000", true);
if(transformNodex.canshow == true){
xd.setEnabled(true);
}
}else{
var location = transformNodex.absolutePosition;
var xd = scene.getMeshByName("tapblue");
// x = x-0.6;; y = y+0.3 z=z+0.5
xd.position = new BABYLON.Vector3(location.x - 0.6, location.y + 0.9, location.z + 0.5);
var font_size = 36;
var font = "bold " + font_size + "px Arial";
dynamicTexture.drawText(transformNodex.wendu+"°C", null, null, font, "#FFFFFF", "#000000", true);
dynamicTexture2.drawText(transformNodex.sidu+"%", null, null, font, "#FFFFFF", "#000000", true);
if(transformNodex.canshow == true){
xd.setEnabled(true);
}
}
}
}
)
);
mesheses[i].actionManager.registerAction(
new BABYLON.ExecuteCodeAction({
trigger: BABYLON.ActionManager.OnPointerOutTrigger,
parameter: ""
},
function () {
var mesheses2 = null;
if (transformNodex.getClassName() == "TransformNode") {
mesheses2 = transformNodex.getChildMeshes(false);
} else {
mesheses2 = [];
mesheses2.push(transformNodex);
}
for (var i = 0; i < mesheses2.length; i++) {
try {
h2.removeMesh(mesheses2[i]);
} catch (error) {
// alert(error)
}
}
if (transformNodex.name.indexOf("yangan") >= 0) {
if(transformNodex.baojing == true){
var location = transformNodex.absolutePosition;
var xd = scene.getMeshByName("tapred");
// x = x-0.6;; y = y+0.3 z=z+0.5
xd.setEnabled(false);
}else{
var location = transformNodex.absolutePosition;
var xd = scene.getMeshByName("tapblue");
// x = x-0.6;; y = y+0.3 z=z+0.5
xd.setEnabled(false);
}
}
}
)
);
//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.OnPickTrigger,
parameter: ""
},
function () {
cameraClick(transformNodex)
}
)
);
}
}
var prepareGroupButton = function (transformNodex, color) {
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.OnPickTrigger,
parameter: ""
},
function () {
clickbegin = true;
if (true) {
try {
if (oldtransformNodex != null) {
oldtransformNodex.removeBehavior(drag);
var mesheses2 = null;
if (oldtransformNodex.getClassName() == "TransformNode") {
mesheses2 = oldtransformNodex.getChildMeshes(false);
} else {
mesheses2 = [];
mesheses2.push(oldtransformNodex);
}
for (var i = 0; i < mesheses2.length; i++) {
try {
h1.removeMesh(mesheses2[i]);
} catch (error) {
// alert(error)
}
}
}
oldtransformNodex = 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 {
h1.addMesh(mesheses3[i], BABYLON.Color3.White());
} catch (error) {
// alert(error)
}
}
if (oldtransformNodex != null) {
if (transformNodex.name == oldtransformNodex.name) {
moveTrans(transformNodex)
}
}
} catch (error) {
// alert(error)
}
clickbegin = false;
}
}
)
);
}
}
var dag1 = scene.getTransformNodeByName("档案柜01");
var dag2 = scene.getTransformNodeByName("档案柜02");
var dag3 = scene.getTransformNodeByName("档案柜03");
var dag4 = scene.getTransformNodeByName("档案柜04");
var dag5 = scene.getTransformNodeByName("档案柜05");
var dag6 = scene.getTransformNodeByName("档案柜06");
var dag7 = scene.getTransformNodeByName("档案柜07");
var dag8 = scene.getTransformNodeByName("档案柜08");
var dag9 = scene.getTransformNodeByName("档案柜09");
var dag10 = scene.getTransformNodeByName("档案柜10");
prepareGroupButton(dag1, BABYLON.Color3(1, 1, 0))
prepareGroupButton(dag2, BABYLON.Color3(1, 1, 0))
prepareGroupButton(dag3, BABYLON.Color3(1, 1, 0))
prepareGroupButton(dag4, BABYLON.Color3(1, 1, 0))
prepareGroupButton(dag5, BABYLON.Color3(1, 1, 0))
prepareGroupButton(dag6, BABYLON.Color3(1, 1, 0))
prepareGroupButton(dag7, BABYLON.Color3(1, 1, 0))
prepareGroupButton(dag8, BABYLON.Color3(1, 1, 0))
prepareGroupButton(dag9, BABYLON.Color3(1, 1, 0))
prepareGroupButton(dag10, BABYLON.Color3(1, 1, 0))
//test
var camera01 = scene.getTransformNodeByName("camera01");
camera01.nameID = "DAK_MO_CAM_001"
var camera02 = scene.getTransformNodeByName("camera02");
camera02.nameID = "DAK_MO_CAM_002"
var camera03 = scene.getTransformNodeByName("camera03");
camera03.nameID = "DAK_MO_CAM_003"
var camera04 = scene.getTransformNodeByName("camera04");
camera04.nameID = "DAK_MO_CAM_004"
camera01.baojing = false;
camera02.baojing = false;
camera03.baojing = false;
camera04.baojing = false;
var yangan01 = scene.getTransformNodeByName("yangan01");
yangan01.nameID = "DAK_MO_OAO_001";
var yangan02 = scene.getTransformNodeByName("yangan02");
yangan02.nameID = "DAK_MO_OAO_002";
var yangan03 = scene.getTransformNodeByName("yangan03");
yangan03.nameID = "DAK_MO_OAO_003";
var yangan04 = scene.getTransformNodeByName("yangan04");
yangan04.nameID = "DAK_MO_OAO_004";
yangan01.baojing = false;
yangan02.baojing = false;
yangan03.baojing = false;
yangan04.baojing = false;
yangan01.canshow = true;
yangan02.canshow = true;
yangan03.canshow = true;
yangan04.canshow = true;
yangan01.wendu = 0;
yangan01.sidu = 0;
yangan02.wendu = 0;
yangan02.sidu = 0;
yangan03.wendu = 0;
yangan03.sidu = 0;
yangan04.wendu = 0;
yangan04.sidu = 0;
prepareGroupButtonOther(camera01, new BABYLON.Color3(0, 0, 1))
prepareGroupButtonOther(camera02, new BABYLON.Color3(0, 0, 1))
prepareGroupButtonOther(camera03, new BABYLON.Color3(0, 0, 1))
prepareGroupButtonOther(camera04, new BABYLON.Color3(0, 0, 1))
prepareGroupButtonOther(yangan01, new BABYLON.Color3(0, 0, 1))
prepareGroupButtonOther(yangan02, new BABYLON.Color3(0, 0, 1))
prepareGroupButtonOther(yangan03, new BABYLON.Color3(0, 0, 1))
prepareGroupButtonOther(yangan04, new BABYLON.Color3(0, 0, 1))
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;
//修改贴图
var bluexMat = new BABYLON.PBRMaterial("bluex", scene);
var tempddxa = new BABYLON.Texture("./asset/blue.png", scene);
var tempddxb = new BABYLON.Texture("./asset/blue.png", scene);
tempddxa.hasAlpha = true;
tempddxa.hasAlpha = true;
tempddxa.uAng = 180 * Math.PI / 180;
tempddxb.uAng = 180 * Math.PI / 180;
bluexMat.useAlphaFromAlbedoTexture = true;
bluexMat.albedoTexture =tempddxa;
bluexMat.reflectionColor = new BABYLON.Color3(0,0,0);
bluexMat.lightmapTexture =tempddxb;
scene.getMeshByName("平面_1").material = bluexMat;
var redMat = new BABYLON.PBRMaterial("redMat", scene);
var tempddx2 = new BABYLON.Texture("./asset/red.png", scene);
var tempddx3 = new BABYLON.Texture("./asset/red.png", scene);
tempddx2.hasAlpha = true;
tempddx3.hasAlpha = true;
tempddx2.uAng = 180 * Math.PI / 180;
tempddx3.uAng = 180 * Math.PI / 180;
redMat.useAlphaFromAlbedoTexture = true;
redMat.reflectionColor = new BABYLON.Color3(0,0,0);
//redMat.emissiveTexture =tempddx2;
redMat.albedoTexture =tempddx2;
redMat.lightmapTexture =tempddx3;
scene.getMeshByName("平面_1_2").material = redMat;
//平面2
//Set font
var font_size = 48;
var font = "bold " + font_size + "px Arial";
//Set height for plane
var planeHeight = 3;
//Set height for dynamic texture
var DTHeight = 1.5 * font_size; //or set as wished
//Calcultae ratio
var ratio = planeHeight / DTHeight;
//Set text
var text = "10";
//Use a temporay dynamic texture to calculate the length of the text on the dynamic texture canvas
var temp = new BABYLON.DynamicTexture("DynamicTextured", 64, scene);
var tmpctx = temp.getContext();
tmpctx.font = font;
var DTWidth = tmpctx.measureText(text).width + 58;
//Calculate width the plane has to be
var planeWidth = DTWidth * ratio;
//Create dynamic texture and write the text
dynamicTexture = new BABYLON.DynamicTexture("DynamicTexture", { width: DTWidth, height: DTHeight }, scene, false);
dynamicTexture.uAng = 166.39 * Math.PI / 180;
dynamicTexture.hasAlpha = true;
var mat = new BABYLON.StandardMaterial("mat", scene);
mat.diffuseTexture = dynamicTexture
mat.transparencyMode = 1;
mat.useAlphaFromDiffuseTexture = true;
mat.alpha = 0.75;
mat.diffuseColor = new BABYLON.Color3(1,1,1);
mat.emissiveColor = new BABYLON.Color3(1, 1, 1);
var vxd = scene.getMeshByName("平面_2");//blue
vxd.material = mat;
//var light = new BABYLON.HemisphericLight("light1", new BABYLON.Vector3(0, 1, 0), scene);
//light.intensity = 0.7;
//平面3
dynamicTexture2 = new BABYLON.DynamicTexture("DynamicTexture2", { width: DTWidth, height: DTHeight }, scene, false);
dynamicTexture2.uAng = 166.39 * Math.PI / 180;
dynamicTexture2.hasAlpha = true;
var mat2 = new BABYLON.StandardMaterial("mat2", scene);
mat2.diffuseTexture= dynamicTexture2;
mat2.transparencyMode = 1;
mat2.useAlphaFromDiffuseTexture = true;
mat2.alpha = 0.75;
mat2.diffuseColor = new BABYLON.Color3(1, 1, 1);
mat2.emissiveColor = new BABYLON.Color3(1, 1, 1);
mat2.reflectivityColor = new BABYLON.Color3(0, 0, 0)
//Create plane and set dynamic texture as material
//var plane = BABYLON.MeshBuilder.CreatePlane("plane", {width:planeWidth, height:planeHeight}, scene);
var vxd2 = scene.getMeshByName("平面_3");
vxd2.material = mat2;
//-------------------------------------------------------------------------------------
dynamicTexture3 = new BABYLON.DynamicTexture("DynamicTexture3", { width: DTWidth, height: DTHeight }, scene, false);
dynamicTexture3.hasAlpha = true;
dynamicTexture3.uAng = 166.39 * Math.PI / 180;
var mat3 = new BABYLON.StandardMaterial("mat3", scene);
mat3.diffuseTexture= dynamicTexture3;
mat3.transparencyMode = 1;
mat3.useAlphaFromDiffuseTexture = true;
mat3.alpha = 0.75;
mat3.diffuseColor = new BABYLON.Color3(1, 1, 1);
mat3.emissiveColor = new BABYLON.Color3(1, 1, 1);
mat3.reflectivityColor = new BABYLON.Color3(0, 0, 0)
var vxd3 = scene.getMeshByName("平面_2_2");//blue
vxd3.material = mat3;
//-------------------------------------------------------------------------------------
dynamicTexture4 = new BABYLON.DynamicTexture("dynamicTexture4", { width: DTWidth, height: DTHeight }, scene, false);
dynamicTexture4.uAng = 166.39 * Math.PI / 180;
dynamicTexture4.hasAlpha = true;
var mat4 = new BABYLON.StandardMaterial("mat4", scene);
mat4.diffuseTexture= dynamicTexture4;
mat4.transparencyMode = 1;
mat4.useAlphaFromDiffuseTexture = true;
mat4.alpha = 0.75;
mat4.diffuseColor = new BABYLON.Color3(1, 1, 1);
mat4.emissiveColor = new BABYLON.Color3(1, 1, 1);
mat4.reflectivityColor = new BABYLON.Color3(0, 0, 0)
var vxd4 = scene.getMeshByName("平面_3_2");
vxd4.material = mat4;
scene.getMeshByName("tapblue").setEnabled(false);
scene.getMeshByName("tapred").setEnabled(false);
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("材质.075");
material1.albedoColor = new BABYLON.Color3(160/255,160/255,160/255);
material1.roughness = 1;
//地
var material2 = scene.getMaterialByName("材质.074");
material2.metallic =0.52;
material2.roughness = 0;
//material2.metallicReflectanceColor=new BABYLON.Color3(1,0,0);
material2.albedoColor = new BABYLON.Color3(0.8,0.8,0.8);
var material3 = scene.getMaterialByName("材质.084");
material3.emissiveColor = new BABYLON.Color3(0.278, 0.278, 0.278);
material3.metallic =0.87;
material3.roughness = 0;
// 修改数字贴图
scene.getMeshByName("档案架10_primitive3").material = scene.getMaterialByName("01.004");
scene.getMeshByName("档案架09_primitive4").material = scene.getMaterialByName("02.004");
scene.getMeshByName("档案架08_primitive4").material = scene.getMaterialByName("03.004");
scene.getMeshByName("档案架07_primitive4").material = scene.getMaterialByName("04.004");
scene.getMeshByName("档案架06_primitive4").material = scene.getMaterialByName("05.004");
scene.getMeshByName("档案架06_primitive4").material = scene.getMaterialByName("06.004");
scene.getMeshByName("档案架04_primitive4").material = scene.getMaterialByName("07.004");
scene.getMeshByName("档案架03_primitive4").material = scene.getMaterialByName("08.004");
scene.getMeshByName("档案架02_primitive4").material = scene.getMaterialByName("09.004");
scene.getMeshByName("档案架01_primitive3").material = scene.getMaterialByName("10.004");
// 还原到10列,注释掉下面代码
//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);
//player_balloon_js1.isVisible = false;
//player_balloon_js2.isVisible = false;
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, 2, 0));
camera.attachControl(canvas, true);
camera.lowerRadiusLimit = 2.0; // 这里是最大的位置,值越大,物体越小
camera.upperRadiusLimit = 40;
camera.radius = 10.48;
camera.alpha = Math.PI * -211.4 / 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;
// 改变场景背景颜色 - 背景颜色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/", "mjj.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.000, 2, 0);
}
meshTask.onError = function (task, message, exception) {
console.log(message, exception);
}
var meshTask_AD = assetsManager.addMeshTask("skull task", "", "asset/", "AD.glb");
meshTask_AD.onSuccess = function (task) {
task.loadedMeshes[0].scaling = new BABYLON.Vector3(0.2, 0.2, -0.2);
task.loadedMeshes[0].position = new BABYLON.Vector3(-2.133, 2, 1.049);
task.loadedMeshes[0].name = "A区电器";
}
meshTask_AD.onError = function (task, message, exception) {
console.log(message, exception);
}
/*var meshTask_tap = assetsManager.addMeshTask("skull task", "", "asset/", "tapx.glb");
meshTask_tap.onSuccess = function (task) {
task.loadedMeshes[0].scaling = new BABYLON.Vector3(0.2, 0.2, -0.2);
task.loadedMeshes[0].position = new BABYLON.Vector3(-1.929, 4.029, 0.968);
//-2.5,3.77,1.45
// x = x-0.6;; y = y+0.3 z=z+0.5
task.loadedMeshes[0].rotation = new BABYLON.Vector3(0, 0, 0);
task.loadedMeshes[0].name = "test";
var vx = scene.getTransformNodeByName("空白_2_2");
vx.position = new BABYLON.Vector3(0, 0, 0);
vx.rotation = new BABYLON.Vector3(Math.PI / 2, 0, 0);
}
meshTask_tap.onError = function (task, message, exception) {
console.log(message, exception);
}*/
var meshTask_tapblue = assetsManager.addMeshTask("skull task", "", "asset/", "tapBlue.glb");
meshTask_tapblue.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, 0);
//-2.5,3.77,1.45
// x = x-0.6;; y = y+0.3 z=z+0.5
task.loadedMeshes[0].rotation = new BABYLON.Vector3(0, 0, 0);
task.loadedMeshes[0].name = "tapblue";
var vx = scene.getTransformNodeByName("蓝");
vx.position = new BABYLON.Vector3(0, 0, 0);
vx.rotation = new BABYLON.Vector3(Math.PI / 2, 0, 0);
vx.scaling = new BABYLON.Vector3(0.015,0.015,0.015);
}
meshTask_tapblue.onError = function (task, message, exception) {
console.log(message, exception);
}
var meshTask_tapred = assetsManager.addMeshTask("skull task", "", "asset/", "tapRed.glb");
meshTask_tapred.onSuccess = function (task) {
task.loadedMeshes[0].scaling = new BABYLON.Vector3(0.2, 0.2, -0.2);
task.loadedMeshes[0].position = new BABYLON.Vector3(-1.929, 4.029, 0.968);
//-2.5,3.77,1.45
// x = x-0.6;; y = y+0.3 z=z+0.5
task.loadedMeshes[0].rotation = new BABYLON.Vector3(0, 0, 0);
task.loadedMeshes[0].name = "tapred";
var vx = scene.getTransformNodeByName("红");
vx.position = new BABYLON.Vector3(0, 0, 0);
vx.rotation = new BABYLON.Vector3(Math.PI / 2, 0, 0);
vx.scaling = new BABYLON.Vector3(0.015,0.015,0.015);
}
meshTask_tapred.onError = function (task, message, exception) {
console.log(message, exception);
}
var hdrTexture = new BABYLON.CubeTexture.CreateFromPrefilteredData("textures/environmentSpecular.env", scene);
//var hdrTexture = new BABYLON.CubeTexture.CreateFromPrefilteredData("textures/environment2.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;
//1
player_balloon_js1 = new BABYLON.Sprite("player_balloon_js1", spriteManagerPlayer);
player_balloon_js1.size = 0.1;
player_balloon_js1.name = "1";
player_balloon_js1.nameID = "cabinet01"
player_balloon_js1.cellIndex = 0;
player_balloon_js1.position = new BABYLON.Vector3(-2.5, 3.50, -0.72)
player_balloon_js1.isPickable = true;
player_balloon_js1.width = 0.2;
player_balloon_js1.height = 0.2;
player_balloon_js1.playAnimation(0, 6, true, 200);
//2
player_balloon_js2 = new BABYLON.Sprite("player_balloon_js2", spriteManagerPlayer);
player_balloon_js2.size = 0.1;
player_balloon_js2.name = "2";
player_balloon_js2.nameID = "cabinet02"
player_balloon_js2.cellIndex = 0;
player_balloon_js2.position = new BABYLON.Vector3(-2.5, 3.50, -0.38)
player_balloon_js2.isPickable = true;
player_balloon_js2.width = 0.2;
player_balloon_js2.height = 0.2;
player_balloon_js2.playAnimation(0, 6, true, 200);
//3
player_balloon_js3 = new BABYLON.Sprite("player_balloon_js3", spriteManagerPlayer);
player_balloon_js3.size = 0.1;
player_balloon_js3.name = "3";
player_balloon_js3.nameID = "cabinet03"
player_balloon_js3.cellIndex = 0;
player_balloon_js3.position = new BABYLON.Vector3(-2.5, 3.50, -0.03)
player_balloon_js3.isPickable = true;
player_balloon_js3.width = 0.2;
player_balloon_js3.height = 0.2;
player_balloon_js3.playAnimation(0, 6, true, 200);
//4
player_balloon_js4 = new BABYLON.Sprite("player_balloon_js4", spriteManagerPlayer);
player_balloon_js4.size = 0.1;
player_balloon_js4.name = "4";
player_balloon_js4.nameID = "cabinet04"
player_balloon_js4.cellIndex = 0;
player_balloon_js4.position = new BABYLON.Vector3(-2.5, 3.50, 0.3)
player_balloon_js4.isPickable = true;
player_balloon_js4.width = 0.2;
player_balloon_js4.height = 0.2;
player_balloon_js4.playAnimation(0, 6, true, 200);
//5
player_balloon_js5 = new BABYLON.Sprite("player_balloon_js5", spriteManagerPlayer);
player_balloon_js5.size = 0.1;
player_balloon_js5.name = "5";
player_balloon_js5.nameID = "cabinet05"
player_balloon_js5.cellIndex = 0;
player_balloon_js5.position = new BABYLON.Vector3(-2.5, 3.50, 0.64)
player_balloon_js5.isPickable = true;
player_balloon_js5.width = 0.2;
player_balloon_js5.height = 0.2;
player_balloon_js5.playAnimation(0, 6, true, 200);
//6
player_balloon_js6 = new BABYLON.Sprite("player_balloon_js6", spriteManagerPlayer);
player_balloon_js6.size = 0.1;
player_balloon_js6.name = "6";
player_balloon_js6.nameID = "cabinet06"
player_balloon_js6.cellIndex = 0;
player_balloon_js6.position = new BABYLON.Vector3(-2.5, 3.50, 0.98)
player_balloon_js6.isPickable = true;
player_balloon_js6.width = 0.2;
player_balloon_js6.height = 0.2;
player_balloon_js6.playAnimation(0, 6, true, 200);
//7
player_balloon_js7 = new BABYLON.Sprite("player_balloon_js7", spriteManagerPlayer);
player_balloon_js7.size = 0.1;
player_balloon_js7.name = "7";
player_balloon_js7.nameID = "cabinet07"
player_balloon_js7.cellIndex = 0;
player_balloon_js7.position = new BABYLON.Vector3(-2.5, 3.50, 1.32)
player_balloon_js7.isPickable = true;
player_balloon_js7.width = 0.2;
player_balloon_js7.height = 0.2;
player_balloon_js7.playAnimation(0, 6, true, 200);
//8
player_balloon_js8 = new BABYLON.Sprite("player_balloon_js8", spriteManagerPlayer);
player_balloon_js8.size = 0.1;
player_balloon_js8.name = "8";
player_balloon_js8.nameID = "cabinet08"
player_balloon_js8.cellIndex = 0;
player_balloon_js8.position = new BABYLON.Vector3(-2.5, 3.50, 1.66)
player_balloon_js8.isPickable = true;
player_balloon_js8.width = 0.2;
player_balloon_js8.height = 0.2;
player_balloon_js8.playAnimation(0, 6, true, 200);
//9
player_balloon_js9 = new BABYLON.Sprite("player_balloon_js", spriteManagerPlayer);
player_balloon_js9.size = 0.1;
player_balloon_js9.name = "9";
player_balloon_js9.nameID = "cabinet09"
player_balloon_js9.cellIndex = 0;
player_balloon_js9.position = new BABYLON.Vector3(-2.5, 3.50, 2)
//-2.3895861905112934, 3.402393519214794, z: 0.3225995832152506
player_balloon_js9.isPickable = true;
player_balloon_js9.width = 0.2;
player_balloon_js9.height = 0.2;
player_balloon_js9.playAnimation(0, 6, true, 200);
//10
player_balloon_js10 = new BABYLON.Sprite("player_balloon_js10", spriteManagerPlayer);
player_balloon_js10.size = 0.1;
player_balloon_js10.name = "10";
player_balloon_js10.nameID = "cabinet10"
player_balloon_js10.cellIndex = 0;
player_balloon_js10.position = new BABYLON.Vector3(-2.5, 3.50, 2.33)
player_balloon_js10.isPickable = true;
player_balloon_js10.width = 0.2;
player_balloon_js10.height = 0.2;
player_balloon_js10.playAnimation(0, 6, true, 200);
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) {
cabinetClick(pickResult.pickedSprite)
}
}
};
// 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("hl3", 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;
h2.blurHorizontalSize = h2.blurVerticalSize + currentx2;
h3.blurHorizontalSize = h3.blurVerticalSize + currentx2;
var nodealert = scene.getTransformNodeByName("yangan01");
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("yangan02");
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("yangan03");
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("yangan04");
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("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 a = scene.getMaterialByName("carpaint_baseRed");
if (a != null) {
if (a.albedoColor == b) {
b = new BABYLON.Color3(0, 1, 0);
a.albedoColor = b;
}
}
var v2 = scene.getMeshByName("tapblue");
if (v2 != null) {
v2.lookAt(camera.globalPosition, 0, 0, Math.PI);
}
var v3 = scene.getMeshByName("tapred");
if (v3 != null) {
v3.lookAt(camera.globalPosition, 0, 0, Math.PI);
}
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 && PointerOverYangan != null) {
var textx = scene.getTransformNodeByName(PointerOverYangan).wendu
var font_size = 48;
var font = "bold " + font_size + "px Arial";
dynamicTexture.drawText(textx+"°C", null, null, font, "#FFFFFF", "#000000", true);
showx++;
show = 50;
}
if (dynamicTexture2 != null && PointerOverYangan != null) {
var textx = scene.getTransformNodeByName(PointerOverYangan).sidu;
var font_size = 50;
var font = "bold " + font_size + "px Arial";
dynamicTexture2.drawText(textx+"%", null, null, font, "#FFFFFF", "#000000", true);
}
if (dynamicTexture3 != null && PointerOverYangan != null) {
var textx = scene.getTransformNodeByName(PointerOverYangan).wendu
var font_size = 48;
var font = "bold " + font_size + "px Arial";
dynamicTexture3.drawText(textx+"°C", null, null, font, "#FFFFFF", "#000000", true);
}
//transparent
if (dynamicTexture4 != null && PointerOverYangan != null) {
var textx = scene.getTransformNodeByName(PointerOverYangan).sidu;
var font_size = 50;
var font = "bold " + font_size + "px Arial";
//dynamicTexture4.clear();
dynamicTexture4.drawText(textx+"%", null, null, font, "#FFFFFF", "#000000", true,true);
}
/*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();
});
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_OAO_001', 'yangan01');
yangans.put('DAK_MO_OAO_002', 'yangan02');
yangans.put('DAK_MO_OAO_003', 'yangan03');
yangans.put('DAK_MO_OAO_004', 'yangan04');
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');
//功能转入报警
function Myalert(MathineID, baojing) {
scene.getMeshByName("tapblue").setEnabled(false);
scene.getMeshByName("tapred").setEnabled(false);
var theName = yangans.get(MathineID);
if (theName == "yangan01") {
scene.getTransformNodeByName("yangan01").baojing = baojing;
}
if (theName == "yangan02") {
scene.getTransformNodeByName("yangan02").baojing = baojing;
}
if (theName == "yangan03") {
scene.getTransformNodeByName("yangan03").baojing = baojing;
}
if (theName == "yangan04") {
scene.getTransformNodeByName("yangan04").baojing = baojing;
}
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;
}
}
//报警 true:表示报警, false :表示不报警
//Myalert("DAK_MO_OAO_001",true)
//设置温湿度
function setAlertValue(MathineID,wendu,sidu){
var theName = yangans.get(MathineID);
if (theName == "yangan01") {
scene.getTransformNodeByName("yangan01").wendu = wendu;
scene.getTransformNodeByName("yangan01").sidu = sidu;
}
if (theName == "yangan02") {
scene.getTransformNodeByName("yangan02").wendu = wendu;
scene.getTransformNodeByName("yangan02").sidu = sidu;
}
if (theName == "yangan03") {
scene.getTransformNodeByName("yangan03").wendu = wendu;
scene.getTransformNodeByName("yangan03").sidu = sidu;
}
if (theName == "yangan04") {
scene.getTransformNodeByName("yangan04").wendu = wendu;
scene.getTransformNodeByName("yangan04").sidu = sidu;
}
}
//设置温湿度: setAlertValue("DAK_MO_OAO_001",4,5)
// 设置是否显示
function setYangGanCanshow(MathineID, canshow){
var theName = yangans.get(MathineID);
if(theName.indexOf("yangan") >= 0){
scene.getTransformNodeByName(theName).canshow = canshow;
}
}
//功能:档案柜标点点击
// function cabinetClick(cabinet) {
// alert(cabinet.nameID);
// }
function cabinetClick(cabinet) {
window.parent.postMessage(
{
data: cabinet.nameID
},
"*"
);
}
// 摄像头和温湿度点击
// function cameraClick(TheCamera) {
// alert(TheCamera.nameID);
// }
function cameraClick(TheCamera) {
window.parent.postMessage(
{
data: TheCamera.nameID
},
"*"
);
}
// 监测父页面传来得初始化得温度湿度值
window.addEventListener(
"message",
function(e) {
deviceData = e.data.data;
},
false
);
//setYangGanCanshow("yangan02",false)
function setYangGanCanshow(MathineID,canshow){
var theName = yangans.get(MathineID);
if(theName.indexOf("yangan") >= 0){
scene.getTransformNodeByName(theName).canshow = canshow;
}
}