CARLA
 
载入中...
搜索中...
未找到
CarlaDepthCameraPublisher.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 CarlaDepthCameraPublisherImpl;
17 struct CarlaCameraInfoPublisherImpl;
18
20 public:
21 CarlaDepthCameraPublisher(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, size_t height, size_t width, const uint8_t* data);
34 void SetCameraInfoData(int32_t seconds, uint32_t nanoseconds);
35 const char* type() const override { return "depth camera"; }
36
37 private:
38 bool InitImage();
39 bool InitInfo();
40 bool PublishImage();
41 bool PublishInfo();
42
43 void SetInfoRegionOfInterest( uint32_t x_offset, uint32_t y_offset, uint32_t height, uint32_t width, bool do_rectify);
44 void SetData(int32_t seconds, uint32_t nanoseconds, size_t height, size_t width, std::vector<uint8_t>&& data);
45
46 private:
47 std::shared_ptr<CarlaDepthCameraPublisherImpl> _impl;
48 std::shared_ptr<CarlaCameraInfoPublisherImpl> _impl_info;
49 };
50}
51}
CarlaDepthCameraPublisher & operator=(const CarlaDepthCameraPublisher &)
void SetInfoRegionOfInterest(uint32_t x_offset, uint32_t y_offset, uint32_t height, uint32_t width, bool do_rectify)
CarlaDepthCameraPublisher(const char *ros_name="", const char *parent="")
void SetImageData(int32_t seconds, uint32_t nanoseconds, size_t height, size_t width, const uint8_t *data)
void SetData(int32_t seconds, uint32_t nanoseconds, size_t height, size_t width, std::vector< uint8_t > &&data)
std::shared_ptr< CarlaDepthCameraPublisherImpl > _impl
void InitInfoData(uint32_t x_offset, uint32_t y_offset, uint32_t height, uint32_t width, float fov, bool do_rectify)
std::shared_ptr< CarlaCameraInfoPublisherImpl > _impl_info
void SetCameraInfoData(int32_t seconds, uint32_t nanoseconds)
const std::string & parent() const
This file contains definitions of common data structures used in traffic manager.
Definition Carla.cpp:133