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