ForceProviderStandardState class

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

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

Поля (1)

МодификаторыТипИмя
public double displacedMass

Методы (4)

МодификаторыВозвратСигнатура
public void clearvoid clear()
public void convertToForcesvoid convertToForces(double var1, double var3)
if if(this.nextTickVelocity.x < Double.MAX_VALUE)
public void updateVelocityvoid updateVelocity(@Nonnull Vector3d var1)

Исходный код

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

class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;

class="kw">public class ForceProviderStandardState {
   class="kw">public double displacedMass;
   class="kw">public double dragCoefficient;
   class="kw">public double gravity;
   class="kw">public class="kw">final Vector3d nextTickVelocity = new Vector3d();
   class="kw">public class="kw">final Vector3d externalVelocity = new Vector3d();
   class="kw">public class="kw">final Vector3d externalAcceleration = new Vector3d();
   class="kw">public class="kw">final Vector3d externalForce = new Vector3d();
   class="kw">public class="kw">final Vector3d externalImpulse = new Vector3d();

   class="kw">public ForceProviderStandardState() {
      this.nextTickVelocity.set(Double.MAX_VALUE, Double.MAX_VALUE, Double.MAX_VALUE);
   }

   class="kw">public void convertToForces(double var1, double var3) {
      this.externalForce.fma(1.0 / var3, this.externalAcceleration);
      this.externalForce.fma(1.0 / var1, this.externalImpulse);
      this.externalAcceleration.zero();
      this.externalImpulse.zero();
   }

   class="kw">public void updateVelocity(@Nonnull Vector3d var1) {
      if (this.nextTickVelocity.x < Double.MAX_VALUE) {
         var1.set(this.nextTickVelocity);
         this.nextTickVelocity.set(Double.MAX_VALUE, Double.MAX_VALUE, Double.MAX_VALUE);
      }

      var1.add(this.externalVelocity);
      this.externalVelocity.zero();
   }

   class="kw">public void clear() {
      this.externalForce.zero();
   }
}