Ros2CompressedImageMessageImpl#

Fully qualified name: isaacsim::ros2::core::Ros2CompressedImageMessageImpl

class Ros2CompressedImageMessageImpl : public isaacsim::ros2::core::Ros2CompressedImageMessage, private isaacsim::ros2::core::Ros2MessageInterfaceImpl#

Implementation of ROS 2 Compressed Image message.

Handles the creation and manipulation of sensor_msgs/msg/CompressedImage messages, which contain compressed image data (e.g., H264, HEVC encoded bitstreams).

Public Functions

Ros2CompressedImageMessageImpl()#
virtual ~Ros2CompressedImageMessageImpl()#
virtual const void *getTypeSupportHandle()#

Gets the type support handle for the message.

Returns a pointer to the ROS IDL message type support data structure. The actual type depends on the message category:

  • Topic: rosidl_message_type_support_t

  • Service: rosidl_service_type_support_t

  • Action: rosidl_action_type_support_t

Returns:

Pointer to the type support structure or nullptr.

virtual void writeHeader(
const double timeStamp,
const std::string &frameId,
)#

Writes the message header.

Parameters:
  • timeStamp – [in] Time in seconds

  • frameId – [in] Frame ID for the image

virtual void writeData(
const uint8_t *data,
size_t dataSize,
const std::string &format,
)#

Writes the compressed image data.

Parameters:
  • data – [in] Pointer to the compressed image data

  • dataSize – [in] Size of the data in bytes

  • format – [in] Compression format string (e.g., “h264”, “hevc”)

inline void *getPtr()#

Retrieves the message pointer.

Returns the pointer to the underlying ROS 2 message if it has been properly created and initialized.

Note

This method does not perform type checking - the caller is responsible for proper casting to the appropriate message type.

Returns:

Pointer to the message or nullptr if not initialized.

Protected Attributes

std::vector<uint8_t> m_dataBuffer#

Buffer for the compressed data.

void *m_msg = nullptr#

Message pointer.