|
|
@ -204,7 +204,6 @@ var QMUtil = function () { |
|
|
elevator: null, |
|
|
elevator: null, |
|
|
straight: null, |
|
|
straight: null, |
|
|
elevatorDown: null, |
|
|
elevatorDown: null, |
|
|
seldtFacNo: { type: "", no: "" }, |
|
|
|
|
|
}; |
|
|
}; |
|
|
this.timeObj = { collTime: -1, pathTime: -1 }; |
|
|
this.timeObj = { collTime: -1, pathTime: -1 }; |
|
|
this.sceneGap = { cameraX: 0, cameraY: 220, cameraZ: 220, x: 0, y: 0, z: 0, scale: 0.08 }; //改变地图位置,大小
|
|
|
this.sceneGap = { cameraX: 0, cameraY: 220, cameraZ: 220, x: 0, y: 0, z: 0, scale: 0.08 }; //改变地图位置,大小
|
|
|
@ -1312,7 +1311,7 @@ var MainMap_QM = function (callBack, options) { |
|
|
this.labelRenderer.domElement.style.top = 0; |
|
|
this.labelRenderer.domElement.style.top = 0; |
|
|
this.ele.appendChild(this.labelRenderer.domElement); |
|
|
this.ele.appendChild(this.labelRenderer.domElement); |
|
|
|
|
|
|
|
|
let light = new THREE.AmbientLight(0xffffff, 0.65); |
|
|
|
|
|
|
|
|
let light = new THREE.AmbientLight(0xffffff, 0.6); |
|
|
light.name = "light"; |
|
|
light.name = "light"; |
|
|
this.scene.add(light); |
|
|
this.scene.add(light); |
|
|
|
|
|
|
|
|
@ -1859,11 +1858,7 @@ MainMap_QM.prototype = { |
|
|
let nP =this.util.pathStateObj.facAllArr[j][h].buildOrder +"_" +this.util.pathStateObj.facAllArr[j][h].floorOrder +"_" + this.util.pathStateObj.facAllArr[j][h].navCode; |
|
|
let nP =this.util.pathStateObj.facAllArr[j][h].buildOrder +"_" +this.util.pathStateObj.facAllArr[j][h].floorOrder +"_" + this.util.pathStateObj.facAllArr[j][h].navCode; |
|
|
if (this.util.pathStateObj.facAllArr[j][h].facCode == "dt") { |
|
|
if (this.util.pathStateObj.facAllArr[j][h].facCode == "dt") { |
|
|
ftPathObj[facP][nP] =200000 +2000 * Math.abs(parseInt(this.util.pathStateObj.facAllArr[j][h].floorOrder)-parseInt(this.util.pathStateObj.facAllArr[j][k].floorOrder)); |
|
|
ftPathObj[facP][nP] =200000 +2000 * Math.abs(parseInt(this.util.pathStateObj.facAllArr[j][h].floorOrder)-parseInt(this.util.pathStateObj.facAllArr[j][k].floorOrder)); |
|
|
if (this.util.pathStateObj.seldtFacNo.type == "dt" &&this.util.pathStateObj.facAllArr[j][k].no == this.util.pathStateObj.seldtFacNo.no) { |
|
|
|
|
|
graphPathObj[facP][nP] =2000 +300 *Math.abs(parseInt( this.util.pathStateObj.facAllArr[j][h].floorOrder) - parseInt(this.util.pathStateObj.facAllArr[j][k].floorOrder)); |
|
|
|
|
|
} else { |
|
|
|
|
|
graphPathObj[facP][nP] =5000 +600 * Math.abs(parseInt(this.util.pathStateObj.facAllArr[j][h].floorOrder) -parseInt(this.util.pathStateObj.facAllArr[j][k].floorOrder)); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
graphPathObj[facP][nP] =6000 +1000 * Math.abs(parseInt(this.util.pathStateObj.facAllArr[j][h].floorOrder) -parseInt(this.util.pathStateObj.facAllArr[j][k].floorOrder)); |
|
|
dtPathObj[facP][nP] = 5000 +800 *Math.abs(parseInt(this.util.pathStateObj.facAllArr[j][h].floorOrder)-parseInt(this.util.pathStateObj.facAllArr[j][k].floorOrder)); |
|
|
dtPathObj[facP][nP] = 5000 +800 *Math.abs(parseInt(this.util.pathStateObj.facAllArr[j][h].floorOrder)-parseInt(this.util.pathStateObj.facAllArr[j][k].floorOrder)); |
|
|
basePathObj[facP][nP] = 600 +200 * Math.abs(parseInt(this.util.pathStateObj.facAllArr[j][h].floorOrder) - parseInt(this.util.pathStateObj.facAllArr[j][k].floorOrder )); |
|
|
basePathObj[facP][nP] = 600 +200 * Math.abs(parseInt(this.util.pathStateObj.facAllArr[j][h].floorOrder) - parseInt(this.util.pathStateObj.facAllArr[j][k].floorOrder )); |
|
|
} else if (this.util.pathStateObj.facAllArr[j][h].facCode == "td") { |
|
|
} else if (this.util.pathStateObj.facAllArr[j][h].facCode == "td") { |
|
|
@ -1873,11 +1868,7 @@ MainMap_QM.prototype = { |
|
|
basePathObj[facP][nP] = 800 *Math.abs(parseInt(this.util.pathStateObj.facAllArr[j][h].floorOrder) -parseInt( this.util.pathStateObj.facAllArr[j][k].floorOrder )); |
|
|
basePathObj[facP][nP] = 800 *Math.abs(parseInt(this.util.pathStateObj.facAllArr[j][h].floorOrder) -parseInt( this.util.pathStateObj.facAllArr[j][k].floorOrder )); |
|
|
} else { |
|
|
} else { |
|
|
dtPathObj[facP][nP] =200000 +2000 * Math.abs(parseInt( this.util.pathStateObj.facAllArr[j][h].floorOrder) - parseInt(this.util.pathStateObj.facAllArr[j][k].floorOrder) ); |
|
|
dtPathObj[facP][nP] =200000 +2000 * Math.abs(parseInt( this.util.pathStateObj.facAllArr[j][h].floorOrder) - parseInt(this.util.pathStateObj.facAllArr[j][k].floorOrder) ); |
|
|
if (this.util.pathStateObj.seldtFacNo.type == "ft" &&this.util.pathStateObj.seldtFacNo.no.search(this.util.pathStateObj.facAllArr[j][k].no + ",") != -1) { |
|
|
|
|
|
graphPathObj[facP][nP] = 2000 + 300 *Math.abs( parseInt(this.util.pathStateObj.facAllArr[j][h].floorOrder) -parseInt(this.util.pathStateObj.facAllArr[j][k].floorOrder)); |
|
|
|
|
|
} else { |
|
|
|
|
|
graphPathObj[facP][nP] = 5000 +600 * Math.abs( parseInt(this.util.pathStateObj.facAllArr[j][h].floorOrder) -parseInt(this.util.pathStateObj.facAllArr[j][k].floorOrder) ); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
graphPathObj[facP][nP] = 7000 * Math.abs( parseInt(this.util.pathStateObj.facAllArr[j][h].floorOrder) -parseInt(this.util.pathStateObj.facAllArr[j][k].floorOrder) ); |
|
|
ftPathObj[facP][nP] = 5000 + 800 * Math.abs(parseInt(this.util.pathStateObj.facAllArr[j][h].floorOrder) -parseInt(this.util.pathStateObj.facAllArr[j][k].floorOrder)); |
|
|
ftPathObj[facP][nP] = 5000 + 800 * Math.abs(parseInt(this.util.pathStateObj.facAllArr[j][h].floorOrder) -parseInt(this.util.pathStateObj.facAllArr[j][k].floorOrder)); |
|
|
basePathObj[facP][nP] = 100 + 400 *Math.abs(parseInt(this.util.pathStateObj.facAllArr[j][h].floorOrder)-parseInt(this.util.pathStateObj.facAllArr[j][k].floorOrder)); |
|
|
basePathObj[facP][nP] = 100 + 400 *Math.abs(parseInt(this.util.pathStateObj.facAllArr[j][h].floorOrder)-parseInt(this.util.pathStateObj.facAllArr[j][k].floorOrder)); |
|
|
} |
|
|
} |
|
|
@ -2184,66 +2175,6 @@ MainMap_QM.prototype = { |
|
|
this.util.pathStateObj.basePath += "},"; |
|
|
this.util.pathStateObj.basePath += "},"; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
let mindt = 10000, minupft = -1, mindownft = -1, seldtNo, seldownftNo, selupftNo; |
|
|
|
|
|
|
|
|
|
|
|
if (buildOrder == this.util.deviceObj.build &&floorOrder == this.util.deviceObj.floor &&parseInt(this.util.deviceObj.node) >= 0) { |
|
|
|
|
|
if (pathData &&!this.util.deviceObj.xaxis &&pathData.nodes.length > parseInt(this.util.deviceObj.node) && parseInt(this.util.deviceObj.node) > 0 ) { |
|
|
|
|
|
this.util.deviceObj.xaxis = pathData.nodes[parseInt(this.util.deviceObj.node)].x; |
|
|
|
|
|
this.util.deviceObj.yaxis = pathData.nodes[parseInt(this.util.deviceObj.node)].y; |
|
|
|
|
|
} |
|
|
|
|
|
//获取本楼层最近的电梯
|
|
|
|
|
|
for (let n = 0; n < mapDataA.stairs.length; n++) { |
|
|
|
|
|
if ( mapDataA.stairs[n].state && mapDataA.stairs[n].no != "" && parseInt(mapDataA.stairs[n].navCode) > 0 ) { |
|
|
|
|
|
let ms = Math.abs( parseInt(mapDataA.stairs[n].x) - parseInt(this.util.deviceObj.xaxis) ) + Math.abs( parseInt(mapDataA.stairs[n].y) - parseInt(this.util.deviceObj.yaxis) ); |
|
|
|
|
|
if ( mindt > ms && (mapDataA.stairs[n].facCode == "ft" || |
|
|
|
|
|
mapDataA.stairs[n].facCode == "upft" || |
|
|
|
|
|
mapDataA.stairs[n].facCode == "downft" || |
|
|
|
|
|
mapDataA.stairs[n].facCode == "dt") |
|
|
|
|
|
) { |
|
|
|
|
|
mindt = ms; |
|
|
|
|
|
let fac = mapDataA.stairs[n].facCode == "dt" ? "dt" : "ft"; |
|
|
|
|
|
this.util.pathStateObj.seldtFacNo.type = fac; |
|
|
|
|
|
if (mapDataA.stairs[n].facCode == "dt") { |
|
|
|
|
|
seldtNo = mapDataA.stairs[n].no; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
if (this.util.pathStateObj.seldtFacNo.type == "dt") { |
|
|
|
|
|
this.util.pathStateObj.seldtFacNo.no = seldtNo; |
|
|
|
|
|
} else { |
|
|
|
|
|
for (let t = 0; t < this.util.allMap[buildOrder].buildArr.length; t++) { |
|
|
|
|
|
let mapData = this.util.allMap[buildOrder].buildArr[t].mapData; |
|
|
|
|
|
minupft = 100000; |
|
|
|
|
|
mindownft = 100000; |
|
|
|
|
|
selupftNo = ""; |
|
|
|
|
|
seldownftNo = ""; |
|
|
|
|
|
for (let h = 0; h < mapData.stairs.length; h++) { |
|
|
|
|
|
if (mapData.stairs[h].state && mapData.stairs[h].no != "" && parseInt(mapData.stairs[h].navCode) > 0) { |
|
|
|
|
|
let ms = Math.abs(parseInt(mapData.stairs[h].x) - parseInt(this.util.deviceObj.xaxis)) + |
|
|
|
|
|
Math.abs(parseInt(mapData.stairs[h].y) - parseInt(this.util.deviceObj.yaxis)); |
|
|
|
|
|
if (mapData.stairs[h].facCode == "upft" || mapData.stairs[h].downState) { |
|
|
|
|
|
//上扶
|
|
|
|
|
|
if (minupft > ms) { |
|
|
|
|
|
minupft = ms; |
|
|
|
|
|
selupftNo = mapData.stairs[h].no; |
|
|
|
|
|
} |
|
|
|
|
|
} else if (mapData.stairs[h].facCode == "downft" || mapData.stairs[h].upState) { |
|
|
|
|
|
if (mindownft > ms) { |
|
|
|
|
|
mindownft = ms; |
|
|
|
|
|
seldownftNo = mapData.stairs[h].no; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
//扶梯距离最小
|
|
|
|
|
|
selupftNo != "" && (this.util.pathStateObj.seldtFacNo.no += selupftNo + ","); |
|
|
|
|
|
seldownftNo != "" && (this.util.pathStateObj.seldtFacNo.no += seldownftNo + ","); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
//console.log(this.util.pathStateObj.seldtFacNo);
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
let noHas; |
|
|
let noHas; |
|
|
for (let j = 0; j < mapDataA.stairs.length; j++) { |
|
|
for (let j = 0; j < mapDataA.stairs.length; j++) { |
|
|
if ( parseInt(mapDataA.stairs[j].navCode) > 0 && mapDataA.stairs[j].state) { |
|
|
if ( parseInt(mapDataA.stairs[j].navCode) > 0 && mapDataA.stairs[j].state) { |
|
|
|