CARLA
 
载入中...
搜索中...
未找到
CarlaRGBCameraPublisher.h
浏览该文件的文档.
1// Copyright (c) 2022 Computer Vision Center (CVC) at the Universitat Autonoma de Barcelona (UAB).
2// This work is licensed under the terms of the MIT license.
3// For a copy, see <https://opensource.org/licenses/MIT>.
4
5#pragma once
6#define _GLIBCXX_USE_CXX11_ABI 0
7
8#include <memory>
9#include <vector>
10
11#include "CarlaPublisher.h"
12
13namespace carla {
14namespace ros2 {
15
16 struct CarlaRGBCameraPublisherImpl;
17 struct CarlaCameraInfoPublisherImpl;
18
20 public:
21 CarlaRGBCameraPublisher(const char* ros_name = "", const char* parent = "");
27
28 bool Init();
29 void InitInfoData(uint32_t x_offset, uint32_t y_offset, uint32_t height, uint32_t width, float fov, bool do_rectify);
30 bool Publish();
31
32 bool HasBeenInitialized() const;
33 void SetImageData(int32_t seconds, uint32_t nanoseconds, uint32_t height, uint32_t width, const uint8_t* data);
34 void SetCameraInfoData(int32_t seconds, uint32_t nanoseconds);
35 const char* type() const override { return "rgb camera"; }
36
37 private:
38 bool InitImage();
39 bool InitInfo();
40 bool PublishImage();
41 bool PublishInfo();
42
43 void SetImageData(int32_t seconds, uint32_t nanoseconds, uint32_t height, uint32_t width, std::vector<uint8_t>&& data);
44 void SetInfoRegionOfInterest(uint32_t x_offset, uint32_t y_offset, uint32_t height, uint32_t width, bool do_rectify);
45
46 private:
47 std::shared_ptr<CarlaRGBCameraPublisherImpl> _impl;
48 std::shared_ptr<CarlaCameraInfoPublisherImpl> _impl_info;
49 };
50}
51}
const std::string & parent() const
std::shared_ptr< CarlaCameraInfoPublisherImpl > _impl_info
std::shared_ptr< CarlaRGBCameraPublisherImpl > _impl
void SetImageData(int32_t seconds, uint32_t nanoseconds, uint32_t height, uint32_t width, const uint8_t *data)
void SetInfoRegionOfInterest(uint32_t x_offset, uint32_t y_offset, uint32_t height, uint32_t width, bool do_rectify)
CarlaRGBCameraPublisher(const char *ros_name="", const char *parent="")
void InitInfoData(uint32_t x_offset, uint32_t y_offset, uint32_t height, uint32_t width, float fov, bool do_rectify)
CarlaRGBCameraPublisher & operator=(const CarlaRGBCameraPublisher &)
void SetCameraInfoData(int32_t seconds, uint32_t nanoseconds)
This file contains definitions of common data structures used in traffic manager.
Definition Carla.cpp:133