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;
}
}