IRaycastSensor#

Fully qualified name: isaacsim::sensors::experimental::physics::IRaycastSensor

struct IRaycastSensor#

Carbonite interface for managing C++ raycast sensors.

Casts rays per physics step using the physics umbrella API (PhysX C++ or Newton Python fallback) and stores per-ray results.

The plugin is self-driving: it subscribes to PhysX simulation events (eResumed / eStopped) and physics step events internally, so it initializes, discovers sensors, and processes each substep without any Python relay.

Lifecycle:

  1. acquire via carb::getCachedInterface or pybind11 acquire function

  2. createSensor() for each IsaacRaycastSensor prim (plugin self-initializes on eResumed)

  3. getSensorReading() to read data (sensors update automatically each substep)

  4. shutdown() on extension unload

Public Functions

virtual void shutdown() = 0#

Shut down the manager, destroying all sensors and freeing resources.

virtual bool createSensor(const char *primPath) = 0#

Create a raycast sensor for the given IsaacRaycastSensor prim.

Parameters:

primPath – USD path to the IsaacRaycastSensor prim.

Returns:

true on success (sensor created or already exists), false on failure.

virtual void removeSensor(const char *primPath) = 0#

Remove a sensor and free its resources.

Parameters:

primPath – USD path used when the sensor was created.

virtual RaycastSensorReading getSensorReading(const char *primPath) = 0#

Get the latest reading for a sensor.

Parameters:

primPath – USD path used when the sensor was created.

Returns:

Sensor reading. isValid is false if sensor is disabled, errored, or not found.