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.
 
 -