From 9c54c135b727bb7b2dec48b56a4dd181187cad30 Mon Sep 17 00:00:00 2001 From: "hyojun.choi" Date: Mon, 7 Jul 2025 11:10:56 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B0=9C=EC=A0=84=20=EC=8B=9C=EB=AE=AC?= =?UTF-8?q?=EB=A0=88=EC=9D=B4=EC=85=98=20=EA=B0=81=EB=8F=84=20=EA=B3=84?= =?UTF-8?q?=EC=82=B0=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/module/useTrestle.js | 42 ++++++++++++++++------------------ 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/src/hooks/module/useTrestle.js b/src/hooks/module/useTrestle.js index 17f6711a..29f2d664 100644 --- a/src/hooks/module/useTrestle.js +++ b/src/hooks/module/useTrestle.js @@ -807,59 +807,57 @@ export const useTrestle = () => { const getAzimuth = (parent) => { const { moduleCompass, surfaceCompass, direction } = parent + if(surfaceCompass) { + return -surfaceCompass + } + let resultAzimuth = surfaceCompass || moduleCompass + + switch (direction) { case 'south': { - if (resultAzimuth < 0) { - return -1 * resultAzimuth - } else if (resultAzimuth === 0) { - return 0 - } else if (resultAzimuth < 180) { - return -1 * resultAzimuth - } else if (resultAzimuth === 180) { - return 180 - } + return resultAzimuth } case 'north': { if (resultAzimuth < 0) { - return -1 * (180 + resultAzimuth) + return 180 + resultAzimuth } else if (resultAzimuth === 0) { return 180 } else if (resultAzimuth < 180) { - return 180 - resultAzimuth + return resultAzimuth - 180 } else if (resultAzimuth === 180) { return 0 } } case 'west': { if (resultAzimuth > -180 && resultAzimuth < 0) { - return -1 * (90 + resultAzimuth) + return 90 + resultAzimuth } else if (resultAzimuth === 0) { - return -180 + (90 - resultAzimuth) + return 90 - resultAzimuth } else if (resultAzimuth < 180) { if (resultAzimuth > 90) { - return 180 + (90 - resultAzimuth) + return -180 + (resultAzimuth - 90) } - return -180 + (90 - resultAzimuth) - } else if (resultAzimuth === 180) { return 180 + (90 - resultAzimuth) + } else if (resultAzimuth === 180) { + return -180 + (resultAzimuth - 90) } } case 'east': { if (resultAzimuth === 0) { - return 90 - resultAzimuth + return -180 + (90 - resultAzimuth) } else if (resultAzimuth > 0 && resultAzimuth < 180) { - return 90 - resultAzimuth + return resultAzimuth - 90 } else if (resultAzimuth === 180) { - return 90 - resultAzimuth + return resultAzimuth - 90 } else if (resultAzimuth > -180 && resultAzimuth < 0) { - if (resultAzimuth < -90) { - return -180 - (90 + resultAzimuth) + if (resultAzimuth <= -90) { + return 180 + (90 + resultAzimuth) } - return 180 - (90 + resultAzimuth) + return -180 + (90 + resultAzimuth) } } }