Articulation links have a restricted subset of the functionality of a PxRigidDynamic: - They may not be kinematic, and do not support contact-force thresholds. - Their velocity or global pose cannot be set directly, but must be set via the articulation-root and joint positions/velocities. - Sleep state and solver iteration counts are properties of the entire articulation rather than the individual links.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class physx.NativeObject
NativeObject.Allocator<T> -
Field Summary
FieldsFields inherited from class physx.NativeObject
address, isExternallyAllocated, SIZEOF_BYTE, SIZEOF_DOUBLE, SIZEOF_FLOAT, SIZEOF_INT, SIZEOF_LONG, SIZEOF_POINTER, SIZEOF_SHORT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic PxArticulationLinkarrayGet(long baseAddress, int index) Gets the articulation that the link is a part of.floatGet the constraint-force-mixing scale term.Gets the joint which connects this link to its parent.intGets the number of degrees of freedom of the joint which connects this link to its parent.intGets the low-level link index that may be used to index into members of PxArticulationCache.intGets the number of child links.voidsetCfmScale(float cfm) Set the constraint-force-mixing scale term.static PxArticulationLinkwrapPointer(long address) Methods inherited from class physx.physics.PxRigidBody
addForce, addForce, addForce, addTorque, addTorque, addTorque, clearForce, clearTorque, getAngularDamping, getAngularVelocity, getCMassLocalPose, getContactSlopCoefficient, getInvMass, getLinearDamping, getLinearVelocity, getMass, getMassSpaceInertiaTensor, getMassSpaceInvInertiaTensor, getMaxAngularVelocity, getMaxContactImpulse, getMaxDepenetrationVelocity, getMaxLinearVelocity, getMinCCDAdvanceCoefficient, getRigidBodyFlags, setAngularDamping, setCMassLocalPose, setContactSlopCoefficient, setForceAndTorque, setForceAndTorque, setLinearDamping, setMass, setMassSpaceInertiaTensor, setMaxAngularVelocity, setMaxContactImpulse, setMaxDepenetrationVelocity, setMaxLinearVelocity, setMinCCDAdvanceCoefficient, setRigidBodyFlag, setRigidBodyFlagsMethods inherited from class physx.physics.PxRigidActor
attachShape, detachShape, detachShape, getGlobalPose, getNbConstraints, getNbShapes, getShapes, setGlobalPose, setGlobalPoseMethods inherited from class physx.physics.PxActor
getActorFlags, getDominanceGroup, getName, getOwnerClient, getScene, getType, getUserData, getWorldBounds, getWorldBounds, setActorFlag, setActorFlags, setDominanceGroup, setName, setOwnerClient, setUserDataMethods inherited from class physx.common.PxBase
getBaseFlags, getConcreteType, getConcreteTypeName, isReleasable, release, setBaseFlag, setBaseFlagsMethods inherited from class physx.NativeObject
checkNotNull, equals, getAddress, hashCode
-
Field Details
-
SIZEOF
public static final int SIZEOF -
ALIGNOF
public static final int ALIGNOF- See Also:
-
-
Constructor Details
-
PxArticulationLink
protected PxArticulationLink() -
PxArticulationLink
protected PxArticulationLink(long address)
-
-
Method Details
-
wrapPointer
-
arrayGet
-
getArticulation
Gets the articulation that the link is a part of.- Returns:
- The articulation.
- See Also:
-
getInboundJoint
Gets the joint which connects this link to its parent.- Returns:
- The joint connecting the link to the parent. NULL for the root link.
- See Also:
-
getInboundJointDof
public int getInboundJointDof()Gets the number of degrees of freedom of the joint which connects this link to its parent.- The root link DOF-count is defined to be 0 regardless of PxArticulationFlag::eFIX_BASE. - The return value is only valid for articulations that are in a scene.
- Returns:
- The number of degrees of freedom, or 0xFFFFFFFF if the articulation is not in a scene.
- See Also:
-
getNbChildren
public int getNbChildren()Gets the number of child links.- Returns:
- The number of child links.
-
getLinkIndex
public int getLinkIndex()Gets the low-level link index that may be used to index into members of PxArticulationCache.The low-level indices are built after an articulation is added to the scene following a breadth-first approach, where all the links at the current depth are indexed sequentially before moving to the links at the next depth level. The root of the articulation has therefore the index 0. Note that the low-level indices may be different from the order in which the links were originally added to the articulation.
The return value is only valid for articulations that are in a scene.
- Returns:
- The low-level index, or 0xFFFFFFFF if the articulation is not in a scene.
- See Also:
-
setCfmScale
public void setCfmScale(float cfm) Set the constraint-force-mixing scale term.The cfm scale term is a stabilization term that helps avoid instabilities with over-constrained configurations. It should be a small value that is multiplied by 1/mass internally to produce an additional bias added to the unit response term in the solver.
- Parameters:
cfm- The constraint-force-mixing scale term.Default: 0.025 Range: [0, 1]
Note: This call is not allowed while the simulation is running.
- See Also:
-
getCfmScale
public float getCfmScale()Get the constraint-force-mixing scale term.- Returns:
- The constraint-force-mixing scale term.
- See Also:
-