From bd10ea951fe318972253c908022a669fe651e3e7 Mon Sep 17 00:00:00 2001 From: Bixilon Date: Wed, 16 Jun 2021 22:04:25 +0200 Subject: [PATCH] util: use more generics --- .../java/de/bixilon/minosoft/data/Axes.kt | 32 +++------------- .../minosoft/gui/rendering/util/VecUtil.kt | 37 ++++--------------- 2 files changed, 13 insertions(+), 56 deletions(-) diff --git a/src/main/java/de/bixilon/minosoft/data/Axes.kt b/src/main/java/de/bixilon/minosoft/data/Axes.kt index 61915118d..5bb6dc51f 100644 --- a/src/main/java/de/bixilon/minosoft/data/Axes.kt +++ b/src/main/java/de/bixilon/minosoft/data/Axes.kt @@ -15,9 +15,7 @@ package de.bixilon.minosoft.data import de.bixilon.minosoft.data.registries.blocks.properties.serializer.BlockPropertiesSerializer import de.bixilon.minosoft.util.KUtil import de.bixilon.minosoft.util.enum.ValuesEnum -import glm_.vec3.Vec3 -import glm_.vec3.Vec3d -import glm_.vec3.Vec3i +import glm_.vec3.Vec3t enum class Axes { X, @@ -25,31 +23,11 @@ enum class Axes { Z, ; - fun choose(vec3: Vec3): Float { - return choose(vec3.x, vec3.y, vec3.z) - } - - fun choose(vec3: Vec3d): Double { - return choose(vec3.x, vec3.y, vec3.z) - } - - fun choose(vec3i: Vec3i): Int { - return choose(Vec3(vec3i)).toInt() - } - - private fun choose(x: Float, y: Float, z: Float): Float { + fun choose(vec3: Vec3t): T { return when (this) { - X -> x - Y -> y - Z -> z - } - } - - private fun choose(x: Double, y: Double, z: Double): Double { - return when (this) { - X -> x - Y -> y - Z -> z + X -> vec3.x + Y -> vec3.y + Z -> vec3.z } } diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/util/VecUtil.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/util/VecUtil.kt index 51e99776e..484f37270 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/util/VecUtil.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/util/VecUtil.kt @@ -36,6 +36,7 @@ import glm_.vec2.Vec2i import glm_.vec3.Vec3 import glm_.vec3.Vec3d import glm_.vec3.Vec3i +import glm_.vec3.Vec3t import kotlin.math.abs import kotlin.random.Random @@ -70,16 +71,10 @@ object VecUtil { z = 0.0f } - infix fun Vec3.assign(vec3: Vec3) { - x = vec3.x - y = vec3.y - z = vec3.z - } - - infix fun Vec3d.assign(vec3d: Vec3d) { - x = vec3d.x - y = vec3d.y - z = vec3d.z + infix fun Vec3t.assign(other: Vec3t) { + x = other.x + y = other.y + z = other.z } @JvmName(name = "times2") @@ -391,29 +386,13 @@ object VecUtil { return minDistanceDirection } - val Vec3i.toVec3: Vec3 + val Vec3t.toVec3: Vec3 get() = Vec3(this) - val Vec3i.toVec3d: Vec3d + val Vec3t.toVec3d: Vec3d get() = Vec3d(this) - operator fun Vec3.get(axis: Axes): Float { - return when (axis) { - Axes.X -> this.x - Axes.Y -> this.y - Axes.Z -> this.z - } - } - - operator fun Vec3d.get(axis: Axes): Double { - return when (axis) { - Axes.X -> this.x - Axes.Y -> this.y - Axes.Z -> this.z - } - } - - operator fun Vec3i.get(axis: Axes): Int { + operator fun Vec3t.get(axis: Axes): T { return when (axis) { Axes.X -> this.x Axes.Y -> this.y