6 #ifndef SICK_SCAN_MESSAGE_NAVREFLECTORDATA_H
7 #define SICK_SCAN_MESSAGE_NAVREFLECTORDATA_H
14 #include <ros/types.h>
15 #include <ros/serialization.h>
16 #include <ros/builtin_message_traits.h>
17 #include <ros/message_operations.h>
22 template <
class ContainerAllocator>
144 typedef std::shared_ptr< ::sick_scan_xd::NAVReflectorData_<ContainerAllocator> >
Ptr;
145 typedef std::shared_ptr< ::sick_scan_xd::NAVReflectorData_<ContainerAllocator>
const>
ConstPtr;
158 template<
typename ContainerAllocator>
159 std::ostream&
operator<<(std::ostream& s, const ::sick_scan_xd::NAVReflectorData_<ContainerAllocator> & v)
166 template<
typename ContainerAllocator1,
typename ContainerAllocator2>
167 bool operator==(const ::sick_scan_xd::NAVReflectorData_<ContainerAllocator1> & lhs, const ::sick_scan_xd::NAVReflectorData_<ContainerAllocator2> & rhs)
169 return lhs.cartesian_data_valid == rhs.cartesian_data_valid &&
172 lhs.polar_data_valid == rhs.polar_data_valid &&
173 lhs.dist == rhs.dist &&
174 lhs.phi == rhs.phi &&
175 lhs.opt_reflector_data_valid == rhs.opt_reflector_data_valid &&
176 lhs.local_id == rhs.local_id &&
177 lhs.global_id == rhs.global_id &&
178 lhs.type == rhs.type &&
179 lhs.sub_type == rhs.sub_type &&
180 lhs.quality == rhs.quality &&
181 lhs.timestamp == rhs.timestamp &&
182 lhs.size == rhs.size &&
183 lhs.hit_count == rhs.hit_count &&
184 lhs.mean_echo == rhs.mean_echo &&
185 lhs.start_index == rhs.start_index &&
186 lhs.end_index == rhs.end_index &&
187 lhs.pos_valid == rhs.pos_valid &&
188 lhs.pos_x == rhs.pos_x &&
189 lhs.pos_y == rhs.pos_y;
192 template<
typename ContainerAllocator1,
typename ContainerAllocator2>
193 bool operator!=(const ::sick_scan_xd::NAVReflectorData_<ContainerAllocator1> & lhs, const ::sick_scan_xd::NAVReflectorData_<ContainerAllocator2> & rhs)
195 return !(lhs == rhs);
203 namespace message_traits
210 template <
class ContainerAllocator>
215 template <
class ContainerAllocator>
220 template <
class ContainerAllocator>
225 template <
class ContainerAllocator>
230 template <
class ContainerAllocator>
235 template <
class ContainerAllocator>
241 template<
class ContainerAllocator>
246 return "c834b1997d0f1a7b5b282c13153f6e67";
249 static const char*
value(const ::sick_scan_xd::NAVReflectorData_<ContainerAllocator>&) {
return value(); }
250 static const uint64_t static_value1 = 0xc834b1997d0f1a7bULL;
251 static const uint64_t static_value2 = 0x5b282c13153f6e67ULL;
254 template<
class ContainerAllocator>
259 return "sick_scan/NAVReflectorData";
262 static const char*
value(const ::sick_scan_xd::NAVReflectorData_<ContainerAllocator>&) {
return value(); }
265 template<
class ContainerAllocator>
270 return "# ROS message of NAV350ReflectorData, see sick_nav_scandata_parser.h and NAV-350 telegram listing for details.\n"
272 "# cartesian data in lidar coordinates in mm\n"
273 "uint16 cartesian_data_valid\n"
277 "# polar data in lidar coordinates in mm and mdeg\n"
278 "uint16 polar_data_valid\n"
282 "# optional reflector data\n"
283 "uint16 opt_reflector_data_valid\n"
293 "uint16 start_index\n"
296 "# reflector position in ros coordinates\n"
297 "int8 pos_valid # pose_x, pose_y and pose_yaw are valid if pose_valid > 0\n"
298 "float32 pos_x # x position in ros coordinates in m\n"
299 "float32 pos_y # y position in ros coordinates in m\n"
303 static const char*
value(const ::sick_scan_xd::NAVReflectorData_<ContainerAllocator>&) {
return value(); }
311 namespace serialization
316 template<
typename Stream,
typename T>
inline static void allInOne(
Stream& stream, T m)
318 stream.next(m.cartesian_data_valid);
321 stream.next(m.polar_data_valid);
324 stream.next(m.opt_reflector_data_valid);
325 stream.next(m.local_id);
326 stream.next(m.global_id);
328 stream.next(m.sub_type);
329 stream.next(m.quality);
330 stream.next(m.timestamp);
332 stream.next(m.hit_count);
333 stream.next(m.mean_echo);
334 stream.next(m.start_index);
335 stream.next(m.end_index);
336 stream.next(m.pos_valid);
337 stream.next(m.pos_x);
338 stream.next(m.pos_y);
349 namespace message_operations
352 template<
class ContainerAllocator>
355 template<
typename Stream>
static void stream(Stream& s,
const std::string&
indent, const ::sick_scan_xd::NAVReflectorData_<ContainerAllocator>& v)
357 s <<
indent <<
"cartesian_data_valid: ";
363 s <<
indent <<
"polar_data_valid: ";
369 s <<
indent <<
"opt_reflector_data_valid: ";
389 s <<
indent <<
"start_index: ";
405 #endif // SICK_SCAN_MESSAGE_NAVREFLECTORDATA_H