|
@@ -11,6 +11,12 @@ import '../public/libs/tools.js'
|
|
|
|
|
|
function getsqlData(sdkInstance, uwbInstance) {
|
|
|
let g_PosArrayResult = null;
|
|
|
+
|
|
|
+ let textureLoader = new THREE.TextureLoader();
|
|
|
+ let textureReady = textureLoader.load('../images/location_ready.png');
|
|
|
+ let textureRunning = textureLoader.load('../images/location_running.png');
|
|
|
+ let textureOffline = textureLoader.load('../images/location_offline.png');
|
|
|
+
|
|
|
if (g_PosArrayResult == null) {
|
|
|
var sqlstr = "SELECT * FROM dat_bench_extend order by bench_id asc";
|
|
|
|
|
@@ -34,305 +40,302 @@ function getsqlData(sdkInstance, uwbInstance) {
|
|
|
var one_second_ago = new Date(now.getTime() - 1 * 1000).Format(
|
|
|
"yyyy-MM-dd hh:mm:ss.S"
|
|
|
);
|
|
|
- //let two_seconds_ago = (now - timedelta(seconds=2)).strftime('%Y-%m-%d %H:%M:%S.000')
|
|
|
- //let one_second_ago = (now - timedelta(seconds=1)).strftime('%Y-%m-%d %H:%M:%S.000')
|
|
|
- //var sqlstr = "SELECT * FROM his_location_tadiao_result_unity h, dat_bench_extend b where h.card_id = b.card_id and loc_time BETWEEN '"+two_seconds_ago+"' AND '"+one_second_ago+"'";
|
|
|
- //var sqlstr =
|
|
|
- // "SELECT * FROM `his_location_tadiao_result_unity_copy1` ORDER BY loc_time limit 300";
|
|
|
-
|
|
|
- var sqlstr = "SELECT * FROM dat_bench_extend order by bench_id asc";
|
|
|
-
|
|
|
- //sqlstr = sqlstr.format(two_seconds_ago, two_seconds_ago)
|
|
|
- console.log(sqlstr);
|
|
|
- let msg = {
|
|
|
- cmd: "query", // server端要进行判断的
|
|
|
- data: {
|
|
|
- name: "name", // 这个无所谓怎么写,有就行
|
|
|
- //sql: 'select * from his_location_tadiao_result_unity limit 300'
|
|
|
- sql: sqlstr,
|
|
|
- },
|
|
|
- };
|
|
|
- // 触发事件进行从服务器获取数据
|
|
|
- window.vm.$socket.emit("REPT", msg, (datas) => {
|
|
|
- let g_sqlResult = datas.data;
|
|
|
-
|
|
|
-
|
|
|
- let dracoLoader = new THREE.DRACOLoader();
|
|
|
- THREE.DRACOLoader.setDecoderPath("../gltf/");
|
|
|
- var fbxLoader1 = new THREE.GLTFLoader();
|
|
|
- fbxLoader1.setDRACOLoader(dracoLoader);
|
|
|
-
|
|
|
- fbxLoader1.load("../models/meshDraco.gltf", function (fbx) {
|
|
|
-
|
|
|
- let result = g_sqlResult;
|
|
|
- for (var item of result) {
|
|
|
- let x = item.x;
|
|
|
- let y = item.y;
|
|
|
- let z = item.z;
|
|
|
- let ang_x = 0.0;
|
|
|
- let ang_y = 0.0;
|
|
|
- let ang_z = 0.0;
|
|
|
- let benchType = item.bench_type
|
|
|
- if (item.use_fix_pos == 1) {
|
|
|
- x = JSON.parse(JSON.stringify(item.fix_pos_x));
|
|
|
- y = JSON.parse(JSON.stringify(item.fix_pos_y));
|
|
|
- z = JSON.parse(JSON.stringify(item.fix_pos_z));
|
|
|
- ang_x = JSON.parse(JSON.stringify(item.fix_angle_x));
|
|
|
- ang_y = JSON.parse(JSON.stringify(item.fix_angle_y));
|
|
|
- ang_z = JSON.parse(JSON.stringify(item.fix_angle_z));
|
|
|
- }
|
|
|
- else {
|
|
|
- }
|
|
|
+ let dracoLoader = new THREE.DRACOLoader();
|
|
|
+ THREE.DRACOLoader.setDecoderPath("../gltf/");
|
|
|
+
|
|
|
+ var fbxLoader1 = new THREE.GLTFLoader();
|
|
|
+ fbxLoader1.setDRACOLoader(dracoLoader);
|
|
|
+ fbxLoader1.load("../models/meshDraco.gltf", function (fbx) {
|
|
|
+
|
|
|
+ let result = g_sqlResult;
|
|
|
+ for (var item of result) {
|
|
|
+ let x = item.x;
|
|
|
+ let y = item.y;
|
|
|
+ let z = item.z;
|
|
|
+ let ang_x = 0.0;
|
|
|
+ let ang_y = 0.0;
|
|
|
+ let ang_z = 0.0;
|
|
|
+ let benchType = item.bench_type
|
|
|
+ if (item.use_fix_pos == 1) {
|
|
|
+ x = JSON.parse(JSON.stringify(item.fix_pos_x));
|
|
|
+ y = JSON.parse(JSON.stringify(item.fix_pos_y));
|
|
|
+ z = JSON.parse(JSON.stringify(item.fix_pos_z));
|
|
|
+ ang_x = JSON.parse(JSON.stringify(item.fix_angle_x));
|
|
|
+ ang_y = JSON.parse(JSON.stringify(item.fix_angle_y));
|
|
|
+ ang_z = JSON.parse(JSON.stringify(item.fix_angle_z));
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ }
|
|
|
|
|
|
- var distance = 10000.0;
|
|
|
-
|
|
|
- var xSubTmp = x;
|
|
|
- var ySubTmp = y;
|
|
|
- var zSubTmp = z;
|
|
|
- var ang_xSubTmp = ang_x;
|
|
|
- var ang_ySubTmp = ang_y;
|
|
|
- var ang_zSubTmp = ang_z;
|
|
|
-
|
|
|
- if (g_PosArrayResult) {
|
|
|
- var iCount = 0;
|
|
|
- for (var itemSub of g_PosArrayResult) {
|
|
|
-
|
|
|
- iCount++;
|
|
|
- var xSub = itemSub.x;
|
|
|
- var ySub = itemSub.y;
|
|
|
- var zSub = itemSub.z;
|
|
|
- var ang_xSub = 0.0;
|
|
|
- var ang_ySub = 0.0;
|
|
|
- var ang_zSub = 0.0;
|
|
|
- xSub = itemSub.fix_pos_x;
|
|
|
- ySub = itemSub.fix_pos_y;
|
|
|
- zSub = itemSub.fix_pos_z;
|
|
|
- ang_xSub = itemSub.fix_angle_x;
|
|
|
- ang_ySub = itemSub.fix_angle_y;
|
|
|
- ang_zSub = itemSub.fix_angle_z;
|
|
|
- var disTmp = Math.sqrt(Math.pow(x - xSub, 2) + Math.pow(y - ySub, 2) + Math.pow(z - zSub, 2))
|
|
|
- if (disTmp < distance) {
|
|
|
- distance = disTmp;
|
|
|
- xSubTmp = xSub;
|
|
|
- ySubTmp = ySub;
|
|
|
- zSubTmp = zSub;
|
|
|
- ang_xSubTmp = ang_xSub;
|
|
|
- ang_ySubTmp = ang_ySub;
|
|
|
- ang_zSubTmp = ang_zSub;
|
|
|
- }
|
|
|
+ var distance = 10000.0;
|
|
|
+
|
|
|
+ var xSubTmp = x;
|
|
|
+ var ySubTmp = y;
|
|
|
+ var zSubTmp = z;
|
|
|
+ var ang_xSubTmp = ang_x;
|
|
|
+ var ang_ySubTmp = ang_y;
|
|
|
+ var ang_zSubTmp = ang_z;
|
|
|
+
|
|
|
+ if (g_PosArrayResult) {
|
|
|
+ var iCount = 0;
|
|
|
+ for (var itemSub of g_PosArrayResult) {
|
|
|
+
|
|
|
+ iCount++;
|
|
|
+ var xSub = itemSub.x;
|
|
|
+ var ySub = itemSub.y;
|
|
|
+ var zSub = itemSub.z;
|
|
|
+ var ang_xSub = 0.0;
|
|
|
+ var ang_ySub = 0.0;
|
|
|
+ var ang_zSub = 0.0;
|
|
|
+ xSub = itemSub.fix_pos_x;
|
|
|
+ ySub = itemSub.fix_pos_y;
|
|
|
+ zSub = itemSub.fix_pos_z;
|
|
|
+ ang_xSub = itemSub.fix_angle_x;
|
|
|
+ ang_ySub = itemSub.fix_angle_y;
|
|
|
+ ang_zSub = itemSub.fix_angle_z;
|
|
|
+ var disTmp = Math.sqrt(Math.pow(x - xSub, 2) + Math.pow(y - ySub, 2) + Math.pow(z - zSub, 2))
|
|
|
+ if (disTmp < distance) {
|
|
|
+ distance = disTmp;
|
|
|
+ xSubTmp = xSub;
|
|
|
+ ySubTmp = ySub;
|
|
|
+ zSubTmp = zSub;
|
|
|
+ ang_xSubTmp = ang_xSub;
|
|
|
+ ang_ySubTmp = ang_ySub;
|
|
|
+ ang_zSubTmp = ang_zSub;
|
|
|
}
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
|
|
|
- x = xSubTmp;
|
|
|
- y = ySubTmp;
|
|
|
- z = zSubTmp;
|
|
|
- ang_x = ang_xSubTmp;
|
|
|
- ang_y = ang_ySubTmp;
|
|
|
- ang_z = ang_zSubTmp;
|
|
|
- x = JSON.parse(JSON.stringify(xSubTmp));
|
|
|
- y = JSON.parse(JSON.stringify(ySubTmp));
|
|
|
- z = JSON.parse(JSON.stringify(zSubTmp));
|
|
|
- ang_x = JSON.parse(JSON.stringify(ang_xSubTmp));
|
|
|
- ang_y = JSON.parse(JSON.stringify(ang_ySubTmp));
|
|
|
- ang_z = JSON.parse(JSON.stringify(ang_zSubTmp));
|
|
|
-
|
|
|
- let card_id = item.card_id;
|
|
|
- let bench_id = item.bench_id;
|
|
|
- let show_remote_button = item.show_remote_button;
|
|
|
- if (benchType == 1) {
|
|
|
- console.log("控制台查看加载gltf文件返回的对象结构", fbx);
|
|
|
- var childMesh = childMesh = fbx.scene.children[0].children[0];
|
|
|
- let childMeshTmp = new THREE.Mesh(childMesh.geometry, childMesh.material)
|
|
|
- let scale = 5;
|
|
|
- childMeshTmp.scale.set(scale, scale, scale)
|
|
|
- //fbx.scene.children[0].scale.set(5, 5, 5)
|
|
|
- //fbx.scene.children[0].position.set(8.7, -1.6, 5.4)
|
|
|
- childMeshTmp.position.set(x, y, z)
|
|
|
- var Euler = new THREE.Euler(Math.PI * ang_x, Math.PI * ang_y, Math.PI * ang_z);
|
|
|
- //var Euler = new THREE.Euler( Math.PI*1.5, Math.PI*0, Math.PI*0);
|
|
|
- var quaternion = new THREE.Quaternion();
|
|
|
- childMeshTmp.quaternion.copy(quaternion.setFromEuler(Euler))
|
|
|
- var customData = {
|
|
|
- benchId: bench_id,
|
|
|
- benchFlag: true,
|
|
|
- bShowRemoteButton: show_remote_button == 1 ? true : false,
|
|
|
- };
|
|
|
- childMeshTmp.userData = customData;
|
|
|
-
|
|
|
- // 添加水滴
|
|
|
- // 加载图片纹理
|
|
|
- let textureLoader = new THREE.TextureLoader();
|
|
|
- let benchList = window.store ? window.store.getters['benchList/getBenchList'] : [];
|
|
|
- let currentBench = benchList.find(b => b.id == bench_id);
|
|
|
- let texture = textureLoader.load('../images/location_'+(currentBench.status || 'offline')+'.png');
|
|
|
-
|
|
|
- // 创建精灵对象
|
|
|
- let spriteMaterial = new THREE.SpriteMaterial({
|
|
|
- map: texture,
|
|
|
- color: 0x4AB22E
|
|
|
- });
|
|
|
- let sprite = new THREE.Sprite(spriteMaterial);
|
|
|
- sprite.userData = customData;
|
|
|
- // sprite.scale.set(100, 100, 1);
|
|
|
- sprite.position.set(x, y+10, z);
|
|
|
-
|
|
|
- sdkInstance.sceneRenderer.scene.add(childMeshTmp)
|
|
|
- sdkInstance.sceneRenderer.scene.add(sprite)
|
|
|
+ x = xSubTmp;
|
|
|
+ y = ySubTmp;
|
|
|
+ z = zSubTmp;
|
|
|
+ ang_x = ang_xSubTmp;
|
|
|
+ ang_y = ang_ySubTmp;
|
|
|
+ ang_z = ang_zSubTmp;
|
|
|
+ x = JSON.parse(JSON.stringify(xSubTmp));
|
|
|
+ y = JSON.parse(JSON.stringify(ySubTmp));
|
|
|
+ z = JSON.parse(JSON.stringify(zSubTmp));
|
|
|
+ ang_x = JSON.parse(JSON.stringify(ang_xSubTmp));
|
|
|
+ ang_y = JSON.parse(JSON.stringify(ang_ySubTmp));
|
|
|
+ ang_z = JSON.parse(JSON.stringify(ang_zSubTmp));
|
|
|
+
|
|
|
+ let card_id = item.card_id;
|
|
|
+ let bench_id = item.bench_id;
|
|
|
+ let show_remote_button = item.show_remote_button;
|
|
|
+ if (benchType == 1) {
|
|
|
+ console.log("控制台查看加载gltf文件返回的对象结构", fbx);
|
|
|
+ var childMesh = childMesh = fbx.scene.children[0].children[0];
|
|
|
+ let childMeshTmp = new THREE.Mesh(childMesh.geometry, childMesh.material)
|
|
|
+ let scale = 5;
|
|
|
+ childMeshTmp.scale.set(scale, scale, scale)
|
|
|
+ //fbx.scene.children[0].scale.set(5, 5, 5)
|
|
|
+ //fbx.scene.children[0].position.set(8.7, -1.6, 5.4)
|
|
|
+ childMeshTmp.position.set(x, y, z)
|
|
|
+ var Euler = new THREE.Euler(Math.PI * ang_x, Math.PI * ang_y, Math.PI * ang_z);
|
|
|
+ //var Euler = new THREE.Euler( Math.PI*1.5, Math.PI*0, Math.PI*0);
|
|
|
+ var quaternion = new THREE.Quaternion();
|
|
|
+ childMeshTmp.quaternion.copy(quaternion.setFromEuler(Euler))
|
|
|
+ var customData = {
|
|
|
+ benchId: bench_id,
|
|
|
+ benchFlag: true,
|
|
|
+ bShowRemoteButton: show_remote_button == 1 ? true : false,
|
|
|
+ };
|
|
|
+ childMeshTmp.userData = customData;
|
|
|
+
|
|
|
+ // 添加水滴
|
|
|
+ let benchList = window.store ? window.store.getters['benchList/getBenchList'] : [];
|
|
|
+ let currentBench = benchList.find(b => b.id == bench_id);
|
|
|
+ let texture = null;
|
|
|
+ if (currentBench) {
|
|
|
+ switch(currentBench.status) {
|
|
|
+ case "ready":
|
|
|
+ texture = textureReady;
|
|
|
+ break;
|
|
|
+ case "running":
|
|
|
+ texture = textureRunning;
|
|
|
+ break;
|
|
|
+ case "offline":
|
|
|
+ texture = textOffline;
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ // 创建精灵对象
|
|
|
+ let spriteMaterial = new THREE.SpriteMaterial({
|
|
|
+ map: texture,
|
|
|
+ color: 0x4AB22E
|
|
|
+ });
|
|
|
+ let sprite = new THREE.Sprite(spriteMaterial);
|
|
|
+ sprite.userData = customData;
|
|
|
+ // sprite.scale.set(100, 100, 1);
|
|
|
+ sprite.position.set(x, y + 10, z);
|
|
|
+
|
|
|
+ sdkInstance.sceneRenderer.scene.add(childMeshTmp)
|
|
|
+ sdkInstance.sceneRenderer.scene.add(sprite)
|
|
|
+ }
|
|
|
|
|
|
- };
|
|
|
- })
|
|
|
- var fbxLoader2 = new THREE.GLTFLoader();
|
|
|
- fbxLoader2.setDRACOLoader(dracoLoader);
|
|
|
-
|
|
|
- fbxLoader2.load("../models/mesh2Draco.gltf", function (fbx) {
|
|
|
-
|
|
|
- let result = g_sqlResult;
|
|
|
- for (var item of result) {
|
|
|
- let x = item.x;
|
|
|
- let y = item.y;
|
|
|
- let z = item.z;
|
|
|
- let ang_x = 0.0;
|
|
|
- let ang_y = 0.0;
|
|
|
- let ang_z = 0.0;
|
|
|
- let benchType = item.bench_type
|
|
|
- if (item.use_fix_pos == 1) {
|
|
|
- x = JSON.parse(JSON.stringify(item.fix_pos_x));
|
|
|
- y = JSON.parse(JSON.stringify(item.fix_pos_y));
|
|
|
- z = JSON.parse(JSON.stringify(item.fix_pos_z));
|
|
|
- ang_x = JSON.parse(JSON.stringify(item.fix_angle_x));
|
|
|
- ang_y = JSON.parse(JSON.stringify(item.fix_angle_y));
|
|
|
- ang_z = JSON.parse(JSON.stringify(item.fix_angle_z));
|
|
|
- }
|
|
|
- else {
|
|
|
- }
|
|
|
+ };
|
|
|
+ })
|
|
|
+
|
|
|
+ var fbxLoader2 = new THREE.GLTFLoader();
|
|
|
+ fbxLoader2.setDRACOLoader(dracoLoader);
|
|
|
+ fbxLoader2.load("../models/mesh2Draco.gltf", function (fbx) {
|
|
|
+
|
|
|
+ let result = g_sqlResult;
|
|
|
+ for (var item of result) {
|
|
|
+ let x = item.x;
|
|
|
+ let y = item.y;
|
|
|
+ let z = item.z;
|
|
|
+ let ang_x = 0.0;
|
|
|
+ let ang_y = 0.0;
|
|
|
+ let ang_z = 0.0;
|
|
|
+ let benchType = item.bench_type
|
|
|
+ if (item.use_fix_pos == 1) {
|
|
|
+ x = JSON.parse(JSON.stringify(item.fix_pos_x));
|
|
|
+ y = JSON.parse(JSON.stringify(item.fix_pos_y));
|
|
|
+ z = JSON.parse(JSON.stringify(item.fix_pos_z));
|
|
|
+ ang_x = JSON.parse(JSON.stringify(item.fix_angle_x));
|
|
|
+ ang_y = JSON.parse(JSON.stringify(item.fix_angle_y));
|
|
|
+ ang_z = JSON.parse(JSON.stringify(item.fix_angle_z));
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ }
|
|
|
|
|
|
- var distance = 10000.0;
|
|
|
-
|
|
|
- var xSubTmp = x;
|
|
|
- var ySubTmp = y;
|
|
|
- var zSubTmp = z;
|
|
|
- var ang_xSubTmp = ang_x;
|
|
|
- var ang_ySubTmp = ang_y;
|
|
|
- var ang_zSubTmp = ang_z;
|
|
|
-
|
|
|
- if (g_PosArrayResult) {
|
|
|
- var iCount = 0;
|
|
|
- for (var itemSub of g_PosArrayResult) {
|
|
|
-
|
|
|
- iCount++;
|
|
|
- var xSub = itemSub.x;
|
|
|
- var ySub = itemSub.y;
|
|
|
- var zSub = itemSub.z;
|
|
|
- var ang_xSub = 0.0;
|
|
|
- var ang_ySub = 0.0;
|
|
|
- var ang_zSub = 0.0;
|
|
|
- xSub = itemSub.fix_pos_x;
|
|
|
- ySub = itemSub.fix_pos_y;
|
|
|
- zSub = itemSub.fix_pos_z;
|
|
|
- ang_xSub = itemSub.fix_angle_x;
|
|
|
- ang_ySub = itemSub.fix_angle_y;
|
|
|
- ang_zSub = itemSub.fix_angle_z;
|
|
|
- var disTmp = Math.sqrt(Math.pow(x - xSub, 2) + Math.pow(y - ySub, 2) + Math.pow(z - zSub, 2))
|
|
|
- if (disTmp < distance) {
|
|
|
- distance = disTmp;
|
|
|
- xSubTmp = xSub;
|
|
|
- ySubTmp = ySub;
|
|
|
- zSubTmp = zSub;
|
|
|
- ang_xSubTmp = ang_xSub;
|
|
|
- ang_ySubTmp = ang_ySub;
|
|
|
- ang_zSubTmp = ang_zSub;
|
|
|
- }
|
|
|
+ var distance = 10000.0;
|
|
|
+
|
|
|
+ var xSubTmp = x;
|
|
|
+ var ySubTmp = y;
|
|
|
+ var zSubTmp = z;
|
|
|
+ var ang_xSubTmp = ang_x;
|
|
|
+ var ang_ySubTmp = ang_y;
|
|
|
+ var ang_zSubTmp = ang_z;
|
|
|
+
|
|
|
+ if (g_PosArrayResult) {
|
|
|
+ var iCount = 0;
|
|
|
+ for (var itemSub of g_PosArrayResult) {
|
|
|
+
|
|
|
+ iCount++;
|
|
|
+ var xSub = itemSub.x;
|
|
|
+ var ySub = itemSub.y;
|
|
|
+ var zSub = itemSub.z;
|
|
|
+ var ang_xSub = 0.0;
|
|
|
+ var ang_ySub = 0.0;
|
|
|
+ var ang_zSub = 0.0;
|
|
|
+ xSub = itemSub.fix_pos_x;
|
|
|
+ ySub = itemSub.fix_pos_y;
|
|
|
+ zSub = itemSub.fix_pos_z;
|
|
|
+ ang_xSub = itemSub.fix_angle_x;
|
|
|
+ ang_ySub = itemSub.fix_angle_y;
|
|
|
+ ang_zSub = itemSub.fix_angle_z;
|
|
|
+ var disTmp = Math.sqrt(Math.pow(x - xSub, 2) + Math.pow(y - ySub, 2) + Math.pow(z - zSub, 2))
|
|
|
+ if (disTmp < distance) {
|
|
|
+ distance = disTmp;
|
|
|
+ xSubTmp = xSub;
|
|
|
+ ySubTmp = ySub;
|
|
|
+ zSubTmp = zSub;
|
|
|
+ ang_xSubTmp = ang_xSub;
|
|
|
+ ang_ySubTmp = ang_ySub;
|
|
|
+ ang_zSubTmp = ang_zSub;
|
|
|
}
|
|
|
}
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ x = xSubTmp;
|
|
|
+ y = ySubTmp;
|
|
|
+ z = zSubTmp;
|
|
|
+ ang_x = ang_xSubTmp;
|
|
|
+ ang_y = ang_ySubTmp;
|
|
|
+ ang_z = ang_zSubTmp;
|
|
|
+ x = JSON.parse(JSON.stringify(xSubTmp));
|
|
|
+ y = JSON.parse(JSON.stringify(ySubTmp));
|
|
|
+ z = JSON.parse(JSON.stringify(zSubTmp));
|
|
|
+ ang_x = JSON.parse(JSON.stringify(ang_xSubTmp));
|
|
|
+ ang_y = JSON.parse(JSON.stringify(ang_ySubTmp));
|
|
|
+ ang_z = JSON.parse(JSON.stringify(ang_zSubTmp));
|
|
|
|
|
|
+ let card_id = item.card_id;
|
|
|
+ let bench_id = item.bench_id;
|
|
|
|
|
|
- x = xSubTmp;
|
|
|
- y = ySubTmp;
|
|
|
- z = zSubTmp;
|
|
|
- ang_x = ang_xSubTmp;
|
|
|
- ang_y = ang_ySubTmp;
|
|
|
- ang_z = ang_zSubTmp;
|
|
|
- x = JSON.parse(JSON.stringify(xSubTmp));
|
|
|
- y = JSON.parse(JSON.stringify(ySubTmp));
|
|
|
- z = JSON.parse(JSON.stringify(zSubTmp));
|
|
|
- ang_x = JSON.parse(JSON.stringify(ang_xSubTmp));
|
|
|
- ang_y = JSON.parse(JSON.stringify(ang_ySubTmp));
|
|
|
- ang_z = JSON.parse(JSON.stringify(ang_zSubTmp));
|
|
|
-
|
|
|
- let card_id = item.card_id;
|
|
|
- let bench_id = item.bench_id;
|
|
|
-
|
|
|
- if (benchType == 2) {
|
|
|
- console.log("控制台查看加载gltf文件返回的对象结构", fbx);
|
|
|
- var childMesh = fbx.scene.children[0];
|
|
|
- let childMeshTmp = new THREE.Mesh(childMesh.geometry, childMesh.material)
|
|
|
- let scale = 0.05;
|
|
|
- childMeshTmp.scale.set(scale, scale, scale)
|
|
|
- //fbx.scene.children[0].scale.set(5, 5, 5)
|
|
|
- //fbx.scene.children[0].position.set(8.7, -1.6, 5.4)
|
|
|
- childMeshTmp.position.set(x, y, z)
|
|
|
- var Euler = new THREE.Euler(Math.PI * ang_x, Math.PI * ang_y, Math.PI * ang_z);
|
|
|
- //var Euler = new THREE.Euler( Math.PI*1.5, Math.PI*0, Math.PI*0);
|
|
|
- var quaternion = new THREE.Quaternion();
|
|
|
- childMeshTmp.quaternion.copy(quaternion.setFromEuler(Euler))
|
|
|
- var customData = {
|
|
|
- benchId: bench_id,
|
|
|
- benchFlag: true,
|
|
|
- };
|
|
|
- childMeshTmp.userData = customData;
|
|
|
-
|
|
|
-
|
|
|
- // 添加水滴
|
|
|
- // 加载图片纹理
|
|
|
- let textureLoader = new THREE.TextureLoader();
|
|
|
- let benchList = window.store ? window.store.getters['benchList/getBenchList'] : [];
|
|
|
- let currentBench = benchList.find(b => b.id == bench_id);
|
|
|
- let purl = '../images/location_offline.png';
|
|
|
- if (currentBench && currentBench.status) {
|
|
|
- purl = '../images/location_'+(currentBench.status || 'offline')+'.png'
|
|
|
+ if (benchType == 2) {
|
|
|
+ console.log("控制台查看加载gltf文件返回的对象结构", fbx);
|
|
|
+ var childMesh = fbx.scene.children[0];
|
|
|
+ let childMeshTmp = new THREE.Mesh(childMesh.geometry, childMesh.material)
|
|
|
+ let scale = 0.05;
|
|
|
+ childMeshTmp.scale.set(scale, scale, scale)
|
|
|
+ //fbx.scene.children[0].scale.set(5, 5, 5)
|
|
|
+ //fbx.scene.children[0].position.set(8.7, -1.6, 5.4)
|
|
|
+ childMeshTmp.position.set(x, y, z)
|
|
|
+ var Euler = new THREE.Euler(Math.PI * ang_x, Math.PI * ang_y, Math.PI * ang_z);
|
|
|
+ //var Euler = new THREE.Euler( Math.PI*1.5, Math.PI*0, Math.PI*0);
|
|
|
+ var quaternion = new THREE.Quaternion();
|
|
|
+ childMeshTmp.quaternion.copy(quaternion.setFromEuler(Euler))
|
|
|
+ var customData = {
|
|
|
+ benchId: bench_id,
|
|
|
+ benchFlag: true,
|
|
|
+ };
|
|
|
+ childMeshTmp.userData = customData;
|
|
|
+
|
|
|
+
|
|
|
+ // 添加水滴
|
|
|
+ // 加载图片纹理
|
|
|
+ let benchList = window.store ? window.store.getters['benchList/getBenchList'] : [];
|
|
|
+ let currentBench = benchList.find(b => b.id == bench_id);
|
|
|
+ let texture = null;
|
|
|
+ if (currentBench) {
|
|
|
+ switch(currentBench.status) {
|
|
|
+ case "ready":
|
|
|
+ texture = textureReady;
|
|
|
+ break;
|
|
|
+ case "running":
|
|
|
+ texture = textureRunning;
|
|
|
+ break;
|
|
|
+ case "offline":
|
|
|
+ texture = textOffline;
|
|
|
+ break;
|
|
|
}
|
|
|
- let texture = textureLoader.load(purl);
|
|
|
-
|
|
|
- // 创建精灵对象
|
|
|
- let spriteMaterial = new THREE.SpriteMaterial({
|
|
|
- map: texture,
|
|
|
- color: 0x4AB22E
|
|
|
- });
|
|
|
- let sprite = new THREE.Sprite(spriteMaterial);
|
|
|
- // sprite.scale.set(100, 100, 1);
|
|
|
- sprite.userData = customData;
|
|
|
- sprite.position.set(x, y+10, z);
|
|
|
-
|
|
|
- sdkInstance.sceneRenderer.scene.add(childMeshTmp)
|
|
|
- sdkInstance.sceneRenderer.scene.add(sprite)
|
|
|
}
|
|
|
- };
|
|
|
- if (!sessionStorage.getItem('3dMode') || sessionStorage.getItem('3dMode') == 0) {
|
|
|
- setTimeout(() => {
|
|
|
- var benchPosList = [];
|
|
|
- for (var item of result) {
|
|
|
- var localPosition = new THREE.Vector3(item.fix_pos_x, item.fix_pos_y, item.fix_pos_z);
|
|
|
- var worldPosition = uwbInstance.convertLocalToWorld(localPosition);
|
|
|
- var pos = sdkInstance.getScreenPosition(worldPosition);
|
|
|
- benchPosList.push(
|
|
|
- {
|
|
|
- x: pos.x,
|
|
|
- y: pos.y,
|
|
|
- benchType: item.bench_type,
|
|
|
- benchId: item.bench_id
|
|
|
- }
|
|
|
- )
|
|
|
- }
|
|
|
- window.showBenchPos(benchPosList);
|
|
|
- }, 2000
|
|
|
- )
|
|
|
+
|
|
|
+ // 创建精灵对象
|
|
|
+ let spriteMaterial = new THREE.SpriteMaterial({
|
|
|
+ map: texture,
|
|
|
+ color: 0x4AB22E
|
|
|
+ });
|
|
|
+ let sprite = new THREE.Sprite(spriteMaterial);
|
|
|
+ // sprite.scale.set(100, 100, 1);
|
|
|
+ sprite.userData = customData;
|
|
|
+ sprite.position.set(x, y + 10, z);
|
|
|
+
|
|
|
+ sdkInstance.sceneRenderer.scene.add(childMeshTmp)
|
|
|
+ sdkInstance.sceneRenderer.scene.add(sprite)
|
|
|
}
|
|
|
+ };
|
|
|
+ if (!sessionStorage.getItem('3dMode') || sessionStorage.getItem('3dMode') == 0) {
|
|
|
+ setTimeout(() => {
|
|
|
+ var benchPosList = [];
|
|
|
+ for (var item of result) {
|
|
|
+ var localPosition = new THREE.Vector3(item.fix_pos_x, item.fix_pos_y, item.fix_pos_z);
|
|
|
+ var worldPosition = uwbInstance.convertLocalToWorld(localPosition);
|
|
|
+ var pos = sdkInstance.getScreenPosition(worldPosition);
|
|
|
+ benchPosList.push(
|
|
|
+ {
|
|
|
+ x: pos.x,
|
|
|
+ y: pos.y,
|
|
|
+ benchType: item.bench_type,
|
|
|
+ benchId: item.bench_id
|
|
|
+ }
|
|
|
+ )
|
|
|
+ }
|
|
|
+ window.showBenchPos(benchPosList);
|
|
|
+ }, 2000
|
|
|
+ )
|
|
|
+ }
|
|
|
|
|
|
|
|
|
- })
|
|
|
- });
|
|
|
+ })
|
|
|
+
|
|
|
|
|
|
});
|
|
|
}
|