Public Member Functions | Private Member Functions | Private Attributes | List of all members
PointcloudPublisher Class Reference

#include <point_cloud_publisher.h>

Inheritance diagram for PointcloudPublisher:
Inheritance graph
[legend]

Public Member Functions

 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)
 
- Public Member Functions inherited from PFDataPublisher
 PFDataPublisher (std::shared_ptr< ScanConfig > config, std::shared_ptr< ScanParameters > params)
 
virtual void read (PFR2000Packet_A &packet)
 
virtual void read (PFR2000Packet_B &packet)
 
virtual void read (PFR2000Packet_C &packet)
 
virtual void read (PFR2300Packet_C1 &packet)
 
virtual bool start ()
 
virtual bool stop ()
 
- Public Member Functions inherited from PFPacketReader
virtual void read (std::shared_ptr< PFPacket > packet)
 
- Public Member Functions inherited from Reader< PFPacket >
virtual void set_scan_params (ScanParameters params)
 
virtual void set_scanoutput_config (ScanConfig config)
 

Private Member Functions

void add_pointcloud (sensor_msgs::PointCloud2 &c1, sensor_msgs::PointCloud2 c2)
 
void copy_pointcloud (sensor_msgs::PointCloud2 &c1, sensor_msgs::PointCloud2 c2)
 
virtual void handle_scan (sensor_msgs::LaserScanPtr msg, uint16_t layer_idx, int layer_inclination, bool apply_correction)
 
void project_laser (sensor_msgs::PointCloud2 &c, sensor_msgs::LaserScanPtr msg, const int layer_inclination)
 
void publish_scan (sensor_msgs::LaserScanPtr msg, uint16_t idx)
 
void publish_static_transform (const std::string &parent, const std::string &child, int inclination_angle)
 
virtual void resetCurrentScans ()
 

Private Attributes

std::vector< int > angles_
 
sensor_msgs::PointCloud2Ptr cloud_
 
std::map< int, std::vector< double > > correction_params_
 
std::vector< std::string > frame_ids_
 
int16_t layer_prev_
 
ros::Publisher pcl_publisher_
 
laser_geometry::LaserProjection projector_
 
std::vector< ros::Publisherscan_publishers_
 
tf2_ros::StaticTransformBroadcaster static_broadcaster_
 
tf::TransformListener tfListener_
 

Additional Inherited Members

- Protected Member Functions inherited from PFDataPublisher
bool check_status (uint32_t status_flags)
 
template<typename T >
void to_msg_queue (T &packet, uint16_t layer_idx=0, int layer_inclination=0)
 
- Protected Attributes inherited from PFDataPublisher
std::shared_ptr< ScanConfigconfig_
 
std::deque< sensor_msgs::LaserScanPtr > d_queue_
 
std::string frame_id_
 
ros::Publisher header_publisher_
 
ros::NodeHandle nh_
 
std::shared_ptr< ScanParametersparams_
 
std::mutex q_mutex_
 

Detailed Description

Definition at line 10 of file point_cloud_publisher.h.

Constructor & Destructor Documentation

◆ 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 at line 7 of file point_cloud_publisher.cpp.

Member Function Documentation

◆ add_pointcloud()

void PointcloudPublisher::add_pointcloud ( sensor_msgs::PointCloud2 &  c1,
sensor_msgs::PointCloud2  c2 
)
private

Definition at line 135 of file point_cloud_publisher.cpp.

◆ copy_pointcloud()

void PointcloudPublisher::copy_pointcloud ( sensor_msgs::PointCloud2 &  c1,
sensor_msgs::PointCloud2  c2 
)
private

Definition at line 122 of file point_cloud_publisher.cpp.

◆ handle_scan()

void PointcloudPublisher::handle_scan ( sensor_msgs::LaserScanPtr  msg,
uint16_t  layer_idx,
int  layer_inclination,
bool  apply_correction 
)
privatevirtual

Implements PFDataPublisher.

Definition at line 85 of file point_cloud_publisher.cpp.

◆ project_laser()

void PointcloudPublisher::project_laser ( sensor_msgs::PointCloud2 &  c,
sensor_msgs::LaserScanPtr  msg,
const int  layer_inclination 
)
private

Definition at line 152 of file point_cloud_publisher.cpp.

◆ publish_scan()

void PointcloudPublisher::publish_scan ( sensor_msgs::LaserScanPtr  msg,
uint16_t  idx 
)
private

Definition at line 79 of file point_cloud_publisher.cpp.

◆ publish_static_transform()

void PointcloudPublisher::publish_static_transform ( const std::string &  parent,
const std::string &  child,
int  inclination_angle 
)
private

Definition at line 56 of file point_cloud_publisher.cpp.

◆ resetCurrentScans()

void PointcloudPublisher::resetCurrentScans ( )
privatevirtual

Reimplemented from PFDataPublisher.

Definition at line 50 of file point_cloud_publisher.cpp.

Member Data Documentation

◆ angles_

std::vector<int> PointcloudPublisher::angles_
private

Definition at line 27 of file point_cloud_publisher.h.

◆ cloud_

sensor_msgs::PointCloud2Ptr PointcloudPublisher::cloud_
private

Definition at line 18 of file point_cloud_publisher.h.

◆ correction_params_

std::map<int, std::vector<double> > PointcloudPublisher::correction_params_
private

Definition at line 23 of file point_cloud_publisher.h.

◆ frame_ids_

std::vector<std::string> PointcloudPublisher::frame_ids_
private

Definition at line 25 of file point_cloud_publisher.h.

◆ layer_prev_

int16_t PointcloudPublisher::layer_prev_
private

Definition at line 22 of file point_cloud_publisher.h.

◆ pcl_publisher_

ros::Publisher PointcloudPublisher::pcl_publisher_
private

Definition at line 21 of file point_cloud_publisher.h.

◆ projector_

laser_geometry::LaserProjection PointcloudPublisher::projector_
private

Definition at line 20 of file point_cloud_publisher.h.

◆ scan_publishers_

std::vector<ros::Publisher> PointcloudPublisher::scan_publishers_
private

Definition at line 24 of file point_cloud_publisher.h.

◆ static_broadcaster_

tf2_ros::StaticTransformBroadcaster PointcloudPublisher::static_broadcaster_
private

Definition at line 26 of file point_cloud_publisher.h.

◆ tfListener_

tf::TransformListener PointcloudPublisher::tfListener_
private

Definition at line 19 of file point_cloud_publisher.h.


The documentation for this class was generated from the following files:


pf_driver
Author(s): Harsh Deshpande
autogenerated on Fri Feb 24 2023 03:59:35