Package com.jme3.bullet.animation
Class DacLinks
java.lang.Object
com.jme3.bullet.control.AbstractPhysicsControl
com.jme3.bullet.animation.DacConfiguration
com.jme3.bullet.animation.DacLinks
- All Implemented Interfaces:
- PhysicsControl,- PhysicsTickListener,- com.jme3.export.Savable,- com.jme3.scene.control.Control,- com.jme3.util.clone.JmeCloneable,- Cloneable
- Direct Known Subclasses:
- DynamicAnimControl
Access a DynamicAnimControl at the PhysicsLink level once it's been added to
 a Spatial.
- 
Field SummaryFieldsFields inherited from class com.jme3.bullet.animation.DacConfigurationlogger2, torsoNameFields inherited from class com.jme3.bullet.control.AbstractPhysicsControladded, logger
- 
Constructor SummaryConstructorsModifierConstructorDescriptionprotectedDacLinks()Instantiate an enabled control without any linked bones or attachments (torso only).
- 
Method SummaryModifier and TypeMethodDescriptionprotected voidAdd all managed physics objects to the PhysicsSpace.floatattachmentMass(String boneName) Return the mass of the attachment associated with the named bone.voidcloneFields(com.jme3.util.clone.Cloner cloner, Object original) Callback fromClonerto convert this shallow-cloned Control into a deep-cloned one, using the specified Cloner and original to resolve copied fields.protected voidcreateSpatialData(com.jme3.scene.Spatial spatial) Create spatial-dependent data.com.jme3.anim.JointfindArmatureJoint(String jointName) Access the named armature joint.findAttachmentLink(String boneName) Access the AttachmentLink for the named bone.com.jme3.animation.BoneAccess the named Bone.findBoneLink(String boneName) Access the BoneLink for the named bone.Access the named link.com.jme3.anim.ArmatureAccess the Armature.Access the list of bone links in a pre-order, depth-first traversal of the link hierarchy.com.jme3.animation.SkeletonAccess the Skeleton.Access the TorsoLink.com.jme3.scene.SpatialAccess the Spatial with the mesh-coordinate transform.booleanisReady()Test whether this control is ready for dynamic mode.protected Collection<AttachmentLink> Enumerate attachment links.<T extends PhysicsLink>
 List<T> Enumerate physics links of the specified type managed by this control.Enumerate all rigid bodies managed by this control.floatReturn the mass of the named bone/torso.voidphysicsTick(PhysicsSpace space, float timeStep) Callback from Bullet, invoked just after the physics has been stepped.voidprePhysicsTick(PhysicsSpace space, float timeStep) Callback from Bullet, invoked just before the physics is stepped.voidread(com.jme3.export.JmeImporter importer) De-serialize this Control from the specified importer, for example when loading from a J3O file.voidrebuild()Rebuild the ragdoll.protected voidRemove all managed physics objects from the PhysicsSpace.protected voidremoveSpatialData(com.jme3.scene.Spatial spatial) Remove spatial-dependent data.voidsetAttachmentConfig(String boneName, LinkConfig config) Alter the configuration of the attachment associated with the named bone.voidsetAttachmentMass(String boneName, float mass) Alter the mass of the attachment associated with the named bone.voidsetDamping(float dampingRatio) Alter the viscous damping ratio for all rigid bodies, including new ones.voidsetGravity(com.jme3.math.Vector3f gravity) Alter this control's gravitational acceleration for Ragdoll mode.voidsetJointLimits(String boneName, RangeOfMotion rom) Alter the range of motion of the joint connecting the named BoneLink to its parent in the link hierarchy.voidsetMainBoneName(String boneName) Specify the main bone.voidsetMass(PhysicsLink link, float mass) Alter the mass of the specified link.voidAlter the mass of the named bone/torso.protected voidsetPhysicsLocation(com.jme3.math.Vector3f vec) Translate the torso to the specified location.protected voidsetPhysicsRotation(com.jme3.math.Quaternion quat) Rotate the torso to the specified orientation.floatReturn the ragdoll's total mass, including attachments.voidupdate(float tpf) Update this Control.protected voidverifyAddedToSpatial(String desiredAction) Verify that this control is added to a Spatial.voidverifyReadyForDynamicMode(String desiredAction) Verify that this control is ready for dynamic mode, which implies that it is added to a Spatial, added to a PhysicsSpace, and the physics has been stepped.voidwrite(com.jme3.export.JmeExporter exporter) Serialize this Control to the specified exporter, for example when saving to a J3O file.Methods inherited from class com.jme3.bullet.animation.DacConfigurationaddUnlinkedDescendants, addUnlinkedDescendants, attach, attach, attachmentConfig, config, countAttachments, countLinkedBones, countLinks, damping, detach, eventDispatchImpulseThreshold, findManager, findManager, getAttachmentModel, getJointLimits, gravity, hasAttachmentLink, hasBoneLink, ignoredHops, link, link, listAttachmentBoneNames, listLinkedBoneNames, mainBoneName, managerMap, managerMap, relativeTolerance, setApplyPhysicsLocal, setConfig, setEventDispatchImpulseThreshold, setIgnoredHops, setRelativeTolerance, unlinkBoneMethods inherited from class com.jme3.bullet.control.AbstractPhysicsControlapplyPhysicsTransform, cloneForSpatial, getPhysicsSpace, getSpatial, getSpatialRotation, getSpatialTranslation, isApplyPhysicsLocal, isEnabled, jmeClone, render, setEnabled, setPhysicsSpace, setSpatial
- 
Field Details- 
logger3message logger for this class
 
- 
- 
Constructor Details- 
DacLinksprotected DacLinks()Instantiate an enabled control without any linked bones or attachments (torso only).
 
- 
- 
Method Details- 
findArmatureJointAccess the named armature joint.Allowed only when the Control IS added to a Spatial. - Parameters:
- jointName- the name of the armature joint to access
- Returns:
- the pre-existing instance, or null if not found
 
- 
findAttachmentLinkAccess the AttachmentLink for the named bone. Returns null if the bone is not associated with an attachment, or if the control is not added to a Spatial.- Parameters:
- boneName- the name of the bone (not null, not empty)
- Returns:
- the pre-existing link, or null if not found
 
- 
findBoneAccess the named Bone.Allowed only when the Control IS added to a Spatial. - Parameters:
- boneName- the name of the skeleton bone to access
- Returns:
- the pre-existing instance, or null if not found
 
- 
findBoneLinkAccess the BoneLink for the named bone. Returns null if bone is not linked, or if the control is not added to a Spatial.- Parameters:
- boneName- the name of the bone (not null, not empty)
- Returns:
- the pre-existing BoneLink, or null if not found
 
- 
findLinkAccess the named link. Returns null if the name is invalid, or if the control is not added to a Spatial.- Parameters:
- linkName- the name of the link (not null, not empty)
- Returns:
- the pre-existing link, or null if not found
 
- 
getArmaturepublic com.jme3.anim.Armature getArmature()Access the Armature. Returns null if the Control is not added to a Spatial.- Returns:
- the pre-existing Armature, or null
 
- 
getSkeletonpublic com.jme3.animation.Skeleton getSkeleton()Access the Skeleton. Returns null if the Control is not added to a Spatial.- Returns:
- the pre-existing Skeleton, or null
 
- 
getTorsoLinkAccess the TorsoLink. Returns null if the control is not added to a Spatial.- Returns:
- the pre-existing TorsoLink, or null
 
- 
getTransformerpublic com.jme3.scene.Spatial getTransformer()Access the Spatial with the mesh-coordinate transform. Returns null if the control is not added to a Spatial.- Returns:
- the pre-existing spatial, or null
 
- 
isReadypublic boolean isReady()Test whether this control is ready for dynamic mode.- Returns:
- true if ready, otherwise false
 
- 
listLinksEnumerate physics links of the specified type managed by this control.- Type Parameters:
- T- subclass of PhysicsLink
- Parameters:
- linkType- the subclass of PhysicsLink to search for (not null)
- Returns:
- a new array of links (not null, not empty)
 
- 
listRigidBodiesEnumerate all rigid bodies managed by this control.Allowed only when the control IS added to a Spatial. - Returns:
- a new array of pre-existing rigid bodies (not null, not empty)
 
- 
rebuildpublic void rebuild()Rebuild the ragdoll. This is useful if you applied scale to the model after it was initialized.Allowed only when the control IS added to a Spatial. 
- 
setMassAlter the mass of the specified link.- Parameters:
- link- the link to modify (not null)
- mass- the desired mass (>0)
 
- 
verifyReadyForDynamicModeVerify that this control is ready for dynamic mode, which implies that it is added to a Spatial, added to a PhysicsSpace, and the physics has been stepped.- Parameters:
- desiredAction- (not null, not empty)
 
- 
getBoneLinksAccess the list of bone links in a pre-order, depth-first traversal of the link hierarchy.- Returns:
- the pre-existing list (not null)
 
- 
listAttachmentLinksEnumerate attachment links.- Returns:
- a collection view of values in the internal map (not null)
 
- 
verifyAddedToSpatialVerify that this control is added to a Spatial.- Parameters:
- desiredAction- (not null, not empty)
 
- 
addPhysicsprotected void addPhysics()Add all managed physics objects to the PhysicsSpace.- Specified by:
- addPhysicsin class- AbstractPhysicsControl
 
- 
attachmentMassReturn the mass of the attachment associated with the named bone.- Overrides:
- attachmentMassin class- DacConfiguration
- Parameters:
- boneName- the name of the associated bone (not null, not empty)
- Returns:
- the mass (in physics units, >0) or NaN if undetermined
 
- 
cloneFieldsCallback fromClonerto convert this shallow-cloned Control into a deep-cloned one, using the specified Cloner and original to resolve copied fields.- Specified by:
- cloneFieldsin interface- com.jme3.util.clone.JmeCloneable
- Overrides:
- cloneFieldsin class- DacConfiguration
- Parameters:
- cloner- the Cloner that's cloning this Control (not null, modified)
- original- the instance from which this Control was shallow-cloned (not null, unaffected)
 
- 
createSpatialDataprotected void createSpatialData(com.jme3.scene.Spatial spatial) Create spatial-dependent data. Invoked each time the Control is added to a Spatial. Also invoked byrebuild().- Specified by:
- createSpatialDatain class- AbstractPhysicsControl
- Parameters:
- spatial- the controlled spatial (not null)
 
- 
massReturn the mass of the named bone/torso.- Overrides:
- massin class- DacConfiguration
- Parameters:
- boneName- the name of the bone/torso (not null)
- Returns:
- the mass (>0) or NaN if undetermined
 
- 
readDe-serialize this Control from the specified importer, for example when loading from a J3O file.- Specified by:
- readin interface- com.jme3.export.Savable
- Overrides:
- readin class- DacConfiguration
- Parameters:
- importer- (not null)
- Throws:
- IOException- from the importer
 
- 
removePhysicsprotected void removePhysics()Remove all managed physics objects from the PhysicsSpace.- Specified by:
- removePhysicsin class- AbstractPhysicsControl
 
- 
removeSpatialDataprotected void removeSpatialData(com.jme3.scene.Spatial spatial) Remove spatial-dependent data. Invoked each time this control is rebuilt or removed from a Spatial.- Specified by:
- removeSpatialDatain class- AbstractPhysicsControl
- Parameters:
- spatial- the Spatial to which this Control was added (unused)
 
- 
setAttachmentConfigAlter the configuration of the attachment associated with the named bone.- Overrides:
- setAttachmentConfigin class- DacConfiguration
- Parameters:
- boneName- the name of the associated bone (not null, not empty)
- config- the desired configuration (not null)
 
- 
setAttachmentMassAlter the mass of the attachment associated with the named bone.- Overrides:
- setAttachmentMassin class- DacConfiguration
- Parameters:
- boneName- the name of the associated bone (not null, not empty)
- mass- the desired mass (>0)
 
- 
setDampingpublic void setDamping(float dampingRatio) Alter the viscous damping ratio for all rigid bodies, including new ones.- Overrides:
- setDampingin class- DacConfiguration
- Parameters:
- dampingRatio- the desired damping ratio (non-negative, 0→no damping, 1→critically damped, default=0.6)
 
- 
setGravitypublic void setGravity(com.jme3.math.Vector3f gravity) Alter this control's gravitational acceleration for Ragdoll mode.- Overrides:
- setGravityin class- DacConfiguration
- Parameters:
- gravity- the desired acceleration vector (in physics-space coordinates, not null, unaffected, default=(0,-9.8,0))
 
- 
setJointLimitsAlter the range of motion of the joint connecting the named BoneLink to its parent in the link hierarchy.- Overrides:
- setJointLimitsin class- DacConfiguration
- Parameters:
- boneName- the name of the BoneLink (not null, not empty)
- rom- the desired range of motion (not null)
 
- 
setMainBoneNameSpecify the main bone.- Overrides:
- setMainBoneNamein class- DacConfiguration
- Parameters:
- boneName- the name of the desired bone, or null to determine the main bone heuristically when the control is added to a spatial
 
- 
setMassAlter the mass of the named bone/torso.- Overrides:
- setMassin class- DacConfiguration
- Parameters:
- boneName- the name of the bone, or torsoName (not null)
- mass- the desired mass (>0)
 
- 
setPhysicsLocationprotected void setPhysicsLocation(com.jme3.math.Vector3f vec) Translate the torso to the specified location.- Specified by:
- setPhysicsLocationin class- AbstractPhysicsControl
- Parameters:
- vec- desired location (not null, finite, unaffected)
 
- 
setPhysicsRotationprotected void setPhysicsRotation(com.jme3.math.Quaternion quat) Rotate the torso to the specified orientation.- Specified by:
- setPhysicsRotationin class- AbstractPhysicsControl
- Parameters:
- quat- desired orientation (not null, not zero, unaffected)
 
- 
totalMasspublic float totalMass()Return the ragdoll's total mass, including attachments.- Overrides:
- totalMassin class- DacConfiguration
- Returns:
- the total mass (>0) or NaN if undetermined
 
- 
updatepublic void update(float tpf) Update this Control. Invoked once per frame during the logical-state update, provided the control is added to a scene. Do not invoke directly from user code.- Specified by:
- updatein interface- com.jme3.scene.control.Control
- Parameters:
- tpf- the time interval between frames (in seconds, ≥0)
 
- 
writeSerialize this Control to the specified exporter, for example when saving to a J3O file.- Specified by:
- writein interface- com.jme3.export.Savable
- Overrides:
- writein class- DacConfiguration
- Parameters:
- exporter- (not null)
- Throws:
- IOException- from the exporter
 
- 
physicsTickCallback from Bullet, invoked just after the physics has been stepped. Used to re-activate any deactivated rigid bodies.- Specified by:
- physicsTickin interface- PhysicsTickListener
- Parameters:
- space- the space that was just stepped (not null)
- timeStep- the duration of the simulation step (in seconds, ≥0)
 
- 
prePhysicsTickCallback from Bullet, invoked just before the physics is stepped. A good time to clear/apply forces.- Specified by:
- prePhysicsTickin interface- PhysicsTickListener
- Parameters:
- space- the space that is about to be stepped (not null)
- timeStep- the duration of the simulation step (in seconds, ≥0)
 
 
-