CARLA
 
载入中...
�索中...
未找到
CarlaSSCameraPublisher.h
�览该文件的文档.
1// This work is licensed under the terms of the MIT license.
2// For a copy, see <https://opensource.org/licenses/MIT>.
3
4// ָʾͷÎļþÖ»±»°üº¬Ò»´Î
5#pragma once
6// ¶¨Òå GLIBCXX µÄʹÓà C++11 ABI µÄºê
7#define _GLIBCXX_USE_CXX11_ABI 0
8
9// ÒýÈëÄÚ´æ¹ÜÀíºÍÏòÁ¿¿â
10#include <memory>
11#include <vector>
12
13// ÒýÈë CarlaPublisher ÀàµÄ¶¨Òå
14#include "CarlaPublisher.h"
15
16namespace carla {
17namespace ros2 {
18
19 // ǰÏòÉùÃ÷½á¹¹Ìå CarlaSSCameraPublisherImpl ºÍ CarlaCameraInfoPublisherImpl
20 struct CarlaSSCameraPublisherImpl;
21 struct CarlaCameraInfoPublisherImpl;
22
23 // ¶¨Òå CarlaSSCameraPublisher À࣬¼Ì³Ð×Ô CarlaPublisher
25 public:
26 // ¹¹Ô캯Êý£¬½ÓÊÜ ROS Ãû³ÆºÍ¸¸¼¶Ãû³Æ×÷Ϊ²ÎÊý£¬Ä¬ÈÏΪ¿Õ×Ö·û´®
27 CarlaSSCameraPublisher(const char* ros_name = "", const char* parent = "");
28 // Îö¹¹º¯Êý
30 // ¿½±´¹¹Ô캯Êý
32 // ¿½±´¸³ÖµÔËËã·û
34 // ÒÆ¶¯¹¹Ô캯Êý
36 // ÒÆ¶¯¸³ÖµÔËËã·û
38
39 // ³õʼ»¯º¯Êý£¬·µ»Ø²¼¶ûֵָʾÊÇ·ñ³É¹¦
40 bool Init();
41 // ³õʼ»¯Ïà»úÐÅÏ¢Êý¾Ý£¬°üÀ¨Æ«ÒÆÁ¿¡¢Í¼Ïñ³ß´çºÍÊÓ³¡½ÇµÈ²ÎÊý
42 void InitInfoData(uint32_t x_offset, uint32_t y_offset, uint32_t height, uint32_t width, float fov, bool do_rectify);
43 // ·¢²¼Êý¾ÝµÄº¯Êý£¬·µ»Ø²¼¶ûֵָʾÊÇ·ñ³É¹¦
44 bool Publish();
45
46 // ¼ì²éÏà»úÊÇ·ñÒѳõʼ»¯
47 bool HasBeenInitialized() const;
48 // ÉèÖÃͼÏñÊý¾ÝµÄº¯Êý£¬½ÓÊÕʱ¼ä´ÁºÍͼÏñÊý¾Ý
49 void SetImageData(int32_t seconds, uint32_t nanoseconds, size_t height, size_t width, const uint8_t* data);
50 // ÉèÖÃÏà»úÐÅÏ¢Êý¾ÝµÄº¯Êý£¬½ÓÊÕʱ¼ä´Á
51 void SetCameraInfoData(int32_t seconds, uint32_t nanoseconds);
52 // ¸²¸Ç»ùÀàµÄ type() ·½·¨£¬·µ»Ø´«¸ÐÆ÷ÀàÐÍ
53 const char* type() const override { return "semantic segmentation"; }
54
55 private:
56 // ³õʼ»¯Í¼ÏñÊý¾ÝµÄ˽Óк¯Êý£¬·µ»Ø²¼¶ûֵָʾÊÇ·ñ³É¹¦
57 bool InitImage();
58 // ³õʼ»¯ÐÅÏ¢µÄ˽Óк¯Êý£¬·µ»Ø²¼¶ûֵָʾÊÇ·ñ³É¹¦
59 bool InitInfo();
60 // ·¢²¼Í¼ÏñµÄ˽Óк¯Êý£¬·µ»Ø²¼¶ûֵָʾÊÇ·ñ³É¹¦
61 bool PublishImage();
62 // ·¢²¼ÐÅÏ¢µÄ˽Óк¯Êý£¬·µ»Ø²¼¶ûֵָʾÊÇ·ñ³É¹¦
63 bool PublishInfo();
64
65 // ÉèÖøÐÐËÈ¤ÇøÓòÐÅÏ¢£¬°üÀ¨Æ«ÒÆÁ¿¡¢³ß´çºÍÊÇ·ñ½øÐÐУÕý
66 void SetInfoRegionOfInterest( uint32_t x_offset, uint32_t y_offset, uint32_t height, uint32_t width, bool do_rectify);
67 // ÄÚ²¿Êý¾ÝÉèÖú¯Êý£¬Ê¹ÓÃÓÒÖµÒýÓ÷½Ê½´«µÝÊý¾Ý
68 void SetData(int32_t seconds, uint32_t nanoseconds, size_t height, size_t width, std::vector<uint8_t>&& data);
69
70 private:
71 // ʹÓÃÖÇÄÜÖ¸Õë¹ÜÀí CarlaSSCameraPublisherImpl ºÍ CarlaCameraInfoPublisherImpl µÄʵÀý
72 std::shared_ptr<CarlaSSCameraPublisherImpl> _impl;
73 std::shared_ptr<CarlaCameraInfoPublisherImpl> _impl_info;
74 };
75}// namespace ros2
76}// namespace carla
const std::string & parent() const
bool HasBeenInitialized() const
检查CarlaSSCameraPublisher是�已�始化。
std::shared_ptr< CarlaSSCameraPublisherImpl > _impl
CarlaSSCameraPublisher & operator=(const CarlaSSCameraPublisher &)
赋值�算符�载
bool Init()
�始化相机�布者
void SetCameraInfoData(int32_t seconds, uint32_t nanoseconds)
设置相机信�数�的时间戳
void SetInfoRegionOfInterest(uint32_t x_offset, uint32_t y_offset, uint32_t height, uint32_t width, bool do_rectify)
设置感兴趣区域的信�
const char * type() const override
bool InitImage()
�始化相机图�
void SetImageData(int32_t seconds, uint32_t nanoseconds, size_t height, size_t width, const uint8_t *data)
设置图�数�
bool PublishInfo()
�布信�数�
std::shared_ptr< CarlaCameraInfoPublisherImpl > _impl_info
bool Publish()
�布图�和信�
bool InitInfo()
�始化CarlaSSCameraPublisher的信�
bool PublishImage()
�布图�数�
void InitInfoData(uint32_t x_offset, uint32_t y_offset, uint32_t height, uint32_t width, float fov, bool do_rectify)
�始化相机信�数�
void SetData(int32_t seconds, uint32_t nanoseconds, size_t height, size_t width, std::vector< uint8_t > &&data)
设置图�数�
~CarlaSSCameraPublisher()
CarlaSSCameraPublisher类的�构函数
CARLA模拟器的主命�空间。
Definition: Carla.cpp:139