Distance2Mode enum

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

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

Поля (1)

МодификаторыТипИмя
private final DistanceNoise.Distance2Function function

Методы (19)

МодификаторыВозвратСигнатура
ADD ADD(new DistanceNoise.Distance2Function()
DIV DIV(new DistanceNoise.Distance2Function()
MAX MAX(new DistanceNoise.Distance2Function()
MIN MIN(new DistanceNoise.Distance2Function()
MUL MUL(new DistanceNoise.Distance2Function()
SUB SUB(new DistanceNoise.Distance2Function()
public double evalpublic double eval(double var1, double var3)
public double evalpublic double eval(double var1, double var3)
public double evalpublic double eval(double var1, double var3)
public double evalpublic double eval(double var1, double var3)
public double evalpublic double eval(double var1, double var3)
public double evalpublic double eval(double var1, double var3)
public DistanceNoise.Distance2Function getFunctionpublic DistanceNoise.Distance2Function getFunction()
public String toStringpublic String toString()
public String toStringpublic String toString()
public String toStringpublic String toString()
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 com.hypixel.hytale.procedurallib.NoiseFunction;
class="kw">import com.hypixel.hytale.procedurallib.logic.cell.CellDistanceFunction;
class="kw">import com.hypixel.hytale.procedurallib.logic.cell.evaluator.PointEvaluator;
class="kw">import javax.annotation.Nonnull;

class="kw">public class="kw">abstract class DistanceNoise class="kw">implements NoiseFunction {
   class="kw">protected class="kw">final CellDistanceFunction cellDistanceFunction;
   class="kw">protected class="kw">final PointEvaluator pointEvaluator;
   class="kw">protected class="kw">final DistanceNoise.Distance2Function distance2Function;

   class="kw">public DistanceNoise(CellDistanceFunction var1, PointEvaluator var2, DistanceNoise.Distance2Function var3) {
      this.cellDistanceFunction = var1;
      this.pointEvaluator = var2;
      this.distance2Function = var3;
   }

   class="kw">public CellDistanceFunction getCellDistanceFunction() {
      class="kw">return this.cellDistanceFunction;
   }

   class="kw">public DistanceNoise.Distance2Function getDistance2Function() {
      class="kw">return this.distance2Function;
   }

   @Override
   class="kw">public double get(int var1, int var2, double var3, double var5) {
      var3 = this.cellDistanceFunction.scale(var3);
      var5 = this.cellDistanceFunction.scale(var5);
      int var7 = this.cellDistanceFunction.getCellX(var3, var5);
      int var8 = this.cellDistanceFunction.getCellY(var3, var5);
      ResultBuffer.ResultBuffer2d var9 = this.localBuffer2d();
      var9.distance = Double.POSITIVE_INFINITY;
      var9.distance2 = Double.POSITIVE_INFINITY;
      this.cellDistanceFunction.transition2D(var2, var3, var5, var7, var8, var9, this.pointEvaluator);
      var9.distance = Math.sqrt(var9.distance);
      var9.distance2 = Math.sqrt(var9.distance2);
      class="kw">return GeneralNoise.limit(this.distance2Function.eval(var9.distance, var9.distance2)) * 2.0 - 1.0;
   }

   @Override
   class="kw">public double get(int var1, int var2, double var3, double var5, double var7) {
      var3 = this.cellDistanceFunction.scale(var3);
      var5 = this.cellDistanceFunction.scale(var5);
      var7 = this.cellDistanceFunction.scale(var7);
      int var9 = this.cellDistanceFunction.getCellX(var3, var5, var7);
      int var10 = this.cellDistanceFunction.getCellY(var3, var5, var7);
      int var11 = this.cellDistanceFunction.getCellZ(var3, var5, var7);
      ResultBuffer.ResultBuffer3d var12 = this.localBuffer3d();
      var12.distance = Double.POSITIVE_INFINITY;
      var12.distance2 = Double.POSITIVE_INFINITY;
      this.cellDistanceFunction.transition3D(var2, var3, var5, var7, var9, var10, var11, var12, this.pointEvaluator);
      var12.distance = Math.sqrt(var12.distance);
      var12.distance2 = Math.sqrt(var12.distance2);
      class="kw">return GeneralNoise.limit(this.distance2Function.eval(var12.distance, var12.distance2)) * 2.0 - 1.0;
   }

   class="kw">protected class="kw">abstract ResultBuffer.ResultBuffer2d localBuffer2d();

   class="kw">protected class="kw">abstract ResultBuffer.ResultBuffer3d localBuffer3d();

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "DistanceNoise{cellDistanceFunction="
         + this.cellDistanceFunction
         + ", pointEvaluator="
         + this.pointEvaluator
         + ", distance2Function="
         + this.distance2Function
         + "}";
   }

   @FunctionalInterface
   class="kw">public class="kw">interface Distance2Function {
      double eval(double var1, double var3);
   }

   class="kw">public enum Distance2Mode {
      ADD(new DistanceNoise.Distance2Function() {
         @Override
         class="kw">public double eval(double var1, double var3) {
            class="kw">return var1 + var3;
         }

         @Nonnull
         @Override
         class="kw">public String toString() {
            class="kw">return "AddDistance2Function{}";
         }
      }),
      SUB(new DistanceNoise.Distance2Function() {
         @Override
         class="kw">public double eval(double var1, double var3) {
            class="kw">return var3 - var1;
         }

         @Nonnull
         @Override
         class="kw">public String toString() {
            class="kw">return "SubDistance2Function{}";
         }
      }),
      MUL(new DistanceNoise.Distance2Function() {
         @Override
         class="kw">public double eval(double var1, double var3) {
            class="kw">return var1 * var3;
         }

         @Nonnull
         @Override
         class="kw">public String toString() {
            class="kw">return "MulDistance2Function{}";
         }
      }),
      DIV(new DistanceNoise.Distance2Function() {
         @Override
         class="kw">public double eval(double var1, double var3) {
            class="kw">return var1 / var3;
         }

         @Nonnull
         @Override
         class="kw">public String toString() {
            class="kw">return "DivDistance2Function{}";
         }
      }),
      MIN(new DistanceNoise.Distance2Function() {
         @Override
         class="kw">public double eval(double var1, double var3) {
            class="kw">return var1;
         }

         @Nonnull
         @Override
         class="kw">public String toString() {
            class="kw">return "MinDistance2Function{}";
         }
      }),
      MAX(new DistanceNoise.Distance2Function() {
         @Override
         class="kw">public double eval(double var1, double var3) {
            class="kw">return var3;
         }

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

      class="kw">private class="kw">final DistanceNoise.Distance2Function function;

      Distance2Mode(DistanceNoise.Distance2Function nullxx) {
         this.function = nullxx;
      }

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