ContactManager#

Fully qualified name: isaacsim::sensors::physics::ContactManager

class ContactManager#

Manages contact events and data in the physics simulation.

Handles the processing and storage of contact events between physical bodies, providing access to raw contact data and managing contact sensor states.

Public Functions

ContactManager()#

Default constructor.

virtual ~ContactManager()#

Virtual destructor.

void resetSensors()#

Resets all contact sensors to their initial state.

void processContact(
const omni::physx::ContactEventHeader c,
const omni::physx::ContactData *contactDataBuffer,
uint32_t &dataIdx,
)#

Processes a contact event from the physics engine.

Parameters:
  • c[in] Contact event header.

  • contactDataBuffer[in] Buffer containing contact data.

  • dataIdx[inout] Index into the contact data buffer.

CsRawData *getCsRawData(const char *usdPath, size_t &size)#

Gets raw contact data for a specific USD path.

Parameters:
  • usdPath[in] Path to the body in the USD stage.

  • size[out] Number of contact data points.

Returns:

Pointer to array of raw contact data.

CsRawData *getCsRawData(uint64_t token, size_t &size)#

Gets raw contact data for a specific body token.

Parameters:
  • token[in] Body identifier token.

  • size[out] Number of contact data points.

Returns:

Pointer to array of raw contact data.

void removeRawData(const ContactPair &p)#

Removes raw contact data for a contact pair.

Parameters:

p[in] Contact pair to remove data for.

void onPhysicsStep(
const float &currentTime,
const float &timeElapsed,
)#

Updates contact manager state each physics step.

Parameters:
  • currentTime[in] Current simulation time.

  • timeElapsed[in] Time elapsed since last step.

float getCurrentTime()#

Gets the current simulation time.

Returns:

Current simulation time in seconds.