PxArticulationReducedCoordinate::copyInternalStateToCache
-
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 PxArticulationCachearrayGet(long baseAddress, int index) voiddestroy()Deprecated.The API related to loop joints will be removed in a future version once a replacement is made available.Dense Jacobian data.External forces acting on the articulation links for inverse dynamics computation.The articulation joint DOF accelerations.The articulation joint DOF forces.The articulation joint DOF positions.The articulation joint DOF velocities.Deprecated.The API related to loop joints will be removed in a future version once a replacement is made available.Link classical acceleration.Link incoming joint force, i.e.Link spatial velocity.The generalized mass matrix that maps joint accelerations to joint forces.Root link transform, velocities, and accelerations.The scratch allocator is used for internal calculations.The scratch memory is used for internal calculations.intThe cache version used internally to check compatibility with the articulation, i.e.voidrelease()Releases an articulation cache.voidsetCoefficientMatrix(PxRealPtr value) Deprecated.The API related to loop joints will be removed in a future version once a replacement is made available.voidsetDenseJacobian(PxRealPtr value) Dense Jacobian data.voidsetExternalForces(PxSpatialForce value) External forces acting on the articulation links for inverse dynamics computation.voidsetJointAcceleration(PxRealPtr value) The articulation joint DOF accelerations.voidsetJointForce(PxRealPtr value) The articulation joint DOF forces.voidsetJointPosition(PxRealPtr value) The articulation joint DOF positions.voidsetJointVelocity(PxRealPtr value) The articulation joint DOF velocities.voidDeprecated.The API related to loop joints will be removed in a future version once a replacement is made available.voidLink classical acceleration.voidLink incoming joint force, i.e.voidsetLinkVelocity(PxSpatialVelocity value) Link spatial velocity.voidsetMassMatrix(PxRealPtr value) The generalized mass matrix that maps joint accelerations to joint forces.voidRoot link transform, velocities, and accelerations.voidsetScratchAllocator(NativeObject value) The scratch allocator is used for internal calculations.voidsetScratchMemory(NativeObject value) The scratch memory is used for internal calculations.voidsetVersion(int value) The cache version used internally to check compatibility with the articulation, i.e.static PxArticulationCachewrapPointer(long address) Methods 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
-
PxArticulationCache
protected PxArticulationCache() -
PxArticulationCache
protected PxArticulationCache(long address)
-
-
Method Details
-
wrapPointer
-
arrayGet
-
destroy
public void destroy() -
getExternalForces
External forces acting on the articulation links for inverse dynamics computation.- N = getNbLinks(). - Indexing follows the low-level link indices, see PxArticulationLink::getLinkIndex. - The forces are with respect to the center of mass of the link. - This field cannot be used to apply forces to links during the next PxScene::simulate() call. Use PxRigidBody::addForce and related functions instead.
-
setExternalForces
External forces acting on the articulation links for inverse dynamics computation.- N = getNbLinks(). - Indexing follows the low-level link indices, see PxArticulationLink::getLinkIndex. - The forces are with respect to the center of mass of the link. - This field cannot be used to apply forces to links during the next PxScene::simulate() call. Use PxRigidBody::addForce and related functions instead.
-
getDenseJacobian
Dense Jacobian data.- N = nbRows * nbCols = (6 * getNbLinks()) * (6 + getDofs()) -> size includes possible floating-base DOFs regardless of PxArticulationFlag::eFIX_BASE flag. - The links, i.e. rows are in order of the low-level link indices (minus one if PxArticulationFlag::eFIX_BASE is true), see PxArticulationLink::getLinkIndex. The corresponding spatial velocities are stacked [vx; vy; vz; wx; wy; wz], where vx and wx refer to the linear and rotational velocity in world X. - The DOFs, i.e. column indices correspond to the low-level DOF indices, see PxArticulationCache::jointVelocity.
-
setDenseJacobian
Dense Jacobian data.- N = nbRows * nbCols = (6 * getNbLinks()) * (6 + getDofs()) -> size includes possible floating-base DOFs regardless of PxArticulationFlag::eFIX_BASE flag. - The links, i.e. rows are in order of the low-level link indices (minus one if PxArticulationFlag::eFIX_BASE is true), see PxArticulationLink::getLinkIndex. The corresponding spatial velocities are stacked [vx; vy; vz; wx; wy; wz], where vx and wx refer to the linear and rotational velocity in world X. - The DOFs, i.e. column indices correspond to the low-level DOF indices, see PxArticulationCache::jointVelocity.
-
getMassMatrix
The generalized mass matrix that maps joint accelerations to joint forces.- N = getDofs() * getDofs(). - The indexing follows the internal DOF index order, see PxArticulationCache::jointVelocity.
-
setMassMatrix
The generalized mass matrix that maps joint accelerations to joint forces.- N = getDofs() * getDofs(). - The indexing follows the internal DOF index order, see PxArticulationCache::jointVelocity.
-
getJointVelocity
The articulation joint DOF velocities.- N = getDofs(). - Read/write using PxArticulationCacheFlag::eVELOCITY. - The indexing follows the internal DOF index order. Therefore, the application should calculate the DOF data indices by summing the joint DOFs in the order of the links' low-level indices (see the manual Section "Cache Indexing" for a snippet for this calculation): \verbatim Low-level link index: | link 0 | link 1 | link 2 | link 3 | ... | <- PxArticulationLink::getLinkIndex() \endverbatim \verbatim Link inbound joint DOF: | 0 | 1 | 2 | 1 | ... | <- PxArticulationLink::getInboundJointDof() \endverbatim \verbatim Low-level DOF index: | - | 0 | 1, 2 | 3 | ... | \endverbatim The root link always has low-level index 0 and always has zero inbound joint DOFs. The link DOF indexing follows the order in PxArticulationAxis::Enum. For example, assume that low-level link 2 has an inbound spherical joint with two DOFs: eSWING1 and eSWING2. The corresponding low-level joint DOF indices are therefore 1 for eSWING1 and 2 for eSWING2.
-
setJointVelocity
The articulation joint DOF velocities.- N = getDofs(). - Read/write using PxArticulationCacheFlag::eVELOCITY. - The indexing follows the internal DOF index order. Therefore, the application should calculate the DOF data indices by summing the joint DOFs in the order of the links' low-level indices (see the manual Section "Cache Indexing" for a snippet for this calculation): \verbatim Low-level link index: | link 0 | link 1 | link 2 | link 3 | ... | <- PxArticulationLink::getLinkIndex() \endverbatim \verbatim Link inbound joint DOF: | 0 | 1 | 2 | 1 | ... | <- PxArticulationLink::getInboundJointDof() \endverbatim \verbatim Low-level DOF index: | - | 0 | 1, 2 | 3 | ... | \endverbatim The root link always has low-level index 0 and always has zero inbound joint DOFs. The link DOF indexing follows the order in PxArticulationAxis::Enum. For example, assume that low-level link 2 has an inbound spherical joint with two DOFs: eSWING1 and eSWING2. The corresponding low-level joint DOF indices are therefore 1 for eSWING1 and 2 for eSWING2.
-
getJointAcceleration
The articulation joint DOF accelerations.- N = getDofs(). - Read using PxArticulationCacheFlag::eACCELERATION. - The indexing follows the internal DOF index order, see PxArticulationCache::jointVelocity. - Delta joint DOF velocities can be computed from acceleration * dt.
-
setJointAcceleration
The articulation joint DOF accelerations.- N = getDofs(). - Read using PxArticulationCacheFlag::eACCELERATION. - The indexing follows the internal DOF index order, see PxArticulationCache::jointVelocity. - Delta joint DOF velocities can be computed from acceleration * dt.
-
getJointPosition
The articulation joint DOF positions.- N = getDofs(). - Read/write using PxArticulationCacheFlag::ePOSITION. - The indexing follows the internal DOF index order, see PxArticulationCache::jointVelocity. - For spherical joints, the joint position for each axis on the joint must be in range [-Pi, Pi].
-
setJointPosition
The articulation joint DOF positions.- N = getDofs(). - Read/write using PxArticulationCacheFlag::ePOSITION. - The indexing follows the internal DOF index order, see PxArticulationCache::jointVelocity. - For spherical joints, the joint position for each axis on the joint must be in range [-Pi, Pi].
-
getJointForce
The articulation joint DOF forces.- N = getDofs(). - Read/Write using PxArticulationCacheFlag::eFORCE. - The indexing follows the internal DOF index order, see PxArticulationCache::jointVelocity. - Applied joint forces persist and are applied each frame until changed.
-
setJointForce
The articulation joint DOF forces.- N = getDofs(). - Read/Write using PxArticulationCacheFlag::eFORCE. - The indexing follows the internal DOF index order, see PxArticulationCache::jointVelocity. - Applied joint forces persist and are applied each frame until changed.
-
getLinkVelocity
Link spatial velocity.- N = getNbLinks(). - Read using PxArticulationCacheFlag::eLINK_VELOCITY. - The indexing follows the internal link indexing, see PxArticulationLink::getLinkIndex. - The velocity is with respect to the link's center of mass but represented in world space.
-
setLinkVelocity
Link spatial velocity.- N = getNbLinks(). - Read using PxArticulationCacheFlag::eLINK_VELOCITY. - The indexing follows the internal link indexing, see PxArticulationLink::getLinkIndex. - The velocity is with respect to the link's center of mass but represented in world space.
-
getLinkAcceleration
Link classical acceleration.- N = getNbLinks(). - Read using PxArticulationCacheFlag::eLINK_ACCELERATION. - The indexing follows the internal link indexing, see PxArticulationLink::getLinkIndex. - The acceleration is with respect to the link's center of mass.
-
setLinkAcceleration
Link classical acceleration.- N = getNbLinks(). - Read using PxArticulationCacheFlag::eLINK_ACCELERATION. - The indexing follows the internal link indexing, see PxArticulationLink::getLinkIndex. - The acceleration is with respect to the link's center of mass.
-
getLinkIncomingJointForce
Link incoming joint force, i.e. the total force transmitted from the parent link to this link.- N = getNbLinks(). - Read using PxArticulationCacheFlag::eLINK_INCOMING_JOINT_FORCE. - The indexing follows the internal link indexing, see PxArticulationLink::getLinkIndex. - The force is reported in the child joint frame of the link's incoming joint.
Note: The root link reports a zero spatial force.
-
setLinkIncomingJointForce
Link incoming joint force, i.e. the total force transmitted from the parent link to this link.- N = getNbLinks(). - Read using PxArticulationCacheFlag::eLINK_INCOMING_JOINT_FORCE. - The indexing follows the internal link indexing, see PxArticulationLink::getLinkIndex. - The force is reported in the child joint frame of the link's incoming joint.
Note: The root link reports a zero spatial force.
-
getRootLinkData
Root link transform, velocities, and accelerations.- N = 1. - Read/write using PxArticulationCacheFlag::eROOT_TRANSFORM and PxArticulationCacheFlag::eROOT_VELOCITIES (accelerations are read-only).
- See Also:
-
setRootLinkData
Root link transform, velocities, and accelerations.- N = 1. - Read/write using PxArticulationCacheFlag::eROOT_TRANSFORM and PxArticulationCacheFlag::eROOT_VELOCITIES (accelerations are read-only).
- See Also:
-
getCoefficientMatrix
Deprecated.The API related to loop joints will be removed in a future version once a replacement is made available.Constraint coefficient matrix.
- N = getCoefficentMatrixSize(). - The user needs to allocate memory and set this member to the allocated memory.
-
setCoefficientMatrix
Deprecated.The API related to loop joints will be removed in a future version once a replacement is made available.Constraint coefficient matrix.
- N = getCoefficentMatrixSize(). - The user needs to allocate memory and set this member to the allocated memory.
-
getLambda
Deprecated.The API related to loop joints will be removed in a future version once a replacement is made available.Constraint lambda values (impulses applied by the respective constraints).
- N = getNbLoopJoints(). - The user needs to allocate memory and set this member to the allocated memory.
-
setLambda
Deprecated.The API related to loop joints will be removed in a future version once a replacement is made available.Constraint lambda values (impulses applied by the respective constraints).
- N = getNbLoopJoints(). - The user needs to allocate memory and set this member to the allocated memory.
-
getScratchMemory
The scratch memory is used for internal calculations. -
setScratchMemory
The scratch memory is used for internal calculations. -
getScratchAllocator
The scratch allocator is used for internal calculations. -
setScratchAllocator
The scratch allocator is used for internal calculations. -
getVersion
public int getVersion()The cache version used internally to check compatibility with the articulation, i.e. detect if the articulation configuration changed after the cache was created. -
setVersion
public void setVersion(int value) The cache version used internally to check compatibility with the articulation, i.e. detect if the articulation configuration changed after the cache was created. -
release
public void release()Releases an articulation cache.PxArticulationReducedCoordinate::copyInternalStateToCache
-