.. _program_listing_file__tmp_ws_src_webots_ros2_webots_ros2_driver_include_webots_ros2_driver_plugins_static_Ros2Camera.hpp: Program Listing for File Ros2Camera.hpp ======================================= |exhale_lsh| :ref:`Return to documentation for file ` (``/tmp/ws/src/webots_ros2/webots_ros2_driver/include/webots_ros2_driver/plugins/static/Ros2Camera.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp // Copyright 1996-2023 Cyberbotics Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. #ifndef ROS2_CAMERA_HPP #define ROS2_CAMERA_HPP #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace webots_ros2_driver { class Ros2Camera : public Ros2SensorPlugin { public: void init(webots_ros2_driver::WebotsNode *node, std::unordered_map ¶meters) override; void step() override; private: void publishImage(); void publishRecognition(); WbDeviceTag mCamera; std::string mCameraInfoSuffix; std::string mImageSuffix; rclcpp::Publisher::SharedPtr mImagePublisher; sensor_msgs::msg::Image mImageMessage; rclcpp::Publisher::SharedPtr mCameraInfoPublisher; sensor_msgs::msg::CameraInfo mCameraInfoMessage; rclcpp::Publisher::SharedPtr mRecognitionPublisher; rclcpp::Publisher::SharedPtr mWebotsRecognitionPublisher; vision_msgs::msg::Detection2DArray mRecognitionMessage; webots_ros2_msgs::msg::CameraRecognitionObjects mWebotsRecognitionMessage; bool mIsEnabled; bool mRecognitionIsEnabled; }; } // namespace webots_ros2_driver #endif