Classes | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
sick_scansegment_xd::RosMsgpackPublisher Class Reference

#include <ros_msgpack_publisher.h>

Inheritance diagram for sick_scansegment_xd::RosMsgpackPublisher:
Inheritance graph
[legend]

Classes

class  SegmentPointsCollector
 

Public Member Functions

virtual sick_scansegment_xd::MsgPackExportListenerIFExportListener (void)
 
virtual void GetFullframeAngleRanges (float &fullframe_azimuth_min_deg, float &fullframe_azimuth_max_deg, float &fullframe_elevation_min_deg, float &fullframe_elevation_max_deg) const
 
virtual void HandleMsgPackData (const sick_scansegment_xd::ScanSegmentParserOutput &msgpack_data)
 
virtual bool initLFPangleRangeFilterSettings (const std::string &host_LFPangleRangeFilter)
 
virtual bool initLFPlayerFilterSettings (const std::string &host_LFPlayerFilter)
 
 RosMsgpackPublisher (const std::string &node_name="sick_scansegment_xd", const sick_scansegment_xd::Config &config=sick_scansegment_xd::Config())
 
virtual void SetActive (bool active)
 
virtual ~RosMsgpackPublisher ()
 

Protected Types

typedef std::map< int, std::map< int, ros_sensor_msgs::LaserScan > > LaserScanMsgMap
 

Protected Member Functions

void convertPointsToCustomizedFieldsCloud (uint32_t timestamp_sec, uint32_t timestamp_nsec, uint64_t lidar_timestamp_start_microsec, const std::vector< std::vector< sick_scansegment_xd::PointXYZRAEI32f >> &lidar_points, CustomPointCloudConfiguration &pointcloud_cfg, PointCloud2Msg &pointcloud_msg)
 
void convertPointsToLaserscanMsg (uint32_t timestamp_sec, uint32_t timestamp_nsec, const std::vector< std::vector< sick_scansegment_xd::PointXYZRAEI32f >> &lidar_points, size_t total_point_count, LaserScanMsgMap &laser_scan_msg_map, const std::string &frame_id, bool is_fullframe)
 
std::string printCoverageTable (const std::map< int, std::map< int, int >> &elevation_azimuth_histograms)
 
std::string printElevationAzimuthTable (const std::vector< std::vector< sick_scansegment_xd::PointXYZRAEI32f >> &lidar_points)
 
void publishLaserScanMsg (rosNodePtr node, LaserscanMsgPublisher &laserscan_publisher, LaserScanMsgMap &laser_scan_msg_map, int32_t num_echos, int32_t segment_idx)
 
void publishPointCloud2Msg (rosNodePtr node, PointCloud2MsgPublisher &publisher, PointCloud2Msg &pointcloud_msg, int32_t num_echos, int32_t segment_idx, int coordinate_notation, const std::string &topic)
 

Protected Attributes

bool m_active
 
float m_all_segments_azimuth_max_deg = +180
 
float m_all_segments_azimuth_min_deg = -180
 
float m_all_segments_elevation_max_deg = 0
 
float m_all_segments_elevation_min_deg = 0
 
std::vector< CustomPointCloudConfigurationm_custom_pointclouds_cfg
 
std::string m_frame_id
 
int m_host_FREchoFilter
 
bool m_host_set_FREchoFilter
 
std::vector< int > m_laserscan_layer_filter
 
rosNodePtr m_node
 
SegmentPointsCollector m_points_collector
 
ImuMsgPublisher m_publisher_imu
 
bool m_publisher_imu_initialized = false
 
LaserscanMsgPublisher m_publisher_laserscan_360
 
LaserscanMsgPublisher m_publisher_laserscan_segment
 
double m_scan_time = 0
 

Detailed Description

Definition at line 158 of file ros_msgpack_publisher.h.

Member Typedef Documentation

◆ LaserScanMsgMap

typedef std::map<int,std::map<int,ros_sensor_msgs::LaserScan> > sick_scansegment_xd::RosMsgpackPublisher::LaserScanMsgMap
protected

Definition at line 222 of file ros_msgpack_publisher.h.

Constructor & Destructor Documentation

◆ RosMsgpackPublisher()

sick_scansegment_xd::RosMsgpackPublisher::RosMsgpackPublisher ( const std::string &  node_name = "sick_scansegment_xd",
const sick_scansegment_xd::Config config = sick_scansegment_xd::Config() 
)

Definition at line 264 of file ros_msgpack_publisher.cpp.

◆ ~RosMsgpackPublisher()

sick_scansegment_xd::RosMsgpackPublisher::~RosMsgpackPublisher ( )
virtual

Definition at line 420 of file ros_msgpack_publisher.cpp.

Member Function Documentation

◆ convertPointsToCustomizedFieldsCloud()

void sick_scansegment_xd::RosMsgpackPublisher::convertPointsToCustomizedFieldsCloud ( uint32_t  timestamp_sec,
uint32_t  timestamp_nsec,
uint64_t  lidar_timestamp_start_microsec,
const std::vector< std::vector< sick_scansegment_xd::PointXYZRAEI32f >> &  lidar_points,
CustomPointCloudConfiguration pointcloud_cfg,
PointCloud2Msg pointcloud_msg 
)
protected

Definition at line 558 of file ros_msgpack_publisher.cpp.

◆ convertPointsToLaserscanMsg()

void sick_scansegment_xd::RosMsgpackPublisher::convertPointsToLaserscanMsg ( uint32_t  timestamp_sec,
uint32_t  timestamp_nsec,
const std::vector< std::vector< sick_scansegment_xd::PointXYZRAEI32f >> &  lidar_points,
size_t  total_point_count,
LaserScanMsgMap laser_scan_msg_map,
const std::string &  frame_id,
bool  is_fullframe 
)
protected

Definition at line 667 of file ros_msgpack_publisher.cpp.

◆ ExportListener()

sick_scansegment_xd::MsgPackExportListenerIF * sick_scansegment_xd::RosMsgpackPublisher::ExportListener ( void  )
virtual

Definition at line 1123 of file ros_msgpack_publisher.cpp.

◆ GetFullframeAngleRanges()

virtual void sick_scansegment_xd::RosMsgpackPublisher::GetFullframeAngleRanges ( float &  fullframe_azimuth_min_deg,
float &  fullframe_azimuth_max_deg,
float &  fullframe_elevation_min_deg,
float &  fullframe_elevation_max_deg 
) const
inlinevirtual

Definition at line 212 of file ros_msgpack_publisher.h.

◆ HandleMsgPackData()

void sick_scansegment_xd::RosMsgpackPublisher::HandleMsgPackData ( const sick_scansegment_xd::ScanSegmentParserOutput msgpack_data)
virtual

◆ initLFPangleRangeFilterSettings()

bool sick_scansegment_xd::RosMsgpackPublisher::initLFPangleRangeFilterSettings ( const std::string &  host_LFPangleRangeFilter)
virtual

Definition at line 195 of file ros_msgpack_publisher.cpp.

◆ initLFPlayerFilterSettings()

bool sick_scansegment_xd::RosMsgpackPublisher::initLFPlayerFilterSettings ( const std::string &  host_LFPlayerFilter)
virtual

Definition at line 222 of file ros_msgpack_publisher.cpp.

◆ printCoverageTable()

std::string sick_scansegment_xd::RosMsgpackPublisher::printCoverageTable ( const std::map< int, std::map< int, int >> &  elevation_azimuth_histograms)
protected

Prints (elevation,azimuth) values of the coverage table of collected lidar points

Definition at line 452 of file ros_msgpack_publisher.cpp.

◆ printElevationAzimuthTable()

std::string sick_scansegment_xd::RosMsgpackPublisher::printElevationAzimuthTable ( const std::vector< std::vector< sick_scansegment_xd::PointXYZRAEI32f >> &  lidar_points)
protected

Shortcut to publish a PointCloud2Msg Prints (elevation,azimuth) values of all lidar points

Prints (elevation,azimuth) values of all lidar points

Definition at line 425 of file ros_msgpack_publisher.cpp.

◆ publishLaserScanMsg()

void sick_scansegment_xd::RosMsgpackPublisher::publishLaserScanMsg ( rosNodePtr  node,
LaserscanMsgPublisher laserscan_publisher,
LaserScanMsgMap laser_scan_msg_map,
int32_t  num_echos,
int32_t  segment_idx 
)
protected

Shortcut to publish Laserscan messages

Definition at line 498 of file ros_msgpack_publisher.cpp.

◆ publishPointCloud2Msg()

void sick_scansegment_xd::RosMsgpackPublisher::publishPointCloud2Msg ( rosNodePtr  node,
PointCloud2MsgPublisher publisher,
PointCloud2Msg pointcloud_msg,
int32_t  num_echos,
int32_t  segment_idx,
int  coordinate_notation,
const std::string &  topic 
)
protected

Shortcut to publish a PointCloud2Msg

Definition at line 473 of file ros_msgpack_publisher.cpp.

◆ SetActive()

virtual void sick_scansegment_xd::RosMsgpackPublisher::SetActive ( bool  active)
inlinevirtual

Definition at line 204 of file ros_msgpack_publisher.h.

Member Data Documentation

◆ m_active

bool sick_scansegment_xd::RosMsgpackPublisher::m_active
protected

Definition at line 386 of file ros_msgpack_publisher.h.

◆ m_all_segments_azimuth_max_deg

float sick_scansegment_xd::RosMsgpackPublisher::m_all_segments_azimuth_max_deg = +180
protected

Definition at line 390 of file ros_msgpack_publisher.h.

◆ m_all_segments_azimuth_min_deg

float sick_scansegment_xd::RosMsgpackPublisher::m_all_segments_azimuth_min_deg = -180
protected

Definition at line 389 of file ros_msgpack_publisher.h.

◆ m_all_segments_elevation_max_deg

float sick_scansegment_xd::RosMsgpackPublisher::m_all_segments_elevation_max_deg = 0
protected

Definition at line 392 of file ros_msgpack_publisher.h.

◆ m_all_segments_elevation_min_deg

float sick_scansegment_xd::RosMsgpackPublisher::m_all_segments_elevation_min_deg = 0
protected

Definition at line 391 of file ros_msgpack_publisher.h.

◆ m_custom_pointclouds_cfg

std::vector<CustomPointCloudConfiguration> sick_scansegment_xd::RosMsgpackPublisher::m_custom_pointclouds_cfg
protected

Definition at line 402 of file ros_msgpack_publisher.h.

◆ m_frame_id

std::string sick_scansegment_xd::RosMsgpackPublisher::m_frame_id
protected

Definition at line 388 of file ros_msgpack_publisher.h.

◆ m_host_FREchoFilter

int sick_scansegment_xd::RosMsgpackPublisher::m_host_FREchoFilter
protected

Definition at line 393 of file ros_msgpack_publisher.h.

◆ m_host_set_FREchoFilter

bool sick_scansegment_xd::RosMsgpackPublisher::m_host_set_FREchoFilter
protected

Definition at line 394 of file ros_msgpack_publisher.h.

◆ m_laserscan_layer_filter

std::vector<int> sick_scansegment_xd::RosMsgpackPublisher::m_laserscan_layer_filter
protected

Definition at line 401 of file ros_msgpack_publisher.h.

◆ m_node

rosNodePtr sick_scansegment_xd::RosMsgpackPublisher::m_node
protected

Definition at line 387 of file ros_msgpack_publisher.h.

◆ m_points_collector

SegmentPointsCollector sick_scansegment_xd::RosMsgpackPublisher::m_points_collector
protected

Definition at line 395 of file ros_msgpack_publisher.h.

◆ m_publisher_imu

ImuMsgPublisher sick_scansegment_xd::RosMsgpackPublisher::m_publisher_imu
protected

Definition at line 398 of file ros_msgpack_publisher.h.

◆ m_publisher_imu_initialized

bool sick_scansegment_xd::RosMsgpackPublisher::m_publisher_imu_initialized = false
protected

Definition at line 399 of file ros_msgpack_publisher.h.

◆ m_publisher_laserscan_360

LaserscanMsgPublisher sick_scansegment_xd::RosMsgpackPublisher::m_publisher_laserscan_360
protected

Definition at line 396 of file ros_msgpack_publisher.h.

◆ m_publisher_laserscan_segment

LaserscanMsgPublisher sick_scansegment_xd::RosMsgpackPublisher::m_publisher_laserscan_segment
protected

Definition at line 397 of file ros_msgpack_publisher.h.

◆ m_scan_time

double sick_scansegment_xd::RosMsgpackPublisher::m_scan_time = 0
protected

Definition at line 400 of file ros_msgpack_publisher.h.


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


sick_scan_xd
Author(s): Michael Lehning , Jochen Sprickerhof , Martin Günther
autogenerated on Fri Oct 25 2024 02:47:21