Merge pull request 'trp_dev' (#356) from trp_dev into dev

Reviewed-on: http://git.feashow.cn/clay/tunnel-cloud-web/pulls/356
This commit is contained in:
trp-ironman
2024-08-06 15:16:24 +00:00

View File

@@ -1,6 +1,6 @@
import { handleLClick } from "./handleRLclick/handleLclick";
import { handleRClick } from "./handleRLclick/handleRclick";
import { handleLHover } from "./handleRLclick/handleLhover.js"
import { handleLHover } from "./handleRLclick/handleLhover.js";
import { handleDBLClick } from "./handleDBLclick";
import { checkAnimation } from "./checkTag";
import {
@@ -11,7 +11,7 @@ import { saveState, resetState } from "./viewBack";
import addFunction from "./addEvent";
import { editTunnelInit } from "./editTunnelInit";
import { addEquipment, removeEquipment } from "./editEquipment";
import previewtunnelModeInit from "./previewTunnelInit"
import previewtunnelModeInit from "./previewTunnelInit";
import { StreetSignTag } from "./utils/StreetSignTag/StreetSignTag.js";
// import { fa } from "element-plus/es/locale/index.js";
// import { ref } from "vue";
@@ -23,7 +23,7 @@ export default class Demo {
//设备模型数组
deviceModels = [];
constructor(three, mountedElement) {
this._StreetSignTag = StreetSignTag
this._StreetSignTag = StreetSignTag;
this._handleLClick = handleLClick;
this._handleLHover = handleLHover;
this._handleRClick = handleRClick;
@@ -155,6 +155,8 @@ export default class Demo {
gltf.scene.traverse((child) => {
this._forModels(child);
});
// 初始化模型缩放倍率
gltf.scene.scale.set(0.75, 0.75, 0.75);
// 初始化场景位置
gltf.scene.position.set(-5, 0, 10);
this.scene.add(gltf.scene);
@@ -164,7 +166,7 @@ export default class Demo {
resolve(gltf);
},
(xhr) => {
console.log((xhr.loaded / xhr.total) * 100 + "% loaded");
// console.log((xhr.loaded / xhr.total) * 100 + "% loaded");
},
(error) => {
console.log(error);
@@ -180,11 +182,10 @@ export default class Demo {
this._hoverModel(this.points, isedit);
// 可以进行点击
if (isedit == true) {
console.log('dada')
this._ClickModel(this.points);
}
//将墙壁进行隐藏
this.WallInit()
this.WallInit();
//对路牌进行相关操作
// this.SignsInf()
}
@@ -224,6 +225,8 @@ export default class Demo {
this.orbitControls.maxPolarAngle = (4 * Math.PI) / 8.5;
this.orbitControls.minPolarAngle = (4 * Math.PI) / 8.5;
}
this.orbitControls.enableDamping = true;
// 初始化轨道控制器距离
this.orbitControls.minDistance = 5;
this.orbitControls.maxDistance = 87;
// 监听控制器变化
@@ -259,7 +262,6 @@ export default class Demo {
//附着点设置方框(已经被选中了的情况)
this.setBoxHelper(intersects[0].object);
this._handleLHover(intersects[0].object);
}
this.preHover.material.color.set("white");
this.preHover = intersects[0].object;
@@ -277,15 +279,13 @@ export default class Demo {
if (!this.preHover) return;
//当鼠标移出的时候,将轨道控制器打开,并且将面板关闭
if (isedit != true) {
this.isControlOrbit(true)
this.clearTagsObj(isedit)
this.isControlOrbit(true);
this.clearTagsObj(isedit);
}
this.preHover.material.color.set("white");
}
// this._handleLHover(intersects[0].object);
// this._handleLClick(intersects[0].object);
});
}
/**
@@ -379,7 +379,6 @@ export default class Demo {
// 下面是2D的显示方案
// this.tagCSS2DObj.scale.set(0.001, 0.001, 0.001);
// this.tag3CSS2DObj.scale.set(0.001, 0.001, 0.001); //编辑框
// this.tag3CSS2DObj.position.set(1, 0, 1);
}
@@ -432,7 +431,7 @@ export default class Demo {
this.equMap.get("equ_fan").traverse((v) => {
v.material = new this.THREE.MeshBasicMaterial();
// v.material.color = new this.THREE.Color(0xFF0000);
v.material.color = new this.THREE.Color(0xC0C0C0);
v.material.color = new this.THREE.Color(0xc0c0c0);
if (/^leaf/.test(v.name) || /^roller/.test(v.name)) {
group.add(v.clone());
// console.log(group);
@@ -503,10 +502,10 @@ export default class Demo {
isControlOrbit(option = true) {
this.orbitControls.enabled = option;
const mesh = this.scene.getObjectByName("chanel");
const mesh2 = this.scene.getObjectByName("chanel_1");
const mesh3 = this.scene.getObjectByName("chanel_2");
const mesh4 = this.scene.getObjectByName("chanel_3");
// const mesh = this.scene.getObjectByName("chanel");
// const mesh2 = this.scene.getObjectByName("chanel_1");
// const mesh3 = this.scene.getObjectByName("chanel_2");
// const mesh4 = this.scene.getObjectByName("chanel_3");
const opacityTween = (startVal, endVal, isNeedLookAt = false) => {
this.opacityTween = new this.TWEEN.Tween({
@@ -547,16 +546,16 @@ export default class Demo {
WallInit() {
for (let line = 1; line <= 20; line++) {
if (line < 10) {
let wall = 'wall_' + '0' + line
this.scene.getObjectByName(wall).visible = false
let wall = "wall_" + "0" + line;
this.scene.getObjectByName(wall).visible = false;
} else if (line >= 10) {
let wall = 'wall_' + line
this.scene.getObjectByName(wall).visible = false
let wall = "wall_" + line;
this.scene.getObjectByName(wall).visible = false;
}
}
}
SignsInf(tunnelName, tunnelLength) {
let Signs = this.scene.getObjectByName('streetSigns');
let Signs = this.scene.getObjectByName("streetSigns");
// console.log(Signs);
const tag = new this.THREE.Mesh(
new this.THREE.PlaneGeometry(100, 76),
@@ -571,7 +570,6 @@ export default class Demo {
tag.translateZ(3);
tag.translateY(40);
let EquipmentTag = this._StreetSignTag(tunnelName, tunnelLength);
Signs.getObjectByName("tag").material = EquipmentTag;
}