InterpolationMode enum

Пакет: com.hypixel.hytale.procedurallib.logic

Файл: com/hypixel/hytale/procedurallib/logic/GeneralNoise.java

Поля (1)

МодификаторыТипИмя
public final GeneralNoise.InterpolationFunction function

Методы (10)

МодификаторыВозвратСигнатура
HERMITE HERMITE(new GeneralNoise.InterpolationFunction()
LINEAR LINEAR(new GeneralNoise.InterpolationFunction()
QUINTIC QUINTIC(new GeneralNoise.InterpolationFunction()
public GeneralNoise.InterpolationFunction getFunctionpublic GeneralNoise.InterpolationFunction getFunction()
public double interpolatepublic double interpolate(double var1)
public double interpolatepublic double interpolate(double var1)
public double interpolatepublic double interpolate(double var1)
public String toStringpublic String toString()
public String toStringpublic String toString()
public String toStringpublic String toString()

Исходный код

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

class="kw">import javax.annotation.Nonnull;

class="kw">public class="kw">final class GeneralNoise {
   class="kw">public class="kw">static class="kw">final int X_PRIME = 1619;
   class="kw">public class="kw">static class="kw">final int Y_PRIME = 31337;
   class="kw">public class="kw">static class="kw">final int Z_PRIME = 6971;
   class="kw">private class="kw">static class="kw">final DoubleArray.Double2[] GRAD_2D = new DoubleArray.Double2[]{
      new DoubleArray.Double2(-1.0, -1.0),
      new DoubleArray.Double2(1.0, -1.0),
      new DoubleArray.Double2(-1.0, 1.0),
      new DoubleArray.Double2(1.0, 1.0),
      new DoubleArray.Double2(0.0, -1.0),
      new DoubleArray.Double2(-1.0, 0.0),
      new DoubleArray.Double2(0.0, 1.0),
      new DoubleArray.Double2(1.0, 0.0)
   };
   class="kw">private class="kw">static class="kw">final DoubleArray.Double3[] GRAD_3D = new DoubleArray.Double3[]{
      new DoubleArray.Double3(1.0, 1.0, 0.0),
      new DoubleArray.Double3(-1.0, 1.0, 0.0),
      new DoubleArray.Double3(1.0, -1.0, 0.0),
      new DoubleArray.Double3(-1.0, -1.0, 0.0),
      new DoubleArray.Double3(1.0, 0.0, 1.0),
      new DoubleArray.Double3(-1.0, 0.0, 1.0),
      new DoubleArray.Double3(1.0, 0.0, -1.0),
      new DoubleArray.Double3(-1.0, 0.0, -1.0),
      new DoubleArray.Double3(0.0, 1.0, 1.0),
      new DoubleArray.Double3(0.0, -1.0, 1.0),
      new DoubleArray.Double3(0.0, 1.0, -1.0),
      new DoubleArray.Double3(0.0, -1.0, -1.0),
      new DoubleArray.Double3(1.0, 1.0, 0.0),
      new DoubleArray.Double3(0.0, -1.0, 1.0),
      new DoubleArray.Double3(-1.0, 1.0, 0.0),
      new DoubleArray.Double3(0.0, -1.0, -1.0)
   };

   class="kw">private GeneralNoise() {
      throw new UnsupportedOperationException();
   }

   class="kw">public class="kw">static int fastFloor(double var0) {
      class="kw">return var0 >= 0.0 ? (int)var0 : (int)var0 - 1;
   }

   class="kw">public class="kw">static int fastCeil(double var0) {
      class="kw">return var0 >= 0.0 ? (int)var0 + 1 : (int)var0;
   }

   class="kw">public class="kw">static double lerp(double var0, double var2, double var4) {
      class="kw">return var0 + var4 * (var2 - var0);
   }

   class="kw">public class="kw">static int hash2D(int var0, int var1, int var2) {
      int var3 = var0;
      var3 ^= 1619 * var1;
      var3 ^= 31337 * var2;
      var3 = var3 * var3 * var3 * 60493;
      class="kw">return var3 >> 13 ^ var3;
   }

   class="kw">public class="kw">static int hash3D(int var0, int var1, int var2, int var3) {
      int var4 = var0;
      var4 ^= 1619 * var1;
      var4 ^= 31337 * var2;
      var4 ^= 6971 * var3;
      var4 = var4 * var4 * var4 * 60493;
      class="kw">return var4 >> 13 ^ var4;
   }

   class="kw">public class="kw">static double gradCoord2D(int var0, int var1, int var2, double var3, double var5) {
      int var7 = hash2D(var0, var1, var2);
      DoubleArray.Double2 var8 = GRAD_2D[var7 & 7];
      class="kw">return var3 * var8.x + var5 * var8.y;
   }

   class="kw">public class="kw">static double gradCoord3D(int var0, int var1, int var2, int var3, double var4, double var6, double var8) {
      int var10 = hash3D(var0, var1, var2, var3);
      DoubleArray.Double3 var11 = GRAD_3D[var10 & 15];
      class="kw">return var4 * var11.x + var6 * var11.y + var8 * var11.z;
   }

   class="kw">public class="kw">static double limit(double var0) {
      if (var0 < 0.0) {
         class="kw">return 0.0;
      } else {
         class="kw">return var0 > 1.0 ? 1.0 : var0;
      }
   }

   @FunctionalInterface
   class="kw">public class="kw">interface InterpolationFunction {
      double interpolate(double var1);
   }

   class="kw">public enum InterpolationMode {
      LINEAR(new GeneralNoise.InterpolationFunction() {
         @Override
         class="kw">public double interpolate(double var1) {
            class="kw">return var1;
         }

         @Nonnull
         @Override
         class="kw">public String toString() {
            class="kw">return "LinearInterpolationFunction{}";
         }
      }),
      HERMITE(new GeneralNoise.InterpolationFunction() {
         @Override
         class="kw">public double interpolate(double var1) {
            class="kw">return var1 * var1 * (3.0 - 2.0 * var1);
         }

         @Nonnull
         @Override
         class="kw">public String toString() {
            class="kw">return "HermiteInterpolationFunction{}";
         }
      }),
      QUINTIC(new GeneralNoise.InterpolationFunction() {
         @Override
         class="kw">public double interpolate(double var1) {
            class="kw">return var1 * var1 * var1 * (var1 * (var1 * 6.0 - 15.0) + 10.0);
         }

         @Nonnull
         @Override
         class="kw">public String toString() {
            class="kw">return "QuinticInterpolationFunction{}";
         }
      });

      class="kw">public class="kw">final GeneralNoise.InterpolationFunction function;

      InterpolationMode(GeneralNoise.InterpolationFunction nullxx) {
         this.function = nullxx;
      }

      class="kw">public GeneralNoise.InterpolationFunction getFunction() {
         class="kw">return this.function;
      }
   }
}