launchContactForceMatrix#
Fully qualified name: isaacsim::physics::newton::tensors::launchContactForceMatrix
- bool isaacsim::physics::newton::tensors::launchContactForceMatrix(
- const int *contactCount,
- const int *shape0,
- const int *shape1,
- const float *contactForce,
- const int *shapeBody,
- const int *bodySensorMap,
- int bodySensorMapSize,
- const int *bodyFilterMap,
- int numBodies,
- int worldBodyIdx,
- float dtScale,
- int filterCount,
- float *forceMatrix,
- int rigidContactMax,
- void *stream = nullptr,
Accumulate per-(sensor, filter) contact forces into a dense matrix.
Output
forceMatrixhas shape[numSensors, filterCount, 3].- Parameters:
contactCount – Device pointer to the physics contact count.
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.bodyFilterMap – Device array mapping
(sensor, body)to filter index.numBodies – Total body count in the model.
worldBodyIdx – Sentinel body index representing the static world.
dtScale – Multiplicative scale applied to each force.
filterCount – Number of filters per sensor.
forceMatrix – Device output, shape
[numSensors, filterCount, 3].rigidContactMax – Capacity of the contact arrays.
stream – CUDA stream.
- Returns:
trueif the launch succeeded.