point_cloud_publisher.h
Go to the documentation of this file.
1 #pragma once
2 
4 #include <sensor_msgs/PointCloud2.h>
7 
9 
11 {
12 public:
13  PointcloudPublisher(std::shared_ptr<ScanConfig> config, std::shared_ptr<ScanParameters> params,
14  const std::string& scan_topic, const std::string& frame_id, const uint16_t num_layers,
15  const std::string& part);
16 
17 private:
18  sensor_msgs::PointCloud2Ptr cloud_;
22  int16_t layer_prev_;
23  std::map<int, std::vector<double>> correction_params_;
24  std::vector<ros::Publisher> scan_publishers_;
25  std::vector<std::string> frame_ids_;
27  std::vector<int> angles_;
28 
29  virtual void handle_scan(sensor_msgs::LaserScanPtr msg, uint16_t layer_idx, int layer_inclination,
30  bool apply_correction);
31  void add_pointcloud(sensor_msgs::PointCloud2& c1, sensor_msgs::PointCloud2 c2);
32  void copy_pointcloud(sensor_msgs::PointCloud2& c1, sensor_msgs::PointCloud2 c2);
33 
34  void project_laser(sensor_msgs::PointCloud2& c, sensor_msgs::LaserScanPtr msg, const int layer_inclination);
35 
36  virtual void resetCurrentScans();
37 
38  void publish_static_transform(const std::string& parent, const std::string& child, int inclination_angle);
39 
40  void publish_scan(sensor_msgs::LaserScanPtr msg, uint16_t idx);
41 };
PointcloudPublisher::copy_pointcloud
void copy_pointcloud(sensor_msgs::PointCloud2 &c1, sensor_msgs::PointCloud2 c2)
Definition: point_cloud_publisher.cpp:122
PointcloudPublisher::projector_
laser_geometry::LaserProjection projector_
Definition: point_cloud_publisher.h:20
PointcloudPublisher::tfListener_
tf::TransformListener tfListener_
Definition: point_cloud_publisher.h:19
ros::Publisher
PointcloudPublisher::correction_params_
std::map< int, std::vector< double > > correction_params_
Definition: point_cloud_publisher.h:23
PFDataPublisher
Definition: pf_data_publisher.h:11
PointcloudPublisher::cloud_
sensor_msgs::PointCloud2Ptr cloud_
Definition: point_cloud_publisher.h:18
laser_geometry::LaserProjection
PointcloudPublisher::angles_
std::vector< int > angles_
Definition: point_cloud_publisher.h:27
tf2_ros::StaticTransformBroadcaster
pf_data_publisher.h
laser_geometry.h
PointcloudPublisher::PointcloudPublisher
PointcloudPublisher(std::shared_ptr< ScanConfig > config, std::shared_ptr< ScanParameters > params, const std::string &scan_topic, const std::string &frame_id, const uint16_t num_layers, const std::string &part)
Definition: point_cloud_publisher.cpp:7
PointcloudPublisher
Definition: point_cloud_publisher.h:10
PointcloudPublisher::publish_scan
void publish_scan(sensor_msgs::LaserScanPtr msg, uint16_t idx)
Definition: point_cloud_publisher.cpp:79
PointcloudPublisher::handle_scan
virtual void handle_scan(sensor_msgs::LaserScanPtr msg, uint16_t layer_idx, int layer_inclination, bool apply_correction)
Definition: point_cloud_publisher.cpp:85
PointcloudPublisher::static_broadcaster_
tf2_ros::StaticTransformBroadcaster static_broadcaster_
Definition: point_cloud_publisher.h:26
PointcloudPublisher::pcl_publisher_
ros::Publisher pcl_publisher_
Definition: point_cloud_publisher.h:21
PointcloudPublisher::publish_static_transform
void publish_static_transform(const std::string &parent, const std::string &child, int inclination_angle)
Definition: point_cloud_publisher.cpp:56
PointcloudPublisher::resetCurrentScans
virtual void resetCurrentScans()
Definition: point_cloud_publisher.cpp:50
transform_listener.h
PointcloudPublisher::scan_publishers_
std::vector< ros::Publisher > scan_publishers_
Definition: point_cloud_publisher.h:24
PointcloudPublisher::frame_ids_
std::vector< std::string > frame_ids_
Definition: point_cloud_publisher.h:25
PointcloudPublisher::add_pointcloud
void add_pointcloud(sensor_msgs::PointCloud2 &c1, sensor_msgs::PointCloud2 c2)
Definition: point_cloud_publisher.cpp:135
PointcloudPublisher::project_laser
void project_laser(sensor_msgs::PointCloud2 &c, sensor_msgs::LaserScanPtr msg, const int layer_inclination)
Definition: point_cloud_publisher.cpp:152
PointcloudPublisher::layer_prev_
int16_t layer_prev_
Definition: point_cloud_publisher.h:22
tf::TransformListener
static_transform_broadcaster.h
config
config


pf_driver
Author(s): Harsh Deshpande
autogenerated on Sun Feb 4 2024 03:32:56