summaryrefslogtreecommitdiff
path: root/src/main/kotlin/io/dico/parcels2/util/Region.kt
blob: 1801b4eb0a417b7e4a409615a715b881ca661f63 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package io.dico.parcels2.util

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)
        }

    fun withSize(size: Vec3i): Region {
        if (size == this.size) return this
        return Region(origin, size)
    }
}