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