DistanceCalculationMode enum
Пакет: com.hypixel.hytale.procedurallib.logic.cell
Файл: com/hypixel/hytale/procedurallib/logic/cell/DistanceCalculationMode.java
Поля (1)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
DistanceCalculationMode[] |
VALUES |
Методы (15)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
public double |
distance2Dpublic double distance2D(double var1, double var3) |
|
public double |
distance2Dpublic double distance2D(double var1, double var3) |
|
public double |
distance2Dpublic double distance2D(double var1, double var3) |
|
public double |
distance2Dpublic double distance2D(double var1, double var3) |
|
public double |
distance3Dpublic double distance3D(double var1, double var3, double var5) |
|
public double |
distance3Dpublic double distance3D(double var1, double var3, double var5) |
|
public double |
distance3Dpublic double distance3D(double var1, double var3, double var5) |
|
public double |
distance3Dpublic double distance3D(double var1, double var3, double var5) |
|
|
for for(DistanceCalculationMode var4 : VALUES) |
public |
PointDistanceFunction |
getFunctionPointDistanceFunction getFunction() |
|
|
if if(var4.function == var0) |
|
public String |
toStringpublic String toString() |
|
public String |
toStringpublic String toString() |
|
public String |
toStringpublic String toString() |
|
public String |
toStringpublic String toString() |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.procedurallib.logic.cell;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public enum DistanceCalculationMode {
EUCLIDEAN(new PointDistanceFunction() {
@Override
class="kw">public double distance2D(double var1, double var3) {
class="kw">return var1 * var1 + var3 * var3;
}
@Override
class="kw">public double distance3D(double var1, double var3, double var5) {
class="kw">return var1 * var1 + var3 * var3 + var5 * var5;
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "EuclideanPointDistanceFunction{}";
}
}),
MANHATTAN(new PointDistanceFunction() {
@Override
class="kw">public double distance2D(double var1, double var3) {
class="kw">return Math.abs(var1) + Math.abs(var3);
}
@Override
class="kw">public double distance3D(double var1, double var3, double var5) {
class="kw">return Math.abs(var1) + Math.abs(var3) + Math.abs(var5);
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "ManhattanPointDistanceFunction{}";
}
}),
NATURAL(new PointDistanceFunction() {
@Override
class="kw">public double distance2D(double var1, double var3) {
class="kw">return Math.abs(var1) + Math.abs(var3) + var1 * var1 + var3 * var3;
}
@Override
class="kw">public double distance3D(double var1, double var3, double var5) {
class="kw">return Math.abs(var1) + Math.abs(var3) + Math.abs(var5) + var1 * var1 + var3 * var3 + var5 * var5;
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "NaturalPointDistanceFunction{}";
}
}),
MAX(new PointDistanceFunction() {
@Override
class="kw">public double distance2D(double var1, double var3) {
class="kw">return Math.max(Math.abs(var1), Math.abs(var3));
}
@Override
class="kw">public double distance3D(double var1, double var3, double var5) {
class="kw">return Math.max(Math.abs(var1), Math.max(Math.abs(var3), Math.abs(var5)));
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "MaxPointDistanceFunction{}";
}
});
class="kw">static class="kw">final DistanceCalculationMode[] VALUES = values();
class="kw">private class="kw">final PointDistanceFunction function;
DistanceCalculationMode(PointDistanceFunction nullxx) {
this.function = nullxx;
}
class="kw">public PointDistanceFunction getFunction() {
class="kw">return this.function;
}
@Nullable
class="kw">public class="kw">static DistanceCalculationMode from(PointDistanceFunction var0) {
for (DistanceCalculationMode var4 : VALUES) {
if (var4.function == var0) {
class="kw">return var4;
}
}
class="kw">return null;
}
}