mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-15 18:34:56 -04:00
more memory patches
This commit is contained in:
parent
85f8be3331
commit
8035ca315d
@ -24,7 +24,7 @@ data class VoxelSide(
|
||||
private val hashCode = Objects.hashCode(min.hashCode(), max.hashCode())
|
||||
|
||||
constructor(minX: Float, minZ: Float, maxX: Float, maxZ: Float) : this(Vec2(minOf(minX, maxX), minOf(minZ, maxZ)), Vec2(maxOf(minX, maxX), maxOf(minZ, maxZ)))
|
||||
constructor(minX: Double, minZ: Double, maxX: Double, maxZ: Double) : this(Vec2(minOf(minX, maxX), minOf(minZ, maxZ)), Vec2(maxOf(minX, maxX), maxOf(minZ, maxZ)))
|
||||
constructor(minX: Double, minZ: Double, maxX: Double, maxZ: Double) : this(Vec2(minOf(minX, maxX).toFloat(), minOf(minZ, maxZ).toFloat()), Vec2(maxOf(minX, maxX).toFloat(), maxOf(minZ, maxZ).toFloat()))
|
||||
|
||||
|
||||
fun touches(set: VoxelSideSet): Boolean {
|
||||
@ -96,7 +96,10 @@ data class VoxelSide(
|
||||
}
|
||||
|
||||
if (changes == 0) {
|
||||
return VoxelSideSet(setOf(this, side))
|
||||
val set: MutableSet<VoxelSide> = ObjectOpenHashSet(2)
|
||||
set += this
|
||||
set += side
|
||||
return VoxelSideSet(set)
|
||||
}
|
||||
|
||||
return VoxelSideSet(setOf(VoxelSide(minX, minY, maxX, maxY)))
|
||||
|
@ -15,13 +15,14 @@ package de.bixilon.minosoft.data.registries.shapes.voxel
|
||||
|
||||
import de.bixilon.kotlinglm.vec3.Vec3d
|
||||
import de.bixilon.minosoft.data.registries.shapes.aabb.AABB
|
||||
import it.unimi.dsi.fastutil.objects.ObjectOpenHashSet
|
||||
|
||||
class VoxelShape(
|
||||
val aabb: Set<AABB>,
|
||||
) : AbstractVoxelShape() {
|
||||
override val aabbs: Int = aabb.size
|
||||
|
||||
constructor(vararg aabbs: AABB) : this(aabbs.toSet())
|
||||
constructor(vararg aabbs: AABB) : this(ObjectOpenHashSet(aabbs))
|
||||
|
||||
constructor(min: Vec3d, max: Vec3d) : this(setOf(AABB(min, max)))
|
||||
constructor(minX: Double, minY: Double, minZ: Double, maxX: Double, maxY: Double, maxZ: Double) : this(Vec3d(minX, minY, minZ), Vec3d(maxX, maxY, maxZ))
|
||||
|
Loading…
x
Reference in New Issue
Block a user