Vector3dUtil class
Пакет: com.hypixel.hytale.math.vector
Файл: com/hypixel/hytale/math/vector/Vector3dUtil.java
Поля (8)
| Модификаторы | Тип | Имя |
|---|---|---|
|
double |
var10 |
|
double |
var12 |
|
float |
var5 |
|
float |
var6 |
|
double |
var6 |
|
float |
var7 |
|
float |
var8 |
|
double |
var8 |
Методы (5)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
static |
Vector3d |
clipToZeroVector3d clipToZero(Vector3d var0, double var1) |
static |
boolean |
closeToZeroboolean closeToZero(@Nonnull Vector3d var0, double var1) |
static |
void |
sanitizeNonFinitevoid sanitizeNonFinite(@Nonnull Vector3d var0) |
static |
Vector3d |
setYawPitchVector3d setYawPitch(double var0, double var2, @Nonnull Vector3d var4) |
static |
Vector3i |
toVector3iVector3i toVector3i(@Nonnull Vector3d var0) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.math.vector;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.codec.schema.metadata.ui.UIDisplayMode;
class="kw">import com.hypixel.hytale.codec.validation.Validators;
class="kw">import com.hypixel.hytale.math.codec.Vector3dArrayCodec;
class="kw">import com.hypixel.hytale.math.util.MathUtil;
class="kw">import com.hypixel.hytale.math.util.TrigMathUtil;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">import org.joml.Vector3d;
class="kw">import org.joml.Vector3dc;
class="kw">import org.joml.Vector3i;
class="kw">public class="kw">final class Vector3dUtil {
@Nonnull
class="kw">public class="kw">static class="kw">final BuilderCodec<Vector3d> CODEC = BuilderCodec.builder(Vector3d.class, Vector3d::new)
.metadata(UIDisplayMode.COMPACT)
.<Double>appendInherited(new KeyedCodec<>("X", Codec.DOUBLE), (var0, var1) -> var0.x = var1, var0 -> var0.x, (var0, var1) -> var0.x = var1.x)
.addValidator(Validators.nonNull())
.add()
.<Double>appendInherited(new KeyedCodec<>("Y", Codec.DOUBLE), (var0, var1) -> var0.y = var1, var0 -> var0.y, (var0, var1) -> var0.y = var1.y)
.addValidator(Validators.nonNull())
.add()
.<Double>appendInherited(new KeyedCodec<>("Z", Codec.DOUBLE), (var0, var1) -> var0.z = var1, var0 -> var0.z, (var0, var1) -> var0.z = var1.z)
.addValidator(Validators.nonNull())
.add()
.build();
@Deprecated
class="kw">public class="kw">static class="kw">final Vector3dArrayCodec AS_ARRAY_CODEC = new Vector3dArrayCodec();
class="kw">public class="kw">static class="kw">final Vector3dc ZERO = new Vector3d(0.0, 0.0, 0.0);
class="kw">public class="kw">static class="kw">final Vector3dc UP = new Vector3d(0.0, 1.0, 0.0);
class="kw">public class="kw">static class="kw">final Vector3dc POS_Y = UP;
class="kw">public class="kw">static class="kw">final Vector3dc DOWN = new Vector3d(0.0, -1.0, 0.0);
class="kw">public class="kw">static class="kw">final Vector3dc NEG_Y = DOWN;
class="kw">public class="kw">static class="kw">final Vector3dc FORWARD = new Vector3d(0.0, 0.0, -1.0);
class="kw">public class="kw">static class="kw">final Vector3dc NEG_Z = FORWARD;
class="kw">public class="kw">static class="kw">final Vector3dc NORTH = FORWARD;
class="kw">public class="kw">static class="kw">final Vector3dc BACKWARD = new Vector3d(0.0, 0.0, 1.0);
class="kw">public class="kw">static class="kw">final Vector3dc POS_Z = BACKWARD;
class="kw">public class="kw">static class="kw">final Vector3dc SOUTH = BACKWARD;
class="kw">public class="kw">static class="kw">final Vector3dc RIGHT = new Vector3d(1.0, 0.0, 0.0);
class="kw">public class="kw">static class="kw">final Vector3dc POS_X = RIGHT;
class="kw">public class="kw">static class="kw">final Vector3dc EAST = RIGHT;
class="kw">public class="kw">static class="kw">final Vector3dc LEFT = new Vector3d(-1.0, 0.0, 0.0);
class="kw">public class="kw">static class="kw">final Vector3dc NEG_X = LEFT;
class="kw">public class="kw">static class="kw">final Vector3dc WEST = LEFT;
class="kw">public class="kw">static class="kw">final Vector3dc ALL_ONES = new Vector3d(1.0, 1.0, 1.0);
class="kw">public class="kw">static class="kw">final Vector3dc MIN = new Vector3d(-Double.MAX_VALUE, -Double.MAX_VALUE, -Double.MAX_VALUE);
class="kw">public class="kw">static class="kw">final Vector3dc MAX = new Vector3d(Double.MAX_VALUE, Double.MAX_VALUE, Double.MAX_VALUE);
class="kw">private Vector3dUtil() {
}
class="kw">public class="kw">static Vector3d setYawPitch(double var0, double var2, @Nonnull Vector3d var4) {
float var5 = TrigMathUtil.cos(var2);
float var6 = var5 * -TrigMathUtil.sin(var0);
float var7 = TrigMathUtil.sin(var2);
float var8 = var5 * -TrigMathUtil.cos(var0);
class="kw">return var4.set(var6, var7, var8);
}
@Nonnull
class="kw">public class="kw">static Vector3d directionTo(@Nonnull Vector3dc var0, @Nonnull Vector3dc var1) {
class="kw">return new Vector3d(var1).sub(var0).normalize();
}
class="kw">public class="kw">static void sanitizeNonFinite(@Nonnull Vector3d var0) {
if (!Double.isFinite(var0.x)) {
var0.x = 0.0;
}
if (!Double.isFinite(var0.y)) {
var0.y = 0.0;
}
if (!Double.isFinite(var0.z)) {
var0.z = 0.0;
}
}
@Nonnull
class="kw">public class="kw">static Vector3d quadraticBezier(@Nonnull Vector3dc var0, @Nonnull Vector3dc var1, @Nonnull Vector3dc var2, double var3, @Nonnull Vector3d var5) {
double var6 = 1.0 - var3;
double var8 = var6 * var6;
double var10 = 2.0 * var6 * var3;
double var12 = var3 * var3;
class="kw">return var5.set(
var8 * var0.x() + var10 * var1.x() + var12 * var2.x(),
var8 * var0.y() + var10 * var1.y() + var12 * var2.y(),
var8 * var0.z() + var10 * var1.z() + var12 * var2.z()
);
}
@Nonnull
class="kw">public class="kw">static String formatShortString(@Nullable Vector3dc var0) {
class="kw">return var0 == null ? "" : var0.x() + "/" + var0.y() + "/" + var0.z();
}
class="kw">public class="kw">static Vector3i toVector3i(@Nonnull Vector3d var0) {
class="kw">return new Vector3i(MathUtil.floor(var0.x), MathUtil.floor(var0.y), MathUtil.floor(var0.z));
}
class="kw">public class="kw">static Vector3d clipToZero(Vector3d var0, double var1) {
var0.x = MathUtil.clipToZero(var0.x, var1);
var0.y = MathUtil.clipToZero(var0.y, var1);
var0.z = MathUtil.clipToZero(var0.z, var1);
class="kw">return var0;
}
class="kw">public class="kw">static boolean closeToZero(@Nonnull Vector3d var0, double var1) {
class="kw">return MathUtil.closeToZero(var0.x, var1) && MathUtil.closeToZero(var0.y, var1) && MathUtil.closeToZero(var0.z, var1);
}
}