DistanceNoise class

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

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

implements: NoiseFunction

Поля (14)

МодификаторыТипИмя
final CellDistanceFunction cellDistanceFunction
private final DistanceNoise.Distance2Function function
int var10
int var11
ResultBuffer.ResultBuffer3d var12
var3
var3
var5
var5
int var7
var7
int var8
ResultBuffer.ResultBuffer2d var9
int var9

Методы (25)

МодификаторыВозвратСигнатура
ADD ADD(new DistanceNoise.Distance2Function()
DIV DIV(new DistanceNoise.Distance2Function()
Distance2Mode Distance2Mode(DistanceNoise.Distance2Function nullxx)
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)
abstract double evaldouble eval(double var1, double var3)
public CellDistanceFunction getCellDistanceFunctionCellDistanceFunction getCellDistanceFunction()
public DistanceNoise.Distance2Function getDistance2FunctionDistanceNoise.Distance2Function getDistance2Function()
public DistanceNoise.Distance2Function getFunctionpublic DistanceNoise.Distance2Function getFunction()
abstract abstract ResultBuffer.ResultBuffer2d localBuffer2dResultBuffer.ResultBuffer2d localBuffer2d()
abstract abstract ResultBuffer.ResultBuffer3d localBuffer3dResultBuffer.ResultBuffer3d localBuffer3d()
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;
      }
   }
}