From b0d4a1d0fee23e4905e6dec5f6d11913452ff5ae Mon Sep 17 00:00:00 2001 From: DBotThePony Date: Sat, 30 Mar 2024 12:08:41 +0700 Subject: [PATCH] Fix AABB type adapters --- gradle.properties | 2 +- .../ru/dbotthepony/kommons/gson/AABBTypeAdapter.kt | 14 ++++++++------ .../dbotthepony/kommons/gson/AABBiTypeAdapter.kt | 14 ++++++++------ 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/gradle.properties b/gradle.properties index 35b080c..9ec7ced 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,7 +4,7 @@ kotlin.code.style=official specifyKotlinAsDependency=false projectGroup=ru.dbotthepony.kommons -projectVersion=2.11.0 +projectVersion=2.11.1 guavaDepVersion=33.0.0 gsonDepVersion=2.8.9 diff --git a/gson-linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/gson/AABBTypeAdapter.kt b/gson-linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/gson/AABBTypeAdapter.kt index 2df8dcf..8b761d9 100644 --- a/gson-linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/gson/AABBTypeAdapter.kt +++ b/gson-linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/gson/AABBTypeAdapter.kt @@ -18,15 +18,17 @@ object AABBTypeAdapter : TypeAdapter() { override fun read(`in`: JsonReader): AABB { `in`.beginArray() - val (x1, x2) = Vector2d(`in`.nextDouble(), `in`.nextDouble()) - val (y1, y2) = Vector2d(`in`.nextDouble(), `in`.nextDouble()) + val minX = `in`.nextDouble() + val minY = `in`.nextDouble() + val maxX = `in`.nextDouble() + val maxY = `in`.nextDouble() `in`.endArray() - val xMins = x1.coerceAtMost(x2) - val xMaxs = x1.coerceAtLeast(x2) + val xMins = minX.coerceAtMost(maxX) + val xMaxs = maxX.coerceAtLeast(minX) - val yMins = y1.coerceAtMost(y2) - val yMaxs = y1.coerceAtLeast(y2) + val yMins = minY.coerceAtMost(maxY) + val yMaxs = maxX.coerceAtLeast(minY) return AABB( Vector2d(xMins, yMins), diff --git a/gson-linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/gson/AABBiTypeAdapter.kt b/gson-linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/gson/AABBiTypeAdapter.kt index 2ba3fe9..6f92199 100644 --- a/gson-linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/gson/AABBiTypeAdapter.kt +++ b/gson-linear-algebra/src/main/kotlin/ru/dbotthepony/kommons/gson/AABBiTypeAdapter.kt @@ -18,15 +18,17 @@ object AABBiTypeAdapter : TypeAdapter() { override fun read(`in`: JsonReader): AABBi { `in`.beginArray() - val (x1, x2) = Vector2i(`in`.nextInt(), `in`.nextInt()) - val (y1, y2) = Vector2i(`in`.nextInt(), `in`.nextInt()) + val minX = `in`.nextInt() + val minY = `in`.nextInt() + val maxX = `in`.nextInt() + val maxY = `in`.nextInt() `in`.endArray() - val xMins = x1.coerceAtMost(x2) - val xMaxs = x1.coerceAtLeast(x2) + val xMins = minX.coerceAtMost(maxX) + val xMaxs = maxX.coerceAtLeast(minX) - val yMins = y1.coerceAtMost(y2) - val yMaxs = y1.coerceAtLeast(y2) + val yMins = minY.coerceAtMost(maxY) + val yMaxs = maxX.coerceAtLeast(minY) return AABBi( Vector2i(xMins, yMins),