From 1a57d167f6ce92a30e88eb93cd69b9a6b6de08fa Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期一, 22 四月 2024 16:28:09 +0800 Subject: [PATCH] # --- src/utils/common.js | 24 +++++++++++++++++++++++- src/config/setting.js | 2 ++ src/core/warehouse.jsx | 5 +++-- src/components/agv.jsx | 29 +++++------------------------ 4 files changed, 33 insertions(+), 27 deletions(-) diff --git a/src/components/agv.jsx b/src/components/agv.jsx index 2bce4f7..61e75e4 100644 --- a/src/components/agv.jsx +++ b/src/components/agv.jsx @@ -5,27 +5,7 @@ import Box from './box'; import * as Common from '../utils/common' -const setShadow = (obj) => { - obj.castShadow = true; - obj.receiveShadow = true; - - if (obj.children) { - obj.children.forEach((child) => { - setShadow(child); - }); - } -}; - -const setColor = (obj) => { - if (obj.material) { - obj.material.color.set(0x4680BF); - } - if (obj.children) { - obj.children.forEach((child) => { - setColor(child); - }); - } -}; +let lastData = {}; const Agv = (props) => { const { position, theta } = props; @@ -33,12 +13,13 @@ useEffect(() => { console.log(position); console.log(theta); + }, [props]); const bodyModel = useMemo(() => { const fbx = useFBX('/models/agv/body.fbx'); if (!fbx.castShadow) { - setShadow(fbx); + Common.setShadow(fbx); } return fbx.clone(); }, []) @@ -46,7 +27,7 @@ const loaderModel = useMemo(() => { const fbx = useFBX('/models/agv/loader.fbx'); if (!fbx.castShadow) { - setShadow(fbx); + Common.setShadow(fbx); } return fbx.clone(); }, []) @@ -54,7 +35,7 @@ const forkModel = useMemo(() => { const fbx = useFBX('/models/agv/fork.fbx'); if (!fbx.castShadow) { - setShadow(fbx); + Common.setShadow(fbx); } return fbx.clone(); }, []) diff --git a/src/config/setting.js b/src/config/setting.js index 1e15f04..7a49028 100644 --- a/src/config/setting.js +++ b/src/config/setting.js @@ -5,3 +5,5 @@ export const UN_AUTH_CODE = 403; export const DEBUG = false; + +export const INTERVAL_TIME = 1500; diff --git a/src/core/warehouse.jsx b/src/core/warehouse.jsx index af7723b..24224fa 100644 --- a/src/core/warehouse.jsx +++ b/src/core/warehouse.jsx @@ -5,7 +5,8 @@ import Box from '../components/box'; import tunnelData from '../assets/data/tunnel'; import Tunnel from '../components/tunnel'; -import agvRealDataList from '@/assets/data/agv' +import agvRealDataList from '@/assets/data/agv'; +import { INTERVAL_TIME } from '@/config/setting' let index = 0; @@ -26,7 +27,7 @@ setAgvData(agvRealData); } index++; - }, 2000); + }, INTERVAL_TIME); return () => { clearInterval(timer); diff --git a/src/utils/common.js b/src/utils/common.js index b1041f5..2ace608 100644 --- a/src/utils/common.js +++ b/src/utils/common.js @@ -20,4 +20,26 @@ export const rotationParseNum = (num) => { return num * Math.PI / 180; -} \ No newline at end of file +} + +export const setShadow = (obj) => { + obj.castShadow = true; + obj.receiveShadow = true; + + if (obj.children) { + obj.children.forEach((child) => { + setShadow(child); + }); + } +}; + +export const setColor = (obj) => { + if (obj.material) { + obj.material.color.set(0x4680BF); + } + if (obj.children) { + obj.children.forEach((child) => { + setColor(child); + }); + } +}; \ No newline at end of file -- Gitblit v1.9.1