DensityGradientVectorProvider class
Пакет: com.hypixel.hytale.builtin.hytalegenerator.vectorproviders
Файл: com/hypixel/hytale/builtin/hytalegenerator/vectorproviders/DensityGradientVectorProvider.java
extends: VectorProvider
Поля (7)
| Модификаторы | Тип | Имя |
|---|---|---|
|
double |
var11 |
|
double |
var13 |
|
double |
var15 |
|
double |
var3 |
|
double |
var5 |
|
double |
var7 |
|
double |
var9 |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.hytalegenerator.vectorproviders;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.density.Density;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;
class="kw">public class DensityGradientVectorProvider class="kw">extends VectorProvider {
@Nonnull
class="kw">private class="kw">final Density density;
class="kw">private class="kw">final double sampleDistance;
@Nonnull
class="kw">private class="kw">final Density.Context rChildContext;
@Nonnull
class="kw">private class="kw">final Vector3d rPosition;
class="kw">public DensityGradientVectorProvider(@Nonnull Density var1, double var2) {
assert var2 >= 0.0;
this.density = var1;
this.sampleDistance = Math.max(0.0, var2);
this.rChildContext = new Density.Context();
this.rPosition = new Vector3d();
}
@Override
class="kw">public void process(@Nonnull VectorProvider.Context var1, @Nonnull Vector3d var2) {
this.rPosition.set(var1.position);
this.rChildContext.assign(var1);
this.rChildContext.position = this.rPosition;
double var3 = this.density.process(this.rChildContext);
double var5 = var1.position.x + this.sampleDistance;
double var7 = var1.position.y + this.sampleDistance;
double var9 = var1.position.z + this.sampleDistance;
this.rChildContext.position.set(var5, var1.position.y, var1.position.z);
double var11 = this.density.process(this.rChildContext) - var3;
this.rChildContext.position.set(var1.position.x, var7, var1.position.z);
double var13 = this.density.process(this.rChildContext) - var3;
this.rChildContext.position.set(var1.position.x, var1.position.y, var9);
double var15 = this.density.process(this.rChildContext) - var3;
this.rChildContext.clearReferences();
var2.set(var11, var13, var15);
}
}