BorderDistanceFunction class

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

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

implements: CellDistanceFunction

Поля (5)

МодификаторыТипИмя
final CellDistanceFunction distanceFunction
int var10
int var11
var6
var7

Методы (3)

МодификаторыВозвратСигнатура
abstract throw new UnsupportedOperationExceptionthrow new UnsupportedOperationException()
for for(int var12 = var7 - var11; var12 <= var7 + var11; var12++)
for for(int var13 = var6 - var10; var13 <= var6 + var10; var13++)

Исходный код

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

class="kw">import com.hypixel.hytale.procedurallib.condition.IDoubleCondition;
class="kw">import com.hypixel.hytale.procedurallib.condition.IIntCondition;
class="kw">import com.hypixel.hytale.procedurallib.logic.ResultBuffer;
class="kw">import com.hypixel.hytale.procedurallib.logic.cell.evaluator.DensityPointEvaluator;
class="kw">import com.hypixel.hytale.procedurallib.logic.cell.evaluator.JitterPointEvaluator;
class="kw">import com.hypixel.hytale.procedurallib.logic.cell.evaluator.NormalPointEvaluator;
class="kw">import com.hypixel.hytale.procedurallib.logic.cell.evaluator.PointEvaluator;
class="kw">import com.hypixel.hytale.procedurallib.logic.point.PointConsumer;
class="kw">import javax.annotation.Nonnull;

class="kw">public class BorderDistanceFunction class="kw">implements CellDistanceFunction {
   class="kw">protected class="kw">final CellDistanceFunction distanceFunction;
   @Nonnull
   class="kw">protected class="kw">final PointEvaluator cellEvaluator;
   @Nonnull
   class="kw">protected class="kw">final PointEvaluator borderEvaluator;
   @Nonnull
   class="kw">protected class="kw">final IIntCondition density;

   class="kw">public BorderDistanceFunction(CellDistanceFunction var1, @Nonnull PointEvaluator var2, IDoubleCondition var3) {
      this.distanceFunction = var1;
      this.borderEvaluator = var2;
      this.cellEvaluator = new JitterPointEvaluator(NormalPointEvaluator.EUCLIDEAN, var2.getJitter());
      this.density = DensityPointEvaluator.getDensityCondition(var3);
   }

   @Override
   class="kw">public double scale(double var1) {
      class="kw">return this.distanceFunction.scale(var1);
   }

   @Override
   class="kw">public double invScale(double var1) {
      class="kw">return this.distanceFunction.invScale(var1);
   }

   @Override
   class="kw">public int getCellX(double var1, double var3) {
      class="kw">return this.distanceFunction.getCellX(var1, var3);
   }

   @Override
   class="kw">public int getCellY(double var1, double var3) {
      class="kw">return this.distanceFunction.getCellY(var1, var3);
   }

   @Override
   class="kw">public void nearest2D(int var1, double var2, double var4, int var6, int var7, @Nonnull ResultBuffer.ResultBuffer2d var8, PointEvaluator var9) {
      this.transition2D(var1, var2, var4, var6, var7, var8, var9);
   }

   @Override
   class="kw">public void transition2D(int var1, double var2, double var4, int var6, int var7, @Nonnull ResultBuffer.ResultBuffer2d var8, PointEvaluator var9) {
      this.distanceFunction.nearest2D(var1, var2, var4, var6, var7, var8, this.cellEvaluator);
      if (!this.density.eval(var8.hash)) {
         var8.distance = 0.0;
      } else {
         var6 = var8.ix;
         var7 = var8.iy;
         var8.ix2 = var6;
         var8.iy2 = var7;
         var8.x2 = var8.x;
         var8.y2 = var8.y;
         var8.distance = Double.POSITIVE_INFINITY;
         var8.distance2 = Double.POSITIVE_INFINITY;
         int var10 = this.borderEvaluator.getJitter().getMaxX() > 0.5 ? 2 : 1;
         int var11 = this.borderEvaluator.getJitter().getMaxY() > 0.5 ? 2 : 1;

         for (int var12 = var7 - var11; var12 <= var7 + var11; var12++) {
            for (int var13 = var6 - var10; var13 <= var6 + var10; var13++) {
               this.distanceFunction.evalPoint2(var1, var2, var4, var13, var12, var8, this.borderEvaluator);
            }
         }
      }
   }

   @Override
   class="kw">public void nearest3D(
      int var1, double var2, double var4, double var6, int var8, int var9, int var10, ResultBuffer.ResultBuffer3d var11, PointEvaluator var12
   ) {
      throw new UnsupportedOperationException();
   }

   @Override
   class="kw">public void transition3D(
      int var1, double var2, double var4, double var6, int var8, int var9, int var10, ResultBuffer.ResultBuffer3d var11, PointEvaluator var12
   ) {
      throw new UnsupportedOperationException();
   }

   @Override
   class="kw">public void evalPoint(int var1, double var2, double var4, int var6, int var7, ResultBuffer.ResultBuffer2d var8, PointEvaluator var9) {
      throw new UnsupportedOperationException();
   }

   @Override
   class="kw">public void evalPoint2(int var1, double var2, double var4, int var6, int var7, ResultBuffer.ResultBuffer2d var8, PointEvaluator var9) {
      throw new UnsupportedOperationException();
   }

   @Override
   class="kw">public void evalPoint(
      int var1, double var2, double var4, double var6, int var8, int var9, int var10, ResultBuffer.ResultBuffer3d var11, PointEvaluator var12
   ) {
      throw new UnsupportedOperationException();
   }

   @Override
   class="kw">public void evalPoint2(
      int var1, double var2, double var4, double var6, int var8, int var9, int var10, ResultBuffer.ResultBuffer3d var11, PointEvaluator var12
   ) {
      throw new UnsupportedOperationException();
   }

   @Override
   class="kw">public <T> void collect(
      int var1, int var2, int var3, int var4, int var5, int var6, ResultBuffer.Bounds2d var7, T var8, PointConsumer<T> var9, PointEvaluator var10
   ) {
      this.distanceFunction.collect(var1, var2, var3, var4, var5, var6, var7, var8, var9, var10);
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "BorderDistanceFunction{distanceFunction="
         + this.distanceFunction
         + ", cellEvaluator="
         + this.cellEvaluator
         + ", borderEvaluator="
         + this.borderEvaluator
         + ", density="
         + this.density
         + "}";
   }
}