BaseResetNode#

Fully qualified name: isaacsim::core::includes::BaseResetNode

class BaseResetNode#

Base class for nodes that automatically reset their state when simulation is stopped.

This class provides automatic reset functionality for nodes in the simulation graph. It subscribes to the timeline event stream and triggers a reset when a stop event is received. Derived classes must implement the reset() function to define their specific reset behavior.

The class handles:

  • Timeline event subscription management

  • Automatic cleanup of subscriptions

  • Reset triggering on simulation stop

Note

This class uses RAII principles to manage timeline event subscriptions

Warning

Derived classes must implement reset() or a compilation error will occur

Subclassed by isaacsim::ros2::bridge::Ros2Node

Public Functions

inline BaseResetNode()#

Constructs a new BaseResetNode instance.

Sets up the timeline event subscription to automatically trigger reset on simulation stop. The subscription is created with the following characteristics:

  • Listens for eStop events from the timeline

  • Automatically triggers reset() when stop occurs

  • Uses a unique handler name for identification

Post:

Timeline event subscription is created and active

Post:

Timeline interface is cached and ready for use

inline virtual ~BaseResetNode()#

Virtual destructor to ensure proper cleanup of derived classes.

Cleans up the timeline event subscription using RAII principles. The subscription is automatically released when the object is destroyed.

Note

The timeline interface pointer is not explicitly cleaned up as it’s managed by carb

virtual void reset() = 0#

Pure virtual function to reset the node’s state.

This function is called automatically when the simulation is stopped. Derived classes must implement this function to define their specific reset behavior.

Note

This function is called from the timeline event handler thread

Warning

Implementation must be thread-safe as it may be called asynchronously