Ellipsoid class

Пакет: com.hypixel.hytale.math.shape

Файл: com/hypixel/hytale/math/shape/Ellipsoid.java

implements: Shape

Поля (5)

МодификаторыТипИмя
public double radiusX
double var11
Box var7
double var7
double var9

Методы (1)

МодификаторыВозвратСигнатура
abstract this this(var1, var1, var1)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.math.shape;

class="kw">import com.hypixel.hytale.function.predicate.TriIntObjPredicate;
class="kw">import com.hypixel.hytale.function.predicate.TriIntPredicate;
class="kw">import com.hypixel.hytale.math.block.BlockSphereUtil;
class="kw">import com.hypixel.hytale.math.util.MathUtil;
class="kw">import javax.annotation.Nonnull;

class="kw">public class Ellipsoid class="kw">implements Shape {
   class="kw">public double radiusX;
   class="kw">public double radiusY;
   class="kw">public double radiusZ;

   class="kw">public Ellipsoid() {
   }

   class="kw">public Ellipsoid(double var1) {
      this(var1, var1, var1);
   }

   class="kw">public Ellipsoid(double var1, double var3, double var5) {
      this.radiusX = var1;
      this.radiusY = var3;
      this.radiusZ = var5;
   }

   @Nonnull
   class="kw">public Ellipsoid assign(double var1) {
      this.radiusX = var1;
      this.radiusY = var1;
      this.radiusZ = var1;
      class="kw">return this;
   }

   @Nonnull
   @Override
   class="kw">public Box getBox(double var1, double var3, double var5) {
      Box var7 = new Box();
      var7.min.set(var1 - this.radiusX, var3 - this.radiusY, var5 - this.radiusZ);
      var7.max.set(var1 + this.radiusX, var3 + this.radiusY, var5 + this.radiusZ);
      class="kw">return var7;
   }

   @Override
   class="kw">public boolean containsPosition(double var1, double var3, double var5) {
      double var7 = var1 / this.radiusX;
      double var9 = var3 / this.radiusY;
      double var11 = var5 / this.radiusZ;
      class="kw">return var7 * var7 + var9 * var9 + var11 * var11 <= 1.0;
   }

   @Override
   class="kw">public void expand(double var1) {
      this.radiusX += var1;
      this.radiusY += var1;
      this.radiusZ += var1;
   }

   @Override
   class="kw">public boolean forEachBlock(double var1, double var3, double var5, double var7, @Nonnull TriIntPredicate var9) {
      class="kw">return BlockSphereUtil.forEachBlock(
         MathUtil.floor(var1),
         MathUtil.floor(var3),
         MathUtil.floor(var5),
         MathUtil.floor(this.radiusX + var7),
         MathUtil.floor(this.radiusY + var7),
         MathUtil.floor(this.radiusZ + var7),
         null,
         (var1x, var2, var3x, var4) -> var9.test(var1x, var2, var3x)
      );
   }

   @Override
   class="kw">public <T> boolean forEachBlock(double var1, double var3, double var5, double var7, T var9, @Nonnull TriIntObjPredicate<T> var10) {
      class="kw">return BlockSphereUtil.forEachBlock(
         MathUtil.floor(var1),
         MathUtil.floor(var3),
         MathUtil.floor(var5),
         MathUtil.floor(this.radiusX + var7),
         MathUtil.floor(this.radiusY + var7),
         MathUtil.floor(this.radiusZ + var7),
         var9,
         var10
      );
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "Ellipsoid{radiusX=" + this.radiusX + ", radiusY=" + this.radiusY + ", radiusZ=" + this.radiusZ + "}";
   }
}