PhysicsBodyStateUpdaterRK4 class

Пакет: com.hypixel.hytale.server.core.modules.physics.util

Файл: com/hypixel/hytale/server/core/modules/physics/util/PhysicsBodyStateUpdaterRK4.java

extends: PhysicsBodyStateUpdater

Поля (2)

МодификаторыТипИмя
final PhysicsBodyState state
double var9

Методы (4)

МодификаторыВозвратСигнатура
abstract updatePositionAfterVelocity updatePositionAfterVelocity(var1, this.state, var9)
abstract updatePositionAfterVelocity updatePositionAfterVelocity(var1, this.state, var5)
abstract updatePositionAfterVelocity updatePositionAfterVelocity(var1, var2, var5)
abstract updatePositionBeforeVelocity updatePositionBeforeVelocity(var1, this.state, var9)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.modules.physics.util;

class="kw">import javax.annotation.Nonnull;

class="kw">public class PhysicsBodyStateUpdaterRK4 class="kw">extends PhysicsBodyStateUpdater {
   class="kw">private class="kw">final PhysicsBodyState state = new PhysicsBodyState();

   class="kw">public PhysicsBodyStateUpdaterRK4() {
   }

   @Override
   class="kw">public void update(@Nonnull PhysicsBodyState var1, @Nonnull PhysicsBodyState var2, double var3, double var5, boolean var7, @Nonnull ForceProvider[] var8) {
      double var9 = var5 * 0.5;
      this.computeAcceleration(var1, var7, var8, var3, var9);
      this.assignAcceleration(var2);
      this.updateVelocity(var1, this.state, var9);
      updatePositionBeforeVelocity(var1, this.state, var9);
      this.computeAcceleration(this.state, var7, var8, var3, var9);
      this.addAcceleration(var2, 2.0);
      this.updateVelocity(var1, this.state, var9);
      updatePositionAfterVelocity(var1, this.state, var9);
      this.computeAcceleration(this.state, var7, var8, var3, var9);
      this.addAcceleration(var2, 2.0);
      this.updateVelocity(var1, this.state, var5);
      updatePositionAfterVelocity(var1, this.state, var5);
      this.computeAcceleration(this.state, var7, var8, var3, var5);
      this.addAcceleration(var2);
      this.convertAccelerationToVelocity(var1, var2, var5 / 6.0);
      updatePositionAfterVelocity(var1, var2, var5);
   }
}