Ros2FactoryImpl#
Fully qualified name: isaacsim::ros2::bridge::Ros2FactoryImpl
-
class Ros2FactoryImpl : public isaacsim::ros2::bridge::Ros2Factory#
Concrete implementation of the ROS 2 factory interface.
Implements the Ros2Factory interface to provide creation methods for all ROS 2 entities used in the Isaac Sim bridge. This includes context handlers, node handlers, communication primitives, and various message types.
Public Functions
-
virtual std::shared_ptr<Ros2ContextHandle> createContextHandle()#
Creates a new ROS 2 context handle.
- Returns:
std::shared_ptr<Ros2ContextHandle> Pointer to the created context handle
- virtual std::shared_ptr<Ros2NodeHandle> createNodeHandle(
- const char *name,
- const char *namespaceName,
- Ros2ContextHandle *contextHandle,
Creates a new ROS 2 node handle.
- Parameters:
name – [in] Name of the node
namespaceName – [in] Namespace for the node
contextHandle – [in] Pointer to the context handle for this node
- Returns:
std::shared_ptr<Ros2NodeHandle> Pointer to the created node handle
- virtual std::shared_ptr<Ros2Publisher> createPublisher(
- Ros2NodeHandle *nodeHandle,
- const char *topicName,
- const void *typeSupport,
- const Ros2QoSProfile &qos,
Creates a new ROS 2 publisher.
- Parameters:
nodeHandle – [in] Pointer to the node handle that will own this publisher
topicName – [in] Name of the topic to publish to
typeSupport – [in] Type support handle for the message type
qos – [in] Quality of Service settings for the publisher
- Returns:
std::shared_ptr<Ros2Publisher> Pointer to the created publisher
- virtual std::shared_ptr<Ros2Subscriber> createSubscriber(
- Ros2NodeHandle *nodeHandle,
- const char *topicName,
- const void *typeSupport,
- const Ros2QoSProfile &qos,
Creates a new ROS 2 subscriber.
- Parameters:
nodeHandle – [in] Pointer to the node handle that will own this subscriber
topicName – [in] Name of the topic to subscribe to
typeSupport – [in] Type support handle for the message type
qos – [in] Quality of Service settings for the subscriber
- Returns:
std::shared_ptr<Ros2Subscriber> Pointer to the created subscriber
- virtual std::shared_ptr<Ros2Service> createService(
- Ros2NodeHandle *nodeHandle,
- const char *serviceName,
- const void *typeSupport,
- const Ros2QoSProfile &qos,
Creates a new ROS 2 service server.
- Parameters:
nodeHandle – [in] Pointer to the node handle that will own this service
serviceName – [in] Name of the service
typeSupport – [in] Type support handle for the service type
qos – [in] Quality of Service settings for the service
- Returns:
std::shared_ptr<Ros2Service> Pointer to the created service server
- virtual std::shared_ptr<Ros2Client> createClient(
- Ros2NodeHandle *nodeHandle,
- const char *serviceName,
- const void *typeSupport,
- const Ros2QoSProfile &qos,
Creates a new ROS 2 service client.
- Parameters:
nodeHandle – [in] Pointer to the node handle that will own this client
serviceName – [in] Name of the service to connect to
typeSupport – [in] Type support handle for the service type
qos – [in] Quality of Service settings for the client
- Returns:
std::shared_ptr<Ros2Client> Pointer to the created service client
-
virtual std::shared_ptr<Ros2ClockMessage> createClockMessage()#
Creates a Clock message.
-
virtual std::shared_ptr<Ros2ImuMessage> createImuMessage()#
Creates an IMU message.
- virtual std::shared_ptr<Ros2CameraInfoMessage> createCameraInfoMessage(
Creates a Camera Info message.
-
virtual std::shared_ptr<Ros2ImageMessage> createImageMessage()#
Creates an Image message.
- virtual std::shared_ptr<Ros2NitrosBridgeImageMessage> createNitrosBridgeImageMessage(
Creates a Nitros Bridge Image message.
- virtual std::shared_ptr<Ros2BoundingBox2DMessage> createBoundingBox2DMessage(
Creates a 2D Bounding Box message.
- virtual std::shared_ptr<Ros2BoundingBox3DMessage> createBoundingBox3DMessage(
Creates a 3D Bounding Box message.
- virtual std::shared_ptr<Ros2OdometryMessage> createOdometryMessage(
Creates an Odometry message.
- virtual std::shared_ptr<Ros2RawTfTreeMessage> createRawTfTreeMessage(
Creates a Raw Transform Tree message.
- virtual std::shared_ptr<Ros2SemanticLabelMessage> createSemanticLabelMessage(
Creates a Semantic Label message.
- virtual std::shared_ptr<Ros2JointStateMessage> createJointStateMessage(
Creates a Joint State message.
- virtual std::shared_ptr<Ros2PointCloudMessage> createPointCloudMessage(
Creates a Point Cloud message.
- virtual std::shared_ptr<Ros2LaserScanMessage> createLaserScanMessage(
Creates a Laser Scan message.
-
virtual std::shared_ptr<Ros2TfTreeMessage> createTfTreeMessage()#
Creates a Transform Tree message.
-
virtual std::shared_ptr<Ros2TwistMessage> createTwistMessage()#
Creates a Twist message.
- virtual std::shared_ptr<Ros2AckermannDriveStampedMessage> createAckermannDriveStampedMessage(
Creates an Ackermann Drive Stamped message.
- virtual std::shared_ptr<Ros2Message> createDynamicMessage(
- const std::string &pkgName,
- const std::string &msgSubfolder,
- const std::string &msgName,
- BackendMessageType messageType = BackendMessageType::eMessage,
Creates a dynamic message type at runtime.
- Parameters:
pkgName – [in] Name of the ROS 2 package containing the message definition
msgSubfolder – [in] Subfolder containing the message definition (msg, srv, action)
msgName – [in] Name of the message type
messageType – [in] Type of the message (topic, service, action component)
- Returns:
std::shared_ptr<Ros2Message> Pointer to the created dynamic message
-
virtual bool validateTopicName(const std::string &topicName)#
Validates a ROS 2 topic name.
- Parameters:
topicName – [in] Name to validate
- Returns:
bool True if the topic name is valid
-
virtual std::shared_ptr<Ros2ContextHandle> createContextHandle()#