15 #ifndef SPINNAKER_CAMERA_NODES__SPINNAKER_CAMERA_NODE_HPP_ 16 #define SPINNAKER_CAMERA_NODES__SPINNAKER_CAMERA_NODE_HPP_ 18 #include <rclcpp/rclcpp.hpp> 19 #include <rclcpp/publisher.hpp> 20 #include <sensor_msgs/msg/image.hpp> 42 const rclcpp::NodeOptions & node_options);
46 class SPINNAKER_CAMERA_NODES_LOCAL ProtectedPublisher;
49 SPINNAKER_CAMERA_NODES_LOCAL
void publish_image(
50 std::uint32_t camera_index,
51 std::unique_ptr<sensor_msgs::msg::Image> image);
58 SPINNAKER_CAMERA_NODES_LOCAL
static std::vector<ProtectedPublisher> create_publishers(
59 ::rclcpp::Node * node,
60 size_t number_of_cameras,
61 bool use_publisher_per_camera);
63 std::unique_ptr<spinnaker::SystemWrapper> m_spinnaker_wrapper{};
64 std::vector<ProtectedPublisher> m_publishers{};
65 bool m_use_publisher_per_camera{};
70 using PublisherT = ::rclcpp::Publisher<::sensor_msgs::msg::Image>;
74 void set_publisher(PublisherT::SharedPtr publisher);
76 void publish(std::unique_ptr<sensor_msgs::msg::Image> image);
79 std::mutex m_publish_mutex{};
80 PublisherT::SharedPtr m_publisher{};
87 #endif // SPINNAKER_CAMERA_NODES__SPINNAKER_CAMERA_NODE_HPP_
Definition: spinnaker_camera_node.hpp:68
Definition: spinnaker_camera_node.hpp:36
Definition: camera_list_wrapper.hpp:49
A class that wraps the Spinnaker SDK system pointer and handles its correct release.
Definition: system_wrapper.hpp:38
This file defines the lanelet2_map_provider_node class.
Definition: quick_sort.hpp:24