From 95060ad71d43efae18d510e7510904128b93f3bd Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期日, 28 四月 2024 15:42:02 +0800
Subject: [PATCH] #
---
src/utils/common.js | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 52 insertions(+), 2 deletions(-)
diff --git a/src/utils/common.js b/src/utils/common.js
index 2ace608..25d76a5 100644
--- a/src/utils/common.js
+++ b/src/utils/common.js
@@ -1,4 +1,5 @@
import * as THREE from 'three';
+import { REAL_COMPARE_MAP_SCALE, REAL_COMPARE_MAP_OFFSET_X, REAL_COMPARE_MAP_OFFSET_Z } from '../config/setting'
export const isNullOfUndefined = (param) => {
if (null === param || undefined === param) {
@@ -19,8 +20,21 @@
}
export const rotationParseNum = (num) => {
- return num * Math.PI / 180;
+ const normalizedDegrees = num % 360;
+ return normalizedDegrees * Math.PI / 180;
}
+
+export const minDiffTheta = (originTheta, targetTheta) => {
+ return (targetTheta - originTheta > 180) ? targetTheta - 360 : targetTheta;
+}
+
+export const calculateMappedPosition = (realPos) => {
+ return [
+ realPos[0] * REAL_COMPARE_MAP_SCALE + REAL_COMPARE_MAP_OFFSET_X,
+ realPos[1],
+ realPos[2] * REAL_COMPARE_MAP_SCALE + REAL_COMPARE_MAP_OFFSET_Z
+ ];
+};
export const setShadow = (obj) => {
obj.castShadow = true;
@@ -42,4 +56,40 @@
setColor(child);
});
}
-};
\ No newline at end of file
+};
+
+export const deepEqual = (obj1, obj2) => {
+ if (obj1 === obj2) {
+ return true;
+ }
+ if (typeof obj1 !== "object" || obj1 === null || typeof obj2 !== "object" || obj2 === null) {
+ return false;
+ }
+ var keys1 = Object.keys(obj1);
+ var keys2 = Object.keys(obj2);
+ if (keys1.length !== keys2.length) {
+ return false;
+ }
+ for (var key of keys1) {
+ if (!keys2.includes(key) || !deepEqual(obj1[key], obj2[key])) {
+ return false;
+ }
+ }
+ return true;
+}
+
+export const parseLocNo = (locNo) => {
+ if (!locNo || typeof locNo !== 'string') {
+ return null;
+ }
+ const locParseArr = locNo.split('-');
+ return {
+ row: Number(locParseArr?.[0]),
+ bay: Number(locParseArr?.[1]),
+ lev: Number(locParseArr?.[2]),
+ }
+}
+
+export const generateLocNo = (row, bay, lev) => {
+ return row + '-' + bay + '-' + lev;
+}
\ No newline at end of file
--
Gitblit v1.9.1