From cea22e65a25154ac7fee603f60013a6469d7d94c Mon Sep 17 00:00:00 2001 From: DBotThePony Date: Sun, 11 Feb 2024 11:04:27 +0700 Subject: [PATCH] More float<>double vector conversions --- gradle.properties | 2 +- .../src/main/kotlin/ru/dbotthepony/kommons/vector/Vector2d.kt | 3 +++ .../src/main/kotlin/ru/dbotthepony/kommons/vector/Vector2f.kt | 1 + .../src/main/kotlin/ru/dbotthepony/kommons/vector/Vector3d.kt | 3 +++ .../src/main/kotlin/ru/dbotthepony/kommons/vector/Vector3f.kt | 1 + .../src/main/kotlin/ru/dbotthepony/kommons/vector/Vector4d.kt | 3 +++ .../src/main/kotlin/ru/dbotthepony/kommons/vector/Vector4f.kt | 1 + 7 files changed, 13 insertions(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index ea97363..f0830cd 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,7 +4,7 @@ kotlin.code.style=official specifyKotlinAsDependency=false projectGroup=ru.dbotthepony.kommons -projectVersion=2.1.5 +projectVersion=2.1.6 guavaDepVersion=33.0.0 gsonDepVersion=2.8.9 diff --git a/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector2d.kt b/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector2d.kt index a77a303..0583273 100644 --- a/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector2d.kt +++ b/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector2d.kt @@ -191,6 +191,9 @@ data class Vector2d( operator fun times(value: Matrix4dStack) = times(value.last()) + fun toDoubleVector() = this + fun toFloatVector() = Vector2f(x.toFloat(), y.toFloat()) + companion object { @JvmField val ZERO = Vector2d() @JvmField val POSITIVE_X = Vector2d(x = 1.0) diff --git a/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector2f.kt b/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector2f.kt index afe580c..09e4fb8 100644 --- a/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector2f.kt +++ b/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector2f.kt @@ -192,6 +192,7 @@ data class Vector2f( operator fun times(value: Matrix4fStack) = times(value.last()) fun toDoubleVector() = Vector2d(x.toDouble(), y.toDouble()) + fun toFloatVector() = this companion object { @JvmField val ZERO = Vector2f() diff --git a/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector3d.kt b/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector3d.kt index 7a5bb9c..2235524 100644 --- a/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector3d.kt +++ b/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector3d.kt @@ -205,6 +205,9 @@ data class Vector3d( operator fun times(value: Matrix4dStack) = times(value.last()) + fun toDoubleVector() = this + fun toFloatVector() = Vector3f(x.toFloat(), y.toFloat(), z.toFloat()) + companion object { @JvmField val ZERO = Vector3d() @JvmField val POSITIVE_X = Vector3d(x = 1.0) diff --git a/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector3f.kt b/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector3f.kt index 0446933..8aabfbe 100644 --- a/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector3f.kt +++ b/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector3f.kt @@ -206,6 +206,7 @@ data class Vector3f( operator fun times(value: Matrix4fStack) = times(value.last()) fun toDoubleVector() = Vector3d(x.toDouble(), y.toDouble(), z.toDouble()) + fun toFloatVector() = this companion object { @JvmField val ZERO = Vector3f() diff --git a/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector4d.kt b/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector4d.kt index 6576d9b..fffead9 100644 --- a/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector4d.kt +++ b/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector4d.kt @@ -226,6 +226,9 @@ data class Vector4d( operator fun times(value: Matrix4dStack) = times(value.last()) + fun toDoubleVector() = this + fun toFloatVector() = Vector4f(x.toFloat(), y.toFloat(), z.toFloat(), w.toFloat()) + companion object { @JvmField val ZERO = Vector4d() @JvmField val POSITIVE_X = Vector4d(x = 1.0) diff --git a/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector4f.kt b/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector4f.kt index e3b8b4a..4808216 100644 --- a/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector4f.kt +++ b/linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/vector/Vector4f.kt @@ -229,6 +229,7 @@ data class Vector4f( operator fun times(value: Matrix4fStack) = times(value.last()) fun toDoubleVector() = Vector4d(x.toDouble(), y.toDouble(), z.toDouble(), w.toDouble()) + fun toFloatVector() = this companion object { @JvmField val ZERO = Vector4f()