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