DistanceNoise class
Пакет: com.hypixel.hytale.procedurallib.logic
Файл: com/hypixel/hytale/procedurallib/logic/DistanceNoise.java
implements: NoiseFunction
Поля (14)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
CellDistanceFunction |
cellDistanceFunction |
|
private final DistanceNoise.Distance2Function |
function |
|
int |
var10 |
|
int |
var11 |
|
ResultBuffer.ResultBuffer3d |
var12 |
|
|
var3 |
|
|
var3 |
|
|
var5 |
|
|
var5 |
|
int |
var7 |
|
|
var7 |
|
int |
var8 |
|
ResultBuffer.ResultBuffer2d |
var9 |
|
int |
var9 |
Методы (25)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
ADD ADD(new DistanceNoise.Distance2Function() |
|
|
DIV DIV(new DistanceNoise.Distance2Function() |
|
|
Distance2Mode Distance2Mode(DistanceNoise.Distance2Function nullxx) |
|
|
MAX MAX(new DistanceNoise.Distance2Function() |
|
|
MIN MIN(new DistanceNoise.Distance2Function() |
|
|
MUL MUL(new DistanceNoise.Distance2Function() |
|
|
SUB SUB(new DistanceNoise.Distance2Function() |
|
public double |
evalpublic double eval(double var1, double var3) |
|
public double |
evalpublic double eval(double var1, double var3) |
|
public double |
evalpublic double eval(double var1, double var3) |
|
public double |
evalpublic double eval(double var1, double var3) |
|
public double |
evalpublic double eval(double var1, double var3) |
|
public double |
evalpublic double eval(double var1, double var3) |
abstract |
double |
evaldouble eval(double var1, double var3) |
public |
CellDistanceFunction |
getCellDistanceFunctionCellDistanceFunction getCellDistanceFunction() |
public |
DistanceNoise.Distance2Function |
getDistance2FunctionDistanceNoise.Distance2Function getDistance2Function() |
|
public DistanceNoise.Distance2Function |
getFunctionpublic DistanceNoise.Distance2Function getFunction() |
abstract abstract |
ResultBuffer.ResultBuffer2d |
localBuffer2dResultBuffer.ResultBuffer2d localBuffer2d() |
abstract abstract |
ResultBuffer.ResultBuffer3d |
localBuffer3dResultBuffer.ResultBuffer3d localBuffer3d() |
|
public String |
toStringpublic String toString() |
|
public String |
toStringpublic String toString() |
|
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;
class="kw">import com.hypixel.hytale.procedurallib.NoiseFunction;
class="kw">import com.hypixel.hytale.procedurallib.logic.cell.CellDistanceFunction;
class="kw">import com.hypixel.hytale.procedurallib.logic.cell.evaluator.PointEvaluator;
class="kw">import javax.annotation.Nonnull;
class="kw">public class="kw">abstract class DistanceNoise class="kw">implements NoiseFunction {
class="kw">protected class="kw">final CellDistanceFunction cellDistanceFunction;
class="kw">protected class="kw">final PointEvaluator pointEvaluator;
class="kw">protected class="kw">final DistanceNoise.Distance2Function distance2Function;
class="kw">public DistanceNoise(CellDistanceFunction var1, PointEvaluator var2, DistanceNoise.Distance2Function var3) {
this.cellDistanceFunction = var1;
this.pointEvaluator = var2;
this.distance2Function = var3;
}
class="kw">public CellDistanceFunction getCellDistanceFunction() {
class="kw">return this.cellDistanceFunction;
}
class="kw">public DistanceNoise.Distance2Function getDistance2Function() {
class="kw">return this.distance2Function;
}
@Override
class="kw">public double get(int var1, int var2, double var3, double var5) {
var3 = this.cellDistanceFunction.scale(var3);
var5 = this.cellDistanceFunction.scale(var5);
int var7 = this.cellDistanceFunction.getCellX(var3, var5);
int var8 = this.cellDistanceFunction.getCellY(var3, var5);
ResultBuffer.ResultBuffer2d var9 = this.localBuffer2d();
var9.distance = Double.POSITIVE_INFINITY;
var9.distance2 = Double.POSITIVE_INFINITY;
this.cellDistanceFunction.transition2D(var2, var3, var5, var7, var8, var9, this.pointEvaluator);
var9.distance = Math.sqrt(var9.distance);
var9.distance2 = Math.sqrt(var9.distance2);
class="kw">return GeneralNoise.limit(this.distance2Function.eval(var9.distance, var9.distance2)) * 2.0 - 1.0;
}
@Override
class="kw">public double get(int var1, int var2, double var3, double var5, double var7) {
var3 = this.cellDistanceFunction.scale(var3);
var5 = this.cellDistanceFunction.scale(var5);
var7 = this.cellDistanceFunction.scale(var7);
int var9 = this.cellDistanceFunction.getCellX(var3, var5, var7);
int var10 = this.cellDistanceFunction.getCellY(var3, var5, var7);
int var11 = this.cellDistanceFunction.getCellZ(var3, var5, var7);
ResultBuffer.ResultBuffer3d var12 = this.localBuffer3d();
var12.distance = Double.POSITIVE_INFINITY;
var12.distance2 = Double.POSITIVE_INFINITY;
this.cellDistanceFunction.transition3D(var2, var3, var5, var7, var9, var10, var11, var12, this.pointEvaluator);
var12.distance = Math.sqrt(var12.distance);
var12.distance2 = Math.sqrt(var12.distance2);
class="kw">return GeneralNoise.limit(this.distance2Function.eval(var12.distance, var12.distance2)) * 2.0 - 1.0;
}
class="kw">protected class="kw">abstract ResultBuffer.ResultBuffer2d localBuffer2d();
class="kw">protected class="kw">abstract ResultBuffer.ResultBuffer3d localBuffer3d();
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "DistanceNoise{cellDistanceFunction="
+ this.cellDistanceFunction
+ ", pointEvaluator="
+ this.pointEvaluator
+ ", distance2Function="
+ this.distance2Function
+ "}";
}
@FunctionalInterface
class="kw">public class="kw">interface Distance2Function {
double eval(double var1, double var3);
}
class="kw">public enum Distance2Mode {
ADD(new DistanceNoise.Distance2Function() {
@Override
class="kw">public double eval(double var1, double var3) {
class="kw">return var1 + var3;
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "AddDistance2Function{}";
}
}),
SUB(new DistanceNoise.Distance2Function() {
@Override
class="kw">public double eval(double var1, double var3) {
class="kw">return var3 - var1;
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "SubDistance2Function{}";
}
}),
MUL(new DistanceNoise.Distance2Function() {
@Override
class="kw">public double eval(double var1, double var3) {
class="kw">return var1 * var3;
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "MulDistance2Function{}";
}
}),
DIV(new DistanceNoise.Distance2Function() {
@Override
class="kw">public double eval(double var1, double var3) {
class="kw">return var1 / var3;
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "DivDistance2Function{}";
}
}),
MIN(new DistanceNoise.Distance2Function() {
@Override
class="kw">public double eval(double var1, double var3) {
class="kw">return var1;
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "MinDistance2Function{}";
}
}),
MAX(new DistanceNoise.Distance2Function() {
@Override
class="kw">public double eval(double var1, double var3) {
class="kw">return var3;
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "MaxDistance2Function{}";
}
});
class="kw">private class="kw">final DistanceNoise.Distance2Function function;
Distance2Mode(DistanceNoise.Distance2Function nullxx) {
this.function = nullxx;
}
class="kw">public DistanceNoise.Distance2Function getFunction() {
class="kw">return this.function;
}
}
}