From d57cf3a04590c99d7a3208efc3ee12d8403e4d10 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期日, 07 四月 2024 14:36:10 +0800
Subject: [PATCH] #

---
 zy-asrs-flow/src/pages/map/drawer/shelf/shelfThree.js |    8 +++++---
 zy-asrs-flow/src/pages/map/drawer/shelf/view.jsx      |    4 +++-
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/zy-asrs-flow/src/pages/map/drawer/shelf/shelfThree.js b/zy-asrs-flow/src/pages/map/drawer/shelf/shelfThree.js
index 58ee56c..5c2913e 100644
--- a/zy-asrs-flow/src/pages/map/drawer/shelf/shelfThree.js
+++ b/zy-asrs-flow/src/pages/map/drawer/shelf/shelfThree.js
@@ -64,9 +64,6 @@
 
     initScene = () => {
         const scene = new THREE.Scene();
-        // scene.background = new THREE.Color(0xf0f0f0);
-        // scene.background = new THREE.Color(0x333333);
-
         // scene.background = new THREE.Color(0xf8f8f8);
         scene.background = new THREE.Color(0x7a7a7a);
         scene.fog = new THREE.Fog(scene.background, 1, 5000);
@@ -203,6 +200,11 @@
         }
     }
 
+    rePerspective = (maxHeight) => {
+        this.camera.position.set(-maxHeight * 0.8, maxHeight * 0.8, maxHeight * 0.8);
+        this.controls.target = new THREE.Vector3(0, maxHeight * 0.55, 0);
+    }
+
     destroy = () => {
         cancelAnimationFrame(this.animationFrame);
         window.removeEventListener('resize', this.resizeHandler);
diff --git a/zy-asrs-flow/src/pages/map/drawer/shelf/view.jsx b/zy-asrs-flow/src/pages/map/drawer/shelf/view.jsx
index a6b460b..6b8cdd5 100644
--- a/zy-asrs-flow/src/pages/map/drawer/shelf/view.jsx
+++ b/zy-asrs-flow/src/pages/map/drawer/shelf/view.jsx
@@ -61,11 +61,12 @@
     if (res?.data && shelfThree) {
         shelfThree.generateMesh((loader, addObject) => {
             const promises = [];
+            const singleHeight = 123;
             for (const item of res.data) {
                 const { lev } = Utils.parseLocNo(item.locNo);
                 promises.push(new Promise((resolve) => {
                     loader.load('model/04.fbx', (mesh) => {
-                        mesh.position.set(0, 123 * (lev - 1), 0);
+                        mesh.position.set(0, singleHeight * (lev - 1), 0);
                         mesh.scale.set(5, 5, 5);
                         mesh.name = item.locNo;
                         mesh.traverse(function (child) {
@@ -95,6 +96,7 @@
 
             Promise.all(promises).then(() => {
                 shelfThree.setNewSelectedMesh(locNo);
+                shelfThree.rePerspective(singleHeight * res.data.length);
             }).catch(error => {
                 console.error(error);
             });

--
Gitblit v1.9.1