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 class
RotationController.D
the derivative control loop componentstatic class
RotationController.P
the proportional control loop componentstatic 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 torquestatic void
applyTorque(com.badlogic.gdx.physics.box2d.World world, boolean wake)
CallsapplyTorque
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> 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)CallsapplyTorque
for 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
- TheuserDataAccessor
to set. If null,defaultUserDataAccessor
is set.
-