CARLA
CarlaSemanticLidarPublisher.h
Go to the documentation of this file.
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 
13 namespace carla {
14 namespace ros2 {
15 
16  struct CarlaSemanticLidarPublisherImpl;
17 
19  public:
20  CarlaSemanticLidarPublisher(const char* ros_name = "", const char* parent = "");
26 
27  bool Init();
28  bool Publish();
29  void SetData(int32_t seconds, uint32_t nanoseconds, size_t elements, size_t height, size_t width, float* data);
30  const char* type() const override { return "semantic lidar"; }
31 
32  private:
33  void SetData(int32_t seconds, uint32_t nanoseconds, size_t height, size_t width, std::vector<uint8_t>&& data);
34 
35  private:
36  std::shared_ptr<CarlaSemanticLidarPublisherImpl> _impl;
37  };
38 }
39 }
std::shared_ptr< CarlaSemanticLidarPublisherImpl > _impl
CarlaSemanticLidarPublisher(const char *ros_name="", const char *parent="")
This file contains definitions of common data structures used in traffic manager. ...
Definition: Carla.cpp:133
CarlaSemanticLidarPublisher & operator=(const CarlaSemanticLidarPublisher &)
const std::string & parent() const
void SetData(int32_t seconds, uint32_t nanoseconds, size_t elements, size_t height, size_t width, float *data)