ComponentManager#
Fully qualified name: isaacsim::core::includes::ComponentManager
-
class ComponentManager#
Base class for managing USD-based components in an application.
ComponentManager provides the core interface for managing components within a USD stage. It handles component lifecycle (creation, updates, deletion), stage management, and application-level events. This class serves as the foundation for building component-based applications that interact with USD stages.
Note
All pure virtual functions must be implemented by derived classes
Warning
This class is not thread-safe by default; derived classes must implement their own thread safety mechanisms if needed
Subclassed by isaacsim::core::includes::PrimManagerBase< SurfaceGripperComponent >, isaacsim::core::includes::PrimManagerBase< IsaacBaseSensorComponent >, isaacsim::core::includes::PrimManagerBase< RangeSensorComponent >, isaacsim::core::includes::PrimManagerBase< ComponentType >
Public Functions
-
ComponentManager() = default#
Constructs a new ComponentManager instance.
-
~ComponentManager() = default#
Virtual destructor for proper cleanup of derived classes.
-
inline virtual void initialize(pxr::UsdStageWeakPtr stage)#
Initializes the manager with a USD stage.
Sets up the stage reference for component management
- Parameters:
stage – [in] Weak pointer to the USD stage to be managed
- Post:
The manager is initialized with the provided stage
-
virtual void tick(double dt) = 0#
Updates the manager and all managed components.
Pure virtual function that must be implemented by derived classes to define the update behavior of components
- Parameters:
dt – [in] Time step in seconds since the last tick
-
virtual void initComponents() = 0#
Initializes components from the current stage.
Pure virtual function that must be implemented by derived classes to define how components are discovered and initialized from the stage
-
inline virtual void onStart()#
Handles application start event.
Optional callback that runs when the application starts Override this to implement custom start behavior
-
inline virtual void onStop()#
Handles application stop event.
Optional callback that runs when the application stops Override this to implement custom stop behavior
-
virtual void onComponentAdd(const pxr::UsdPrim &prim) = 0#
Creates a new component for the given prim.
Pure virtual function that must be implemented by derived classes to define component creation behavior
- Parameters:
prim – [in] The USD prim to create a component for
-
virtual void onComponentChange(const pxr::UsdPrim &prim) = 0#
Updates a component when its corresponding prim changes.
Pure virtual function that must be implemented by derived classes to define how components react to prim changes
- Parameters:
prim – [in] The USD prim that changed
-
virtual void onComponentRemove(const pxr::SdfPath &primPath) = 0#
Removes a component and its associated resources.
Pure virtual function that must be implemented by derived classes to define component cleanup behavior
- Parameters:
primPath – [in] Path to the prim whose component should be removed
-
virtual void deleteAllComponents() = 0#
Removes all components and performs cleanup.
Pure virtual function that must be implemented by derived classes to define complete cleanup behavior
-
ComponentManager() = default#