From 83159b487d34c3ff918bc85df52fbc51129b251e Mon Sep 17 00:00:00 2001 From: Pascal Serrarens Date: Thu, 17 Apr 2025 09:38:15 +0200 Subject: [PATCH] Compatibility Fixes --- LinearAlgebra/src/Spherical.cs | 49 +++++++++++++++-------------- LinearAlgebra/test/SphericalTest.cs | 4 ++- 2 files changed, 28 insertions(+), 25 deletions(-) diff --git a/LinearAlgebra/src/Spherical.cs b/LinearAlgebra/src/Spherical.cs index ad6d9b8..456646f 100644 --- a/LinearAlgebra/src/Spherical.cs +++ b/LinearAlgebra/src/Spherical.cs @@ -1,6 +1,7 @@ using System; #if UNITY_5_3_OR_NEWER -using Vector3Float = UnityEngine.Vector3; +//using Vector3Float = UnityEngine.Vector3; +using Vector3 = UnityEngine.Vector3; #endif namespace LinearAlgebra { @@ -66,16 +67,16 @@ namespace LinearAlgebra { public readonly static Spherical forward = new(1, Direction.forward); - public static Spherical FromVector3Float(Vector3Float v) { - float distance = v.magnitude; - if (distance == 0.0f) - return Spherical.zero; - else { - float verticalAngle = (float)((Angle.pi / 2 - Math.Acos(v.y / distance)) * Angle.Rad2Deg); - float horizontalAngle = (float)Math.Atan2(v.x, v.z) * Angle.Rad2Deg; - return Spherical.Degrees(distance, horizontalAngle, verticalAngle); - } - } + // public static Spherical FromVector3Float(Vector3Float v) { + // float distance = v.magnitude; + // if (distance == 0.0f) + // return Spherical.zero; + // else { + // float verticalAngle = (float)((Angle.pi / 2 - Math.Acos(v.y / distance)) * Angle.Rad2Deg); + // float horizontalAngle = (float)Math.Atan2(v.x, v.z) * Angle.Rad2Deg; + // return Spherical.Degrees(distance, horizontalAngle, verticalAngle); + // } + // } public static Spherical FromVector3(Vector3 v) { float distance = v.magnitude; @@ -88,21 +89,21 @@ namespace LinearAlgebra { } } - public Vector3Float ToVector3Float() { - float verticalRad = (Angle.pi / 2) - this.direction.vertical * Angle.Deg2Rad; - float horizontalRad = this.direction.horizontal * Angle.Deg2Rad; - float cosVertical = (float)Math.Cos(verticalRad); - float sinVertical = (float)Math.Sin(verticalRad); - float cosHorizontal = (float)Math.Cos(horizontalRad); - float sinHorizontal = (float)Math.Sin(horizontalRad); + // public Vector3Float ToVector3Float() { + // float verticalRad = (Angle.pi / 2) - this.direction.vertical * Angle.Deg2Rad; + // float horizontalRad = this.direction.horizontal * Angle.Deg2Rad; + // float cosVertical = (float)Math.Cos(verticalRad); + // float sinVertical = (float)Math.Sin(verticalRad); + // float cosHorizontal = (float)Math.Cos(horizontalRad); + // float sinHorizontal = (float)Math.Sin(horizontalRad); - float x = this.distance * sinVertical * sinHorizontal; - float y = this.distance * cosVertical; - float z = this.distance * sinVertical * cosHorizontal; + // float x = this.distance * sinVertical * sinHorizontal; + // float y = this.distance * cosVertical; + // float z = this.distance * sinVertical * cosHorizontal; - Vector3Float v = new(x, y, z); - return v; - } + // Vector3Float v = new(x, y, z); + // return v; + // } public Vector3 ToVector3() { float verticalRad = (Angle.pi / 2) - this.direction.vertical * Angle.Deg2Rad; diff --git a/LinearAlgebra/test/SphericalTest.cs b/LinearAlgebra/test/SphericalTest.cs index d9cca1d..3ede4f4 100644 --- a/LinearAlgebra/test/SphericalTest.cs +++ b/LinearAlgebra/test/SphericalTest.cs @@ -1,3 +1,4 @@ +#if !UNITY_5_6_OR_NEWER using NUnit.Framework; namespace LinearAlgebra.Test { @@ -25,4 +26,5 @@ namespace LinearAlgebra.Test { Assert.AreEqual(v1.distance, r.distance, "Addition(0,0,0)"); } } -} \ No newline at end of file +} +#endif \ No newline at end of file