launchNetContactForces#

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

bool isaacsim::physics::newton::tensors::launchNetContactForces(
const int *contactCount,
const int *shape0,
const int *shape1,
const float *contactForce,
const int *shapeBody,
const int *bodySensorMap,
int bodySensorMapSize,
int worldBodyIdx,
float dtScale,
float *netForces,
int rigidContactMax,
void *stream = nullptr,
)#

Accumulate per-sensor net contact forces.

Sums contact forces whose shape bodies are mapped to a sensor by bodySensorMap (-1 = ignore). Output is scaled by dtScale.

Parameters:
  • contactCount – Device pointer to the physics contact count (single int).

  • shape0 – Device array, contact pair shape A indices.

  • shape1 – Device array, contact pair shape B indices.

  • contactForce – Device array, shape [rigidContactMax, 3].

  • shapeBody – Device array mapping shape index to body index.

  • bodySensorMap – Device array mapping body index to sensor index.

  • bodySensorMapSize – Length of bodySensorMap.

  • worldBodyIdx – Sentinel body index representing the static world; pairs touching this body are still counted as sensor contacts.

  • dtScale – Multiplicative scale applied to each force.

  • netForces – Device output, shape [numSensors, 3].

  • rigidContactMax – Capacity of the contact arrays.

  • stream – CUDA stream.

Returns:

true if the launch succeeded.