From 1c367ba22bb5ba35b3a2de45f23af675d50eeff4 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 23 四月 2024 17:19:36 +0800
Subject: [PATCH] #

---
 src/utils/common.js |   49 ++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 48 insertions(+), 1 deletions(-)

diff --git a/src/utils/common.js b/src/utils/common.js
index b1041f5..01b74cc 100644
--- a/src/utils/common.js
+++ b/src/utils/common.js
@@ -19,5 +19,52 @@
 }
 
 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 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);
+        });
+    }
+};
+
+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;
 }
\ No newline at end of file

--
Gitblit v1.9.1