From cba0269f489f008b64f9b3a58022ba96bfd4f205 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期三, 24 四月 2024 15:05:55 +0800
Subject: [PATCH] #

---
 src/assets/data/shelf.js |   54 +++++++++++++++++++--------
 src/core/warehouse.jsx   |    7 +++
 src/components/shelf.jsx |   12 ++++--
 3 files changed, 52 insertions(+), 21 deletions(-)

diff --git a/src/assets/data/shelf.js b/src/assets/data/shelf.js
index 2ae47ef..4170eb0 100644
--- a/src/assets/data/shelf.js
+++ b/src/assets/data/shelf.js
@@ -1,25 +1,47 @@
+// row
+
+
+// bay
+const realBayPos = [1589, 3540, 5491, 7442, 9393, 11344];
+const mapBayMaxAbs = 500;
+
+const calBayMapPos = (realPosition, minRealPosition = Math.min(...realBayPos), maxRealPosition = Math.max(...realBayPos), maxMapPosition = mapBayMaxAbs) => {
+  return ((realPosition - minRealPosition) / (maxRealPosition - minRealPosition)) * (2 * maxMapPosition) - maxMapPosition;
+}
+
+console.log(Math.max(...realBayPos));
+
 const shelfData = [
   {
-    no: '1-1-1',
-    position: [0, 0, 0],
-    rotationY: 0,
-  },
-  {
-    no: '1-1-1',
-    position: [100, 0, 0],
+    no: '3-1-1',
+    position: [0, 0, calBayMapPos(realBayPos[5])],
     rotationY: Math.PI / 2,
   },
   {
-    no: '1-1-1',
-    position: [100, 0, 100],
-    rotationY: 0,
+    no: '3-4-1',
+    position: [0, 0, calBayMapPos(realBayPos[4])],
+    rotationY: Math.PI / 2,
   },
-
-  // {
-  //   no: '2-1-1',
-  //   position: [100, 0, 0],
-  //   rotationY: Math.PI / 2,
-  // }
+  {
+    no: '3-7-1',
+    position: [0, 0, calBayMapPos(realBayPos[3])],
+    rotationY: Math.PI / 2,
+  },
+  {
+    no: '3-10-1',
+    position: [0, 0, calBayMapPos(realBayPos[2])],
+    rotationY: Math.PI / 2,
+  },
+  {
+    no: '3-13-1',
+    position: [0, 0, calBayMapPos(realBayPos[1])],
+    rotationY: Math.PI / 2,
+  },
+  {
+    no: '3-16-1',
+    position: [0, 0, calBayMapPos(realBayPos[0])],
+    rotationY: Math.PI / 2,
+  },
 ];
 
 export default shelfData;
diff --git a/src/components/shelf.jsx b/src/components/shelf.jsx
index 1626e3c..4c39a50 100644
--- a/src/components/shelf.jsx
+++ b/src/components/shelf.jsx
@@ -1,11 +1,11 @@
 import { useMemo, useState, useEffect } from 'react';
-import { useGLTF } from '@react-three/drei';
+import { useGLTF, useFBX } from '@react-three/drei';
 import * as THREE from 'three';
 import { MODEL_SHELF_SCALE } from '@/config/setting'
 import { DRACOLoader } from 'three/examples/jsm/loaders/DRACOLoader';
 import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader';
 import Box from './box';
-
+import * as Common from '../utils/common';
 
 const Shelf = (props) => {
     const { position = [0, 300, 0], rotationY = 0 } = props;
@@ -17,14 +17,18 @@
     return (
         <>
             <group rotation-y={rotationY} position={position}>
-                <primitive
+                {/* <primitive
                     castShadow
                     receiveShadow
                     object={nodes.鐗╀欢_1001}
                     material={materials['鏉愯川_1.002']}
                     position={[0, 99, 0]}
                     scale={50000}
-                />
+                /> */}
+                <mesh position={[0, 100, 0]}>
+                    <boxGeometry args={[150, 200, 30]} />
+                    <meshStandardMaterial color={'orange'} transparent={true} opacity={.5} />
+                </mesh>
             </group>
             {/* <Box rotationY={Math.PI / 2} position={[0, 100, -50]} />
             <Box rotationY={Math.PI / 2} position={[0, 100, 0]} />
diff --git a/src/core/warehouse.jsx b/src/core/warehouse.jsx
index 035b9f3..f1bea49 100644
--- a/src/core/warehouse.jsx
+++ b/src/core/warehouse.jsx
@@ -28,7 +28,7 @@
         const timer = setInterval(() => {
             const agvRealData = agvRealDataList[index];
             if (agvRealData) {
-                setAgvData(agvRealData);
+                // setAgvData(agvRealData);
             }
             index++;
         }, INTERVAL_TIME * 1.1);
@@ -44,6 +44,10 @@
 
     const shelfEl = useMemo(() => {
         return shelfData.map((data, index) => <Shelf key={index} {...data} />)
+    }, []);
+
+    const shelfEl1 = useMemo(() => {
+        return shelfData.slice(0, 1).map((data, index) => <Shelf key={index} {...data} />)
     }, []);
 
     const agvEl = useMemo(() => {
@@ -63,6 +67,7 @@
             <group>
                 {tunnelEl}
                 {shelfEl}
+                {/* {shelfEl1} */}
                 {agvEl}
                 {boxEl}
             </group>

--
Gitblit v1.9.1