Package com.jme3.bullet.animation
Class IKController
java.lang.Object
com.jme3.bullet.animation.IKController
- All Implemented Interfaces:
com.jme3.export.Savable,com.jme3.util.clone.JmeCloneable,Cloneable
public abstract class IKController
extends Object
implements com.jme3.util.clone.JmeCloneable, com.jme3.export.Savable
An abstract inverse kinematics (IK) controller for a PhysicsLink in dynamic
mode.
-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedNo-argument constructor needed by SavableClassUtil.protectedIKController(PhysicsLink controlledLink) Instantiate an enabled controller. -
Method Summary
Modifier and TypeMethodDescriptionvoidcloneFields(com.jme3.util.clone.Cloner cloner, Object original) Callback fromClonerto convert this shallow-cloned controller into a deep-cloned one, using the specified Cloner and original to resolve copied fields.getLink()Access the controlled link.booleanTest whether this controller is enabled.jmeClone()Create a shallow clone for the JME cloner.abstract voidpreTick(float timeStep) Apply forces, impulses, and torques to the rigid body.voidread(com.jme3.export.JmeImporter importer) De-serialize this controller from the specified importer, for example when loading from a J3O file.voidsetEnabled(boolean desiredSetting) Enable or disable this controller.voidImmediately put this controller into ragdoll mode.voidwrite(com.jme3.export.JmeExporter exporter) Serialize this controller to the specified exporter, for example when saving to a J3O file.
-
Field Details
-
logger
message logger for this class
-
-
Constructor Details
-
IKController
protected IKController()No-argument constructor needed by SavableClassUtil. -
IKController
Instantiate an enabled controller.- Parameters:
controlledLink- the link to be controlled (not null)
-
-
Method Details
-
getLink
Access the controlled link.- Returns:
- the pre-existing instance (not null)
-
isEnabled
public boolean isEnabled()Test whether this controller is enabled.- Returns:
- the pre-existing instance (not null)
-
preTick
public abstract void preTick(float timeStep) Apply forces, impulses, and torques to the rigid body. Invoked just before the physics is stepped.- Parameters:
timeStep- the duration of the simulation step (in seconds, ≥0)
-
setEnabled
public void setEnabled(boolean desiredSetting) Enable or disable this controller.- Parameters:
desiredSetting- true to enable, false to disable
-
setRagdollMode
public void setRagdollMode()Immediately put this controller into ragdoll mode. Unless overridden, this method simply disables the controller. -
cloneFields
Callback fromClonerto convert this shallow-cloned controller into a deep-cloned one, using the specified Cloner and original to resolve copied fields.- Specified by:
cloneFieldsin interfacecom.jme3.util.clone.JmeCloneable- Parameters:
cloner- the Cloner that's cloning this controller (not null)original- the instance from which this controller was shallow-cloned (unused)
-
jmeClone
Create a shallow clone for the JME cloner.- Specified by:
jmeClonein interfacecom.jme3.util.clone.JmeCloneable- Returns:
- a new instance
-
read
De-serialize this controller from the specified importer, for example when loading from a J3O file.- Specified by:
readin interfacecom.jme3.export.Savable- Parameters:
importer- (not null)- Throws:
IOException- from the importer
-
write
Serialize this controller to the specified exporter, for example when saving to a J3O file.- Specified by:
writein interfacecom.jme3.export.Savable- Parameters:
exporter- (not null)- Throws:
IOException- from the exporter
-