Merge pull request 'trp_dev' (#403) from trp_dev into dengjie

Reviewed-on: http://git.feashow.cn/clay/tunnel-cloud-web/pulls/403
This commit is contained in:
2025-01-03 06:15:27 +00:00
5 changed files with 20 additions and 2 deletions

View File

@@ -259,7 +259,9 @@ export default class Demo {
const raycaster = new this.THREE.Raycaster();
raycaster.setFromCamera(mouse, this.camera);
const intersects = raycaster.intersectObjects(hoverModels);
if (intersects.length > 0) {
if(Object.keys(intersects[0].object).includes('enableHover') && !intersects[0].object.enableHover)return;
if (!this.preHover) {
this.preHover = intersects[0].object;
} else {

View File

@@ -364,6 +364,16 @@ function changeFanColor(fanData, targetPoint, scene) {
}
export function clearTunnelEquipments() {
if (this.group) this.scene.remove(this.group);
if (this.scene.getObjectByName("boxHelper")) {
const preModel = this.scene.getObjectByName("boxHelper");
this.scene.remove(preModel);
}
this.scene.traverse(function (point) {
if (/^point/.test(point.name)) {
point.hasDevice = false;
}
});
this.deviceModels.forEach((deviceModel) => {
this.scene.remove(this.scene.getObjectById(deviceModel.objId));
});

View File

@@ -1,10 +1,16 @@
export function editTunnelInit(equipmentList) {
// 清空设备
this.clearTunnelEquipments()
this.clearTunnelEquipments();
//初始化将墙壁隐藏起来
equipmentList.forEach((item) => {
// 根据定位获取附着点信息
const target = this.scene.getObjectByName(item.position);
this.addEquipment(target, item, 1);
});
this.scene.traverse(function (point) {
if (/^point/.test(point.name)) {
point.enableHover =
equipmentList.findIndex((item) => item.position === point.name) >= 0;
}
});
}

View File

@@ -1,4 +1,5 @@
export function handleLHover(targetPoint) {
// if(Object.keys(targetPoint).includes('enableHover') && !targetPoint.enableHover)return;
if (this.tag3CSS2DObj.element.style.opacity != '1') {
// 保存进入状态
this._saveState();

View File

@@ -11,7 +11,6 @@ export default function previewtunnelModeInit(equipmentList, fanData) {
// }
// }
// console.log(equipmentList);
equipmentList.forEach((item) => {
this.addEquipment(this.scene.getObjectByName(item.position), item, fanData);
});