NormalPointEvaluator class

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

Файл: com/hypixel/hytale/procedurallib/logic/cell/evaluator/NormalPointEvaluator.java

implements: PointEvaluator

Поля (6)

МодификаторыТипИмя
final PointEvaluator EUCLIDEAN
DistanceCalculationMode var1
double var14
double var14
double var19
double var19

Методы (3)

МодификаторыВозвратСигнатура
if if(var1 == null)
static PointEvaluator ofPointEvaluator of(PointDistanceFunction var0)
return switchreturn switch(var1)

Исходный код

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

class="kw">import com.hypixel.hytale.procedurallib.logic.ResultBuffer;
class="kw">import com.hypixel.hytale.procedurallib.logic.cell.DistanceCalculationMode;
class="kw">import com.hypixel.hytale.procedurallib.logic.cell.PointDistanceFunction;
class="kw">import javax.annotation.Nonnull;

class="kw">public class NormalPointEvaluator class="kw">implements PointEvaluator {
   class="kw">public class="kw">static class="kw">final PointEvaluator EUCLIDEAN = new NormalPointEvaluator(DistanceCalculationMode.EUCLIDEAN.getFunction());
   class="kw">public class="kw">static class="kw">final PointEvaluator MANHATTAN = new NormalPointEvaluator(DistanceCalculationMode.MANHATTAN.getFunction());
   class="kw">public class="kw">static class="kw">final PointEvaluator NATURAL = new NormalPointEvaluator(DistanceCalculationMode.NATURAL.getFunction());
   class="kw">public class="kw">static class="kw">final PointEvaluator MAX = new NormalPointEvaluator(DistanceCalculationMode.MAX.getFunction());
   class="kw">protected class="kw">final PointDistanceFunction distanceFunction;

   class="kw">public NormalPointEvaluator(PointDistanceFunction var1) {
      this.distanceFunction = var1;
   }

   @Override
   class="kw">public void evalPoint(
      int var1, double var2, double var4, int var6, int var7, int var8, double var9, double var11, @Nonnull ResultBuffer.ResultBuffer2d var13
   ) {
      double var14 = this.distanceFunction.distance2D(var1, var7, var8, var9, var11, var9 - var2, var11 - var4);
      var13.register(var6, var7, var8, var14, var9, var11);
   }

   @Override
   class="kw">public void evalPoint2(
      int var1, double var2, double var4, int var6, int var7, int var8, double var9, double var11, @Nonnull ResultBuffer.ResultBuffer2d var13
   ) {
      double var14 = this.distanceFunction.distance2D(var1, var7, var8, var9, var11, var9 - var2, var11 - var4);
      var13.register2(var6, var7, var8, var14, var9, var11);
   }

   @Override
   class="kw">public void evalPoint(
      int var1,
      double var2,
      double var4,
      double var6,
      int var8,
      int var9,
      int var10,
      int var11,
      double var12,
      double var14,
      double var16,
      @Nonnull ResultBuffer.ResultBuffer3d var18
   ) {
      double var19 = this.distanceFunction.distance3D(var1, var9, var10, var11, var12, var14, var16, var12 - var2, var14 - var4, var16 - var6);
      var18.register(var8, var9, var10, var11, var19, var12, var14, var16);
   }

   @Override
   class="kw">public void evalPoint2(
      int var1,
      double var2,
      double var4,
      double var6,
      int var8,
      int var9,
      int var10,
      int var11,
      double var12,
      double var14,
      double var16,
      @Nonnull ResultBuffer.ResultBuffer3d var18
   ) {
      double var19 = this.distanceFunction.distance3D(var1, var9, var10, var11, var12, var14, var16, var12 - var2, var14 - var4, var16 - var6);
      var18.register2(var8, var9, var10, var11, var19, var12, var14, var16);
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "NormalPointEvaluator{distanceFunction=" + this.distanceFunction + "}";
   }

   class="kw">public class="kw">static PointEvaluator of(PointDistanceFunction var0) {
      DistanceCalculationMode var1 = DistanceCalculationMode.from(var0);
      if (var1 == null) {
         class="kw">return new NormalPointEvaluator(var0);
      }

      class="kw">return class="kw">switch (var1) {
         case EUCLIDEAN -> EUCLIDEAN;
         case MANHATTAN -> MANHATTAN;
         case NATURAL -> NATURAL;
         case MAX -> MAX;
      };
   }
}