Class RotationController

java.lang.Object
net.dermetfan.gdx.physics.box2d.RotationController
Direct Known Subclasses:
RotationController.D, RotationController.P, RotationController.PD

public abstract class RotationController
extends java.lang.Object
rotates a body to an angle using torque
Since:
0.11.1
  • Nested Class Summary

    Nested Classes
    Modifier and Type Class Description
    static class  RotationController.D
    the derivative control loop component
    static class  RotationController.P
    the proportional control loop component
    static class  RotationController.PD
    a proportional-derivative controller
  • Field Summary

    Fields
    Modifier and Type Field Description
    static net.dermetfan.utils.Function<java.lang.Object,​RotationController> defaultUserDataAccessor
    returns the argument if it is a RotationController
  • Constructor Summary

    Constructors
    Constructor Description
    RotationController()  
  • Method Summary

    Modifier and Type Method Description
    float applyTorque​(com.badlogic.gdx.physics.box2d.Body body, boolean wake)
    applies the necessary torque
    static void applyTorque​(com.badlogic.gdx.physics.box2d.World world, boolean wake)
    Calls applyTorque for every Body with a RotationController in its user data.
    abstract float calculateTorque​(com.badlogic.gdx.physics.box2d.Body body)  
    static net.dermetfan.utils.Function<java.lang.Object,​RotationController> getUserDataAccessor()  
    static void setUserDataAccessor​(net.dermetfan.utils.Function<java.lang.Object,​RotationController> userDataAccessor)  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • defaultUserDataAccessor

      public static final net.dermetfan.utils.Function<java.lang.Object,​RotationController> defaultUserDataAccessor
      returns the argument if it is a RotationController
  • Constructor Details

    • RotationController

      public RotationController()
  • Method Details

    • applyTorque

      public static void applyTorque​(com.badlogic.gdx.physics.box2d.World world, boolean wake)
      Calls applyTorque for every Body with a RotationController in its user data. The RotationController is accessed using the userDataAccessor.
      Parameters:
      world - the world which Bodies to iterate over
    • calculateTorque

      public abstract float calculateTorque​(com.badlogic.gdx.physics.box2d.Body body)
      Returns:
      the torque to apply
    • applyTorque

      public float applyTorque​(com.badlogic.gdx.physics.box2d.Body body, boolean wake)
      applies the necessary torque
      Returns:
      the torque applied, calculated by calculateTorque(Body)
    • getUserDataAccessor

      public static net.dermetfan.utils.Function<java.lang.Object,​RotationController> getUserDataAccessor()
      Returns:
      the userDataAccessor
    • setUserDataAccessor

      public static void setUserDataAccessor​(net.dermetfan.utils.Function<java.lang.Object,​RotationController> userDataAccessor)
      Parameters:
      userDataAccessor - The userDataAccessor to set. If null, defaultUserDataAccessor is set.