Package net.dermetfan.gdx.physics.box2d
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 classRotationController.Dthe derivative control loop componentstatic classRotationController.Pthe proportional control loop componentstatic classRotationController.PDa proportional-derivative controller -
Field Summary
Fields Modifier and Type Field Description static net.dermetfan.utils.Function<java.lang.Object,RotationController>defaultUserDataAccessorreturns the argument if it is a RotationController -
Constructor Summary
Constructors Constructor Description RotationController() -
Method Summary
Modifier and Type Method Description floatapplyTorque(com.badlogic.gdx.physics.box2d.Body body, boolean wake)applies the necessary torquestatic voidapplyTorque(com.badlogic.gdx.physics.box2d.World world, boolean wake)CallsapplyTorquefor every Body with a RotationController in its user data.abstract floatcalculateTorque(com.badlogic.gdx.physics.box2d.Body body)static net.dermetfan.utils.Function<java.lang.Object,RotationController>getUserDataAccessor()static voidsetUserDataAccessor(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> defaultUserDataAccessorreturns 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)CallsapplyTorquefor every Body with a RotationController in its user data. The RotationController is accessed using theuserDataAccessor.- 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- TheuserDataAccessorto set. If null,defaultUserDataAccessoris set.
-