This commit is contained in:
Hcat
2023-12-22 15:50:14 +08:00
parent 65510ce59d
commit 6e8d651b52
4 changed files with 32 additions and 19 deletions

View File

@@ -49,17 +49,19 @@ import { OBJLoader } from "three/examples/jsm/loaders/OBJLoader";
import { RGBELoader } from "three/examples/jsm/loaders/RGBELoader";
import { onMounted, reactive, ref } from "vue";
import { ElMessage } from "element-plus";
import { useModelSceneStore } from "@/store/modelSceneStore";
// 获取html标签跟随组件dom
const content = ref(null);
const info = ref(null);
const edit = ref(null);
const store = useModelSceneStore();
let demo; //定义demo全局变量
// const loader = new OBJLoader();
const loader = new OBJLoader();
let hdrLoader = new RGBELoader();
let backColorSet = three.sRGBEncoding;
const params = defineProps(["isedit"]); //接收参数看是不是编辑模式,如果是编辑模式,则需要做一些处理
const params = defineProps(["isedit", "tunnelId"]); //接收参数看是不是编辑模式,如果是编辑模式,则需要做一些处理
// alert(params.isedit)
@@ -84,7 +86,8 @@ async function handleMounted() {
//加载HDR背景图片
demo.loadBackground(hdrLoader, backColorSet);
console.log("xxxx", params.tunnelId);
const text = await store.initData(params.tunnelId);
// 初始化设备模型
try {
//在这加载隧道
@@ -93,7 +96,8 @@ async function handleMounted() {
map.set("equ_sensors", await loadModel("/devicesModel/sensors.obj"));
// 给对象初加载设备模型
demo.initDevicesModel(map);
demo.previewtunnelModeInit();
const equipmentList = await store.getEquipmentList();
demo.previewtunnelModeInit(equipmentList);
} catch (err) {
console.log(err);
}

View File

@@ -87,7 +87,8 @@ async function handleMounted() {
//加载HDR背景图片
demo.loadBackground(hdrLoader, backColorSet);
const text = await store.initData();
console.log("xxxx", params.tunnelId);
const text = await store.initData(params.tunnelId);
// 初始化设备模型
try {
const map = new Map();

View File

@@ -1,16 +1,23 @@
export default function previewtunnelModeInit() {
for (const item of this.tunnelConfigEquipment) {
//使用api取拿到附着点
let pointmodel = this.scene.getObjectByName(item.pointName)
pointmodel.hasDevice;
let formInfo = {
export default function previewtunnelModeInit(equipmentList) {
// for (const item of this.tunnelConfigEquipment) {
// //使用api取拿到附着点
// let pointmodel = this.scene.getObjectByName(item.pointName)
// pointmodel.hasDevice;
// let formInfo = {
// equipmentType: item.equipmentType, //设备类型
// chooseEquipment: item.equipmentName, //设备选择(设备名称)
// threshold: item.equipmentValue, //阈值
// }
// this.addEquipment(pointmodel, formInfo);
// }
equipmentList.forEach((item) => {
const formInfo = {
equipmentType: item.equipmentType, //设备类型
chooseEquipment: item.equipmentName, //设备选择(设备名称)
threshold: item.equipmentValue, //阈值
}
this.addEquipment(pointmodel, formInfo);
}
chooseEquipment: item.chooseEquipment, //设备选择(设备名称)
threshold: item.threshold,
};
this.addEquipment(this.scene.getObjectByName(item.position), formInfo);
});
//进行预览和编辑模式的一些操作
if (this.isedit == false) {
this.scene.traverse(function (item) {