FloatContainer3d class
Пакет: com.hypixel.hytale.builtin.hytalegenerator.engine.containers
Файл: com/hypixel/hytale/builtin/hytalegenerator/engine/containers/FloatContainer3d.java
Поля (3)
| Модификаторы | Тип | Имя |
|---|---|---|
|
int |
var2 |
|
Vector3i |
var2 |
|
int |
var3 |
Методы (3)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
float |
getfloat get(@Nonnull Vector3i var1) |
public |
void |
moveMinTovoid moveMinTo(@Nonnull Vector3i var1) |
public |
void |
setvoid set(@Nonnull Vector3i var1, float var2) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.hytalegenerator.engine.containers;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.GridUtils;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.bounds.Bounds3i;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3i;
class="kw">public class FloatContainer3d {
@Nonnull
class="kw">private class="kw">final Bounds3i bounds_voxelGrid;
@Nonnull
class="kw">private class="kw">final Vector3i size_voxelGrid;
@Nonnull
class="kw">private class="kw">final float[] data;
class="kw">private class="kw">final float outOfBoundsValue;
class="kw">public FloatContainer3d(@Nonnull Bounds3i var1, float var2) {
this.bounds_voxelGrid = var1.clone();
this.size_voxelGrid = var1.getSize();
this.data = new float[this.size_voxelGrid.x * this.size_voxelGrid.y * this.size_voxelGrid.z];
this.outOfBoundsValue = var2;
}
class="kw">public float get(@Nonnull Vector3i var1) {
if (!this.bounds_voxelGrid.contains(var1)) {
class="kw">return this.outOfBoundsValue;
}
int var2 = GridUtils.toIndexFromPositionYXZ(var1, this.bounds_voxelGrid);
class="kw">return this.data[var2];
}
@Nonnull
class="kw">public Bounds3i getBounds_voxelGrid() {
class="kw">return this.bounds_voxelGrid;
}
class="kw">public void set(@Nonnull Vector3i var1, float var2) {
assert this.bounds_voxelGrid.contains(var1);
int var3 = GridUtils.toIndexFromPositionYXZ(var1, this.bounds_voxelGrid);
this.data[var3] = var2;
}
class="kw">public void moveMinTo(@Nonnull Vector3i var1) {
Vector3i var2 = new Vector3i(this.bounds_voxelGrid.min).negate();
this.bounds_voxelGrid.offset(var2);
this.bounds_voxelGrid.offset(var1);
}
}