LengthEdgeSelector class

Пакет: com.hypixel.hytale.builtin.hytalegenerator.graph.edgeselectors

Файл: com/hypixel/hytale/builtin/hytalegenerator/graph/edgeselectors/LengthEdgeSelector.java

extends: EdgeSelector

Поля (8)

МодификаторыТипИмя
RangeDouble var3
Vector3dc var3
double var4
Vector3dc var4
double var5
double var6
RangeDouble var8
RangeDouble var8

Методы (2)

МодификаторыВозвратСигнатура
abstract for for(int var2 = 0; var2 < var1.size()
abstract for for(int var7 = 0; var7 < this.delimitersLengthSqr.size()

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.hytalegenerator.graph.edgeselectors;

class="kw">import com.hypixel.hytale.builtin.hytalegenerator.delimiters.RangeDouble;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.graph.GraphSpace;
class="kw">import java.util.ArrayList;
class="kw">import java.util.List;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;
class="kw">import org.joml.Vector3dc;

class="kw">public class LengthEdgeSelector class="kw">extends EdgeSelector {
   @Nonnull
   class="kw">private class="kw">final List<RangeDouble> delimitersLengthSqr;

   class="kw">public LengthEdgeSelector(@Nonnull List<RangeDouble> var1) {
      this.delimitersLengthSqr = new ArrayList<>(var1.size());

      for (int var2 = 0; var2 < var1.size(); var2++) {
         RangeDouble var3 = var1.get(var2);
         double var4 = Math.max(0.0, var3.min());
         double var6 = Math.max(0.0, var3.max());
         RangeDouble var8 = new RangeDouble(var4 * var4, var6 * var6);
         this.delimitersLengthSqr.add(var8);
      }
   }

   @Override
   class="kw">public boolean isSelected(@Nonnull GraphSpace var1, @Nonnull GraphSpace.Edge var2) {
      Vector3dc var3 = var2.nodeA().position();
      Vector3dc var4 = var2.nodeB().position();
      double var5 = Vector3d.distanceSquared(var3.x(), var3.y(), var3.z(), var4.x(), var4.y(), var4.z());

      for (int var7 = 0; var7 < this.delimitersLengthSqr.size(); var7++) {
         RangeDouble var8 = this.delimitersLengthSqr.get(var7);
         if (var8.contains(var5)) {
            class="kw">return true;
         }
      }

      class="kw">return false;
   }

   @Override
   class="kw">public double getInteractionRange(double var1) {
      class="kw">return var1;
   }
}