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 + "}";
}
}