launchFusedLinkWrenchAdd#

Fully qualified name: isaacsim::physics::newton::tensors::launchFusedLinkWrenchAdd

bool isaacsim::physics::newton::tensors::launchFusedLinkWrenchAdd(
const float *force,
const float *torque,
const float *position,
float *bodyForce,
const int *articulationIndices,
const int *linkMapping,
const wp::transform *bodyTransforms,
const wp::vec3 *bodyCentersOfMass,
int numArticulations,
int maxLinks,
bool isGlobal,
bool hasForce,
bool hasTorque,
bool hasPosition,
void *stream = nullptr,
)#

Transform and accumulate forces and torques applied to body or articulation links.

Local inputs are rotated into the world frame. When an application position is supplied, the resulting (position - centerOfMass) x force moment is added to the direct torque.

Parameters:
  • force – Device force input, or nullptr when hasForce is false.

  • torque – Device torque input, or nullptr when hasTorque is false.

  • position – Device application-position input, or nullptr when hasPosition is false.

  • bodyForce – Device destination spatial-force buffer, accumulated via atomic add.

  • articulationIndices – Optional device articulation/body-view index array.

  • linkMapping – Device mapping from view link slots to model body indices.

  • bodyTransforms – Device model body transforms.

  • bodyCentersOfMass – Device model body center-of-mass offsets.

  • numArticulations – Number of selected articulations or rigid bodies.

  • maxLinks – Maximum links per articulation; use one for rigid bodies.

  • isGlobal – Whether input vectors and positions are in the world frame.

  • hasForce – Whether force is present.

  • hasTorque – Whether torque is present.

  • hasPosition – Whether position is present.

  • stream – CUDA stream.

Returns:

true if the launch succeeded.