From d41a997cd6cecf224604849ecb0c4837d97ec4ef Mon Sep 17 00:00:00 2001 From: Edwin Jakobs Date: Thu, 28 Nov 2019 10:29:07 +0100 Subject: [PATCH] Fix sphere mesh generator to be compatible with the new Spherical class --- orx-mesh-generators/src/main/kotlin/Sphere.kt | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/orx-mesh-generators/src/main/kotlin/Sphere.kt b/orx-mesh-generators/src/main/kotlin/Sphere.kt index 3a18a2e2..de74a4da 100644 --- a/orx-mesh-generators/src/main/kotlin/Sphere.kt +++ b/orx-mesh-generators/src/main/kotlin/Sphere.kt @@ -18,13 +18,13 @@ fun generateSphere(sides: Int, segments: Int, radius: Double = 1.0, invert: Bool val inverter = if (invert) -1.0 else 1.0 for (t in 0 until segments) { for (s in 0 until sides) { - val st00 = Spherical(radius, s * Math.PI * 2.0 / sides, t * Math.PI / segments) - val st01 = Spherical(radius, s * Math.PI * 2.0 / sides, (t + 1) * Math.PI / segments) - val st10 = Spherical(radius, (s + 1) * Math.PI * 2.0 / sides, t * Math.PI / segments) - val st11 = Spherical(radius, (s + 1) * Math.PI * 2.0 / sides, (t + 1) * Math.PI / segments) + val st00 = Spherical(s * 180.0 * 2.0 / sides, t * 180.0 / segments, radius) + val st01 = Spherical(s * 180.0 * 2.0 / sides, (t + 1) * 180.0 / segments, radius) + val st10 = Spherical((s + 1) * 180.0 * 2.0 / sides, t * 180.0 / segments, radius) + val st11 = Spherical((s + 1) * 180.0 * 2.0 / sides, (t + 1) * 180.0 / segments, radius) - val thetaMax = Math.PI * 2.0 - val phiMax = Math.PI + val thetaMax = 180.0 * 2.0 + val phiMax = 180.0 when (t) { 0 -> { @@ -55,28 +55,28 @@ fun generateHemisphere(sides: Int, segments: Int, radius: Double = 1.0, invert: val inverter = if (invert) -1.0 else 1.0 for (t in 0 until segments) { for (s in 0 until sides) { - val st00 = Spherical(radius, s * Math.PI * 2.0 / sides, t * Math.PI / segments) - val st01 = Spherical(radius, s * Math.PI * 2.0 / sides, (t + 1) * Math.PI / segments) - val st10 = Spherical(radius, (s + 1) * Math.PI * 2.0 / sides, t * Math.PI / segments) - val st11 = Spherical(radius, (s + 1) * Math.PI * 2.0 / sides, (t + 1) * Math.PI / segments) + val st00 = Spherical(s * 180.0 * 2.0 / sides, t * 180.0 / segments, radius) + val st01 = Spherical(s * 180.0 * 2.0 / sides, (t + 1) * 180.0 / segments, radius) + val st10 = Spherical((s + 1) * 180.0 * 2.0 / sides, t * 180.0 / segments, radius) + val st11 = Spherical((s + 1) * 180.0 * 2.0 / sides, (t + 1) * 180.0 / segments, radius) - val thetaMax = Math.PI * 2.0 - val phiMax = Math.PI * 0.5 + val thetaMax = 180.0 * 2.0 + val phiMax = 180.0 * 0.5 when (t) { 0 -> { - writer(st00.cartesian, st00.cartesian.normalized * inverter, Vector2(st00.theta / thetaMax + 0.5, 1.0-st00.phi / phiMax)) - writer(st01.cartesian, st01.cartesian.normalized * inverter, Vector2(st01.theta / thetaMax + 0.5, 1.0-st01.phi / phiMax)) - writer(st11.cartesian, st11.cartesian.normalized * inverter, Vector2(st11.theta / thetaMax + 0.5, 1.0-st11.phi / phiMax)) + writer(st00.cartesian, st00.cartesian.normalized * inverter, Vector2(st00.theta / thetaMax + 0.5, 1.0 - st00.phi / phiMax)) + writer(st01.cartesian, st01.cartesian.normalized * inverter, Vector2(st01.theta / thetaMax + 0.5, 1.0 - st01.phi / phiMax)) + writer(st11.cartesian, st11.cartesian.normalized * inverter, Vector2(st11.theta / thetaMax + 0.5, 1.0 - st11.phi / phiMax)) } else -> { - writer(st00.cartesian, st00.cartesian.normalized * inverter, Vector2(st00.theta / thetaMax + 0.5, 1.0-st00.phi / phiMax)) - writer(st01.cartesian, st01.cartesian.normalized * inverter, Vector2(st01.theta / thetaMax + 0.5, 1.0-st01.phi / phiMax)) - writer(st11.cartesian, st11.cartesian.normalized * inverter, Vector2(st11.theta / thetaMax + 0.5, 1.0-st11.phi / phiMax)) + writer(st00.cartesian, st00.cartesian.normalized * inverter, Vector2(st00.theta / thetaMax + 0.5, 1.0 - st00.phi / phiMax)) + writer(st01.cartesian, st01.cartesian.normalized * inverter, Vector2(st01.theta / thetaMax + 0.5, 1.0 - st01.phi / phiMax)) + writer(st11.cartesian, st11.cartesian.normalized * inverter, Vector2(st11.theta / thetaMax + 0.5, 1.0 - st11.phi / phiMax)) - writer(st11.cartesian, st11.cartesian.normalized * inverter, Vector2(st11.theta / thetaMax + 0.5, 1.0-st11.phi / phiMax)) - writer(st10.cartesian, st10.cartesian.normalized * inverter, Vector2(st10.theta / thetaMax + 0.5, 1.0-st10.phi / phiMax)) - writer(st00.cartesian, st00.cartesian.normalized * inverter, Vector2(st00.theta / thetaMax + 0.5, 1.0-st00.phi / phiMax)) + writer(st11.cartesian, st11.cartesian.normalized * inverter, Vector2(st11.theta / thetaMax + 0.5, 1.0 - st11.phi / phiMax)) + writer(st10.cartesian, st10.cartesian.normalized * inverter, Vector2(st10.theta / thetaMax + 0.5, 1.0 - st10.phi / phiMax)) + writer(st00.cartesian, st00.cartesian.normalized * inverter, Vector2(st00.theta / thetaMax + 0.5, 1.0 - st00.phi / phiMax)) } } }