launchCountContactsPerPair#

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

bool isaacsim::physics::newton::tensors::launchCountContactsPerPair(
const int *contactCount,
const int *shape0,
const int *shape1,
const int *shapeBody,
const int *bodySensorMap,
int bodySensorMapSize,
const int *bodyFilterMap,
int numBodies,
int filterCount,
int worldBodyIdx,
uint32_t *counts,
int rigidContactMax,
void *stream = nullptr,
)#

Count the number of contacts per (sensor, filter) pair.

Populates counts with shape [numSensors * filterCount]; each cell holds the number of contacts that would be written by :func:launchContactData for that pair.

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.

  • 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.

  • filterCount – Number of filters per sensor.

  • worldBodyIdx – Sentinel body index representing the static world.

  • counts – Device output counts, shape [numSensors * filterCount].

  • rigidContactMax – Capacity of the contact arrays.

  • stream – CUDA stream.

Returns:

true if the launch succeeded.