ibeo_lux_ros_msg_handler.h
Go to the documentation of this file.
1 /*
2  * Unpublished Copyright (c) 2009-2019 AutonomouStuff, LLC, All Rights Reserved.
3  *
4  * This file is part of the ibeo_lux ROS 1.0 driver which is released under the MIT license.
5  * See file LICENSE included with this software or go to https://opensource.org/licenses/MIT for full license details.
6  */
7 
8 #ifndef IBEO_LUX_IBEO_LUX_ROS_MSG_HANDLER_H
9 #define IBEO_LUX_IBEO_LUX_ROS_MSG_HANDLER_H
10 
12 
13 #include <string>
14 #include <vector>
15 
16 using namespace AS::Drivers::Ibeo;
17 
18 namespace AS
19 {
20 namespace Drivers
21 {
22 namespace IbeoLux
23 {
25 {
26 public:
27  void fillAndPublish(const uint8_t& type_id,
28  const std::string& frame_id,
29  const ros::Publisher& pub,
30  IbeoTxMessage * parser_class);
31  void fillPointcloud(
32  const std::vector<Point3DL>& points,
33  pcl::PointCloud<pcl::PointXYZL> * new_msg);
34  void fillContourPoints(
35  const std::vector<Point3D>& points,
36  visualization_msgs::Marker * new_msg,
37  const std::string& frame_id);
38  void fillMarkerArray(
39  const std::vector<IbeoObject>& objects,
40  visualization_msgs::MarkerArray * new_msg,
41  const std::string& frame_id);
42 
43 private:
44  ros::Time ntp_to_ros_time(const NTPTime& time);
45 
46  void fillIbeoHeader(
47  const IbeoDataHeader& class_header,
48  ibeo_msgs::IbeoDataHeader * msg_header);
49  void fill2030(
50  IbeoTxMessage * parser_class,
51  ibeo_msgs::ErrorWarning * new_msg,
52  const std::string& frame_id);
53  void fill2202(
54  IbeoTxMessage * parser_class,
55  ibeo_msgs::ScanData2202 * new_msg,
56  const std::string& frame_id);
57  void fill2204(
58  IbeoTxMessage * parser_class,
59  ibeo_msgs::ScanData2204 * new_msg,
60  const std::string& frame_id);
61  void fill2205(
62  IbeoTxMessage * parser_class,
63  ibeo_msgs::ScanData2205 * new_msg,
64  const std::string& frame_id);
65  void fill2221(
66  IbeoTxMessage * parser_class,
67  ibeo_msgs::ObjectData2221 * new_msg,
68  const std::string& frame_id);
69  void fill2225(
70  IbeoTxMessage * parser_class,
71  ibeo_msgs::ObjectData2225 * new_msg,
72  const std::string& frame_id);
73  void fill2280(
74  IbeoTxMessage * parser_class,
75  ibeo_msgs::ObjectData2280 * new_msg,
76  const std::string& frame_id);
77  void fill2403(
78  IbeoTxMessage * parser_class,
79  ibeo_msgs::CameraImage * new_msg,
80  const std::string& frame_id);
81  void fill2805(
82  IbeoTxMessage * parser_class,
83  ibeo_msgs::HostVehicleState2805 * new_msg,
84  const std::string& frame_id);
85  void fill2806(
86  IbeoTxMessage * parser_class,
87  ibeo_msgs::HostVehicleState2806 * new_msg,
88  const std::string& frame_id);
89  void fill2807(
90  IbeoTxMessage * parser_class,
91  ibeo_msgs::HostVehicleState2807 * new_msg,
92  const std::string& frame_id);
93  visualization_msgs::Marker createWireframeMarker(
94  const float& center_x,
95  const float& center_y,
96  float size_x,
97  float size_y,
98  const float& size_z);
99 };
100 } // namespace IbeoLux
101 } // namespace Drivers
102 } // namespace AS
103 
104 #endif // IBEO_LUX_IBEO_LUX_ROS_MSG_HANDLER_H
uint64_t NTPTime


ibeo_lux
Author(s): Joe Kale , Joshua Whitley
autogenerated on Sat Jun 8 2019 04:47:04