ManualGraphPass class

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

Файл: com/hypixel/hytale/builtin/hytalegenerator/graph/passes/ManualGraphPass.java

extends: GraphPass

Поля (19)

МодификаторыТипИмя
private final String[] connections
private final GraphSpace.Content content
private final String name
private final String name0
private final String name1
private final Vector3d position
double var1
var1
Vector3d var13
GraphSpace.Node var14
Vector3d var14
GraphSpace.Node var15
double var15
GraphSpace.Edge var16
Map var3
Map var3
List var4
List var4
GraphSpace.Node var7

Методы (13)

МодификаторыВозвратСигнатура
public ConnectionEntrypublic ConnectionEntry(@Nonnull String var1, @Nonnull String var2)
public NodeEntrypublic NodeEntry(@Nonnull Vector3d var1, @Nonnull GraphSpace.Content var2, @Nonnull String var3, @Nonnull String[] var4)
for for(ManualGraphPass.NodeEntry var6 : this.nodeEntries)
for for(String var11 : var6.connections)
for for(ManualGraphPass.ConnectionEntry var13 : var4)
for for(ManualGraphPass.NodeEntry var3 : this.nodeEntries)
for for(ManualGraphPass.NodeEntry var6 : this.nodeEntries)
for for(String var10 : var6.connections)
for for(ManualGraphPass.ConnectionEntry var12 : var4)
private double getLongestEdgeLengthdouble getLongestEdgeLength()
if if(var14 != null && var15 != null)
if if(var13 != null && var14 != null)
abstract super super(var2)

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.hytalegenerator.bounds.Bounds3d;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.graph.GraphSpace;
class="kw">import java.util.ArrayList;
class="kw">import java.util.HashMap;
class="kw">import java.util.List;
class="kw">import java.util.Map;
class="kw">import java.util.function.Consumer;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;

class="kw">public class ManualGraphPass class="kw">extends GraphPass {
   @Nonnull
   class="kw">private class="kw">final List<ManualGraphPass.NodeEntry> nodeEntries;
   class="kw">private class="kw">final double longestEdgeLength;

   class="kw">public ManualGraphPass(@Nonnull List<ManualGraphPass.NodeEntry> var1, @Nonnull String var2) {
      super(var2);
      this.nodeEntries = new ArrayList<>(var1);
      this.longestEdgeLength = this.getLongestEdgeLength();
   }

   @Override
   class="kw">public void run(@Nonnull GraphSpace var1, @Nonnull Bounds3d var2) {
      Map var3 = new HashMap<>();
      List var4 = new ArrayList<>();

      for (ManualGraphPass.NodeEntry var6 : this.nodeEntries) {
         if (var2.contains(var6.position)) {
            GraphSpace.Node var7 = var1.createNode(var6.position);
            var3.put(var6.name, var7);

            for (String var11 : var6.connections) {
               if (!var6.name.equals(var11)) {
                  var4.add(new ManualGraphPass.ConnectionEntry(var6.name, var11));
               }
            }

            var7.setContent(var6.content);
         }
      }

      for (ManualGraphPass.ConnectionEntry var13 : var4) {
         GraphSpace.Node var14 = var3.get(var13.name0);
         GraphSpace.Node var15 = var3.get(var13.name1);
         if (var14 != null && var15 != null) {
            GraphSpace.Edge var16 = var1.getOrCreateEdge(var14, var15);
         }
      }
   }

   @Nonnull
   @Override
   class="kw">public Bounds3d getReadBounds(double var1) {
      class="kw">return Bounds3d.ZERO;
   }

   @Override
   class="kw">public double getLongestEdgeLength(double var1) {
      class="kw">return Math.max(var1, this.longestEdgeLength);
   }

   @Override
   class="kw">public void viewAllPossibleContent(@Nonnull Consumer<GraphSpace.Content> var1) {
      for (ManualGraphPass.NodeEntry var3 : this.nodeEntries) {
         var1.accept(var3.content);
      }
   }

   class="kw">private double getLongestEdgeLength() {
      double var1 = 0.0;
      Map var3 = new HashMap<>();
      List var4 = new ArrayList<>();

      for (ManualGraphPass.NodeEntry var6 : this.nodeEntries) {
         var3.put(var6.name, var6.position);

         for (String var10 : var6.connections) {
            if (!var6.name.equals(var10)) {
               var4.add(new ManualGraphPass.ConnectionEntry(var6.name, var10));
            }
         }
      }

      for (ManualGraphPass.ConnectionEntry var12 : var4) {
         Vector3d var13 = var3.get(var12.name0);
         Vector3d var14 = var3.get(var12.name1);
         if (var13 != null && var14 != null) {
            double var15 = Vector3d.distance(var13.x(), var13.y(), var13.z(), var14.x(), var14.y(), var14.z());
            var1 = Math.max(var1, var15);
         }
      }

      class="kw">return var1;
   }

   class="kw">public class="kw">static class ConnectionEntry {
      @Nonnull
      class="kw">private class="kw">final String name0;
      @Nonnull
      class="kw">private class="kw">final String name1;

      class="kw">public ConnectionEntry(@Nonnull String var1, @Nonnull String var2) {
         this.name0 = var1;
         this.name1 = var2;
      }
   }

   class="kw">public class="kw">static class NodeEntry {
      @Nonnull
      class="kw">private class="kw">final Vector3d position;
      @Nonnull
      class="kw">private class="kw">final GraphSpace.Content content;
      @Nonnull
      class="kw">private class="kw">final String name;
      @Nonnull
      class="kw">private class="kw">final String[] connections;

      class="kw">public NodeEntry(@Nonnull Vector3d var1, @Nonnull GraphSpace.Content var2, @Nonnull String var3, @Nonnull String[] var4) {
         this.position = var1;
         this.content = var2;
         this.name = var3;
         this.connections = var4;
      }
   }
}