summaryrefslogtreecommitdiff
path: root/src/main/kotlin/io/dico/parcels2/util/math/Region.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/kotlin/io/dico/parcels2/util/math/Region.kt')
-rw-r--r--src/main/kotlin/io/dico/parcels2/util/math/Region.kt72
1 files changed, 36 insertions, 36 deletions
diff --git a/src/main/kotlin/io/dico/parcels2/util/math/Region.kt b/src/main/kotlin/io/dico/parcels2/util/math/Region.kt
index cdbd497..cdcbe0e 100644
--- a/src/main/kotlin/io/dico/parcels2/util/math/Region.kt
+++ b/src/main/kotlin/io/dico/parcels2/util/math/Region.kt
@@ -1,37 +1,37 @@
-package io.dico.parcels2.util.math
-
-data class Region(val origin: Vec3i, val size: Vec3i) {
- val blockCount: Int get() = size.x * size.y * size.z
-
- val center: Vec3d
- get() {
- val x = (origin.x + size.x) / 2.0
- val y = (origin.y + size.y) / 2.0
- val z = (origin.z + size.z) / 2.0
- return Vec3d(x, y, z)
- }
-
- val end: Vec3i
- get() = origin + size
-
- val max: Vec3i
- get() = Vec3i(origin.x + size.x - 1, origin.y + size.y - 1, origin.z + size.z - 1)
-
- fun withSize(size: Vec3i): Region {
- if (size == this.size) return this
- return Region(origin, size)
- }
-
- operator fun contains(loc: Vec3i): Boolean = getFirstUncontainedDimensionOf(loc) == null
-
- fun getFirstUncontainedDimensionOf(loc: Vec3i): Dimension? {
- val max = max
- return when {
- loc.x !in origin.x..max.x -> Dimension.X
- loc.z !in origin.z..max.z -> Dimension.Z
- loc.y !in origin.y..max.y -> Dimension.Y
- else -> null
- }
- }
-
+package io.dico.parcels2.util.math
+
+data class Region(val origin: Vec3i, val size: Vec3i) {
+ val blockCount: Int get() = size.x * size.y * size.z
+
+ val center: Vec3d
+ get() {
+ val x = (origin.x + size.x) / 2.0
+ val y = (origin.y + size.y) / 2.0
+ val z = (origin.z + size.z) / 2.0
+ return Vec3d(x, y, z)
+ }
+
+ val end: Vec3i
+ get() = origin + size
+
+ val max: Vec3i
+ get() = Vec3i(origin.x + size.x - 1, origin.y + size.y - 1, origin.z + size.z - 1)
+
+ fun withSize(size: Vec3i): Region {
+ if (size == this.size) return this
+ return Region(origin, size)
+ }
+
+ operator fun contains(loc: Vec3i): Boolean = getFirstUncontainedDimensionOf(loc) == null
+
+ fun getFirstUncontainedDimensionOf(loc: Vec3i): Dimension? {
+ val max = max
+ return when {
+ loc.x !in origin.x..max.x -> Dimension.X
+ loc.z !in origin.z..max.z -> Dimension.Z
+ loc.y !in origin.y..max.y -> Dimension.Y
+ else -> null
+ }
+ }
+
} \ No newline at end of file