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