ScanMatchingStatus.h 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316
  1. // Generated by gencpp from file hdl_graph_slam/ScanMatchingStatus.msg
  2. // DO NOT EDIT!
  3. #ifndef HDL_GRAPH_SLAM_MESSAGE_SCANMATCHINGSTATUS_H
  4. #define HDL_GRAPH_SLAM_MESSAGE_SCANMATCHINGSTATUS_H
  5. #include <string>
  6. #include <vector>
  7. #include <memory>
  8. #include <ros/types.h>
  9. #include <ros/serialization.h>
  10. #include <ros/builtin_message_traits.h>
  11. #include <ros/message_operations.h>
  12. #include <std_msgs/Header.h>
  13. #include <geometry_msgs/Pose.h>
  14. #include <std_msgs/String.h>
  15. #include <geometry_msgs/Pose.h>
  16. namespace hdl_graph_slam
  17. {
  18. template <class ContainerAllocator>
  19. struct ScanMatchingStatus_
  20. {
  21. typedef ScanMatchingStatus_<ContainerAllocator> Type;
  22. ScanMatchingStatus_()
  23. : header()
  24. , has_converged(false)
  25. , matching_error(0.0)
  26. , inlier_fraction(0.0)
  27. , relative_pose()
  28. , prediction_labels()
  29. , prediction_errors() {
  30. }
  31. ScanMatchingStatus_(const ContainerAllocator& _alloc)
  32. : header(_alloc)
  33. , has_converged(false)
  34. , matching_error(0.0)
  35. , inlier_fraction(0.0)
  36. , relative_pose(_alloc)
  37. , prediction_labels(_alloc)
  38. , prediction_errors(_alloc) {
  39. (void)_alloc;
  40. }
  41. typedef ::std_msgs::Header_<ContainerAllocator> _header_type;
  42. _header_type header;
  43. typedef uint8_t _has_converged_type;
  44. _has_converged_type has_converged;
  45. typedef float _matching_error_type;
  46. _matching_error_type matching_error;
  47. typedef float _inlier_fraction_type;
  48. _inlier_fraction_type inlier_fraction;
  49. typedef ::geometry_msgs::Pose_<ContainerAllocator> _relative_pose_type;
  50. _relative_pose_type relative_pose;
  51. typedef std::vector< ::std_msgs::String_<ContainerAllocator> , typename std::allocator_traits<ContainerAllocator>::template rebind_alloc< ::std_msgs::String_<ContainerAllocator> >> _prediction_labels_type;
  52. _prediction_labels_type prediction_labels;
  53. typedef std::vector< ::geometry_msgs::Pose_<ContainerAllocator> , typename std::allocator_traits<ContainerAllocator>::template rebind_alloc< ::geometry_msgs::Pose_<ContainerAllocator> >> _prediction_errors_type;
  54. _prediction_errors_type prediction_errors;
  55. typedef boost::shared_ptr< ::hdl_graph_slam::ScanMatchingStatus_<ContainerAllocator> > Ptr;
  56. typedef boost::shared_ptr< ::hdl_graph_slam::ScanMatchingStatus_<ContainerAllocator> const> ConstPtr;
  57. }; // struct ScanMatchingStatus_
  58. typedef ::hdl_graph_slam::ScanMatchingStatus_<std::allocator<void> > ScanMatchingStatus;
  59. typedef boost::shared_ptr< ::hdl_graph_slam::ScanMatchingStatus > ScanMatchingStatusPtr;
  60. typedef boost::shared_ptr< ::hdl_graph_slam::ScanMatchingStatus const> ScanMatchingStatusConstPtr;
  61. // constants requiring out of line definition
  62. template<typename ContainerAllocator>
  63. std::ostream& operator<<(std::ostream& s, const ::hdl_graph_slam::ScanMatchingStatus_<ContainerAllocator> & v)
  64. {
  65. ros::message_operations::Printer< ::hdl_graph_slam::ScanMatchingStatus_<ContainerAllocator> >::stream(s, "", v);
  66. return s;
  67. }
  68. template<typename ContainerAllocator1, typename ContainerAllocator2>
  69. bool operator==(const ::hdl_graph_slam::ScanMatchingStatus_<ContainerAllocator1> & lhs, const ::hdl_graph_slam::ScanMatchingStatus_<ContainerAllocator2> & rhs)
  70. {
  71. return lhs.header == rhs.header &&
  72. lhs.has_converged == rhs.has_converged &&
  73. lhs.matching_error == rhs.matching_error &&
  74. lhs.inlier_fraction == rhs.inlier_fraction &&
  75. lhs.relative_pose == rhs.relative_pose &&
  76. lhs.prediction_labels == rhs.prediction_labels &&
  77. lhs.prediction_errors == rhs.prediction_errors;
  78. }
  79. template<typename ContainerAllocator1, typename ContainerAllocator2>
  80. bool operator!=(const ::hdl_graph_slam::ScanMatchingStatus_<ContainerAllocator1> & lhs, const ::hdl_graph_slam::ScanMatchingStatus_<ContainerAllocator2> & rhs)
  81. {
  82. return !(lhs == rhs);
  83. }
  84. } // namespace hdl_graph_slam
  85. namespace ros
  86. {
  87. namespace message_traits
  88. {
  89. template <class ContainerAllocator>
  90. struct IsMessage< ::hdl_graph_slam::ScanMatchingStatus_<ContainerAllocator> >
  91. : TrueType
  92. { };
  93. template <class ContainerAllocator>
  94. struct IsMessage< ::hdl_graph_slam::ScanMatchingStatus_<ContainerAllocator> const>
  95. : TrueType
  96. { };
  97. template <class ContainerAllocator>
  98. struct IsFixedSize< ::hdl_graph_slam::ScanMatchingStatus_<ContainerAllocator> >
  99. : FalseType
  100. { };
  101. template <class ContainerAllocator>
  102. struct IsFixedSize< ::hdl_graph_slam::ScanMatchingStatus_<ContainerAllocator> const>
  103. : FalseType
  104. { };
  105. template <class ContainerAllocator>
  106. struct HasHeader< ::hdl_graph_slam::ScanMatchingStatus_<ContainerAllocator> >
  107. : TrueType
  108. { };
  109. template <class ContainerAllocator>
  110. struct HasHeader< ::hdl_graph_slam::ScanMatchingStatus_<ContainerAllocator> const>
  111. : TrueType
  112. { };
  113. template<class ContainerAllocator>
  114. struct MD5Sum< ::hdl_graph_slam::ScanMatchingStatus_<ContainerAllocator> >
  115. {
  116. static const char* value()
  117. {
  118. return "5dc383a1f48a47a0f942e23d17ef4d3d";
  119. }
  120. static const char* value(const ::hdl_graph_slam::ScanMatchingStatus_<ContainerAllocator>&) { return value(); }
  121. static const uint64_t static_value1 = 0x5dc383a1f48a47a0ULL;
  122. static const uint64_t static_value2 = 0xf942e23d17ef4d3dULL;
  123. };
  124. template<class ContainerAllocator>
  125. struct DataType< ::hdl_graph_slam::ScanMatchingStatus_<ContainerAllocator> >
  126. {
  127. static const char* value()
  128. {
  129. return "hdl_graph_slam/ScanMatchingStatus";
  130. }
  131. static const char* value(const ::hdl_graph_slam::ScanMatchingStatus_<ContainerAllocator>&) { return value(); }
  132. };
  133. template<class ContainerAllocator>
  134. struct Definition< ::hdl_graph_slam::ScanMatchingStatus_<ContainerAllocator> >
  135. {
  136. static const char* value()
  137. {
  138. return "Header header\n"
  139. "\n"
  140. "bool has_converged\n"
  141. "float32 matching_error\n"
  142. "float32 inlier_fraction\n"
  143. "geometry_msgs/Pose relative_pose\n"
  144. "\n"
  145. "std_msgs/String[] prediction_labels\n"
  146. "geometry_msgs/Pose[] prediction_errors\n"
  147. "================================================================================\n"
  148. "MSG: std_msgs/Header\n"
  149. "# Standard metadata for higher-level stamped data types.\n"
  150. "# This is generally used to communicate timestamped data \n"
  151. "# in a particular coordinate frame.\n"
  152. "# \n"
  153. "# sequence ID: consecutively increasing ID \n"
  154. "uint32 seq\n"
  155. "#Two-integer timestamp that is expressed as:\n"
  156. "# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n"
  157. "# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n"
  158. "# time-handling sugar is provided by the client library\n"
  159. "time stamp\n"
  160. "#Frame this data is associated with\n"
  161. "string frame_id\n"
  162. "\n"
  163. "================================================================================\n"
  164. "MSG: geometry_msgs/Pose\n"
  165. "# A representation of pose in free space, composed of position and orientation. \n"
  166. "Point position\n"
  167. "Quaternion orientation\n"
  168. "\n"
  169. "================================================================================\n"
  170. "MSG: geometry_msgs/Point\n"
  171. "# This contains the position of a point in free space\n"
  172. "float64 x\n"
  173. "float64 y\n"
  174. "float64 z\n"
  175. "\n"
  176. "================================================================================\n"
  177. "MSG: geometry_msgs/Quaternion\n"
  178. "# This represents an orientation in free space in quaternion form.\n"
  179. "\n"
  180. "float64 x\n"
  181. "float64 y\n"
  182. "float64 z\n"
  183. "float64 w\n"
  184. "\n"
  185. "================================================================================\n"
  186. "MSG: std_msgs/String\n"
  187. "string data\n"
  188. ;
  189. }
  190. static const char* value(const ::hdl_graph_slam::ScanMatchingStatus_<ContainerAllocator>&) { return value(); }
  191. };
  192. } // namespace message_traits
  193. } // namespace ros
  194. namespace ros
  195. {
  196. namespace serialization
  197. {
  198. template<class ContainerAllocator> struct Serializer< ::hdl_graph_slam::ScanMatchingStatus_<ContainerAllocator> >
  199. {
  200. template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
  201. {
  202. stream.next(m.header);
  203. stream.next(m.has_converged);
  204. stream.next(m.matching_error);
  205. stream.next(m.inlier_fraction);
  206. stream.next(m.relative_pose);
  207. stream.next(m.prediction_labels);
  208. stream.next(m.prediction_errors);
  209. }
  210. ROS_DECLARE_ALLINONE_SERIALIZER
  211. }; // struct ScanMatchingStatus_
  212. } // namespace serialization
  213. } // namespace ros
  214. namespace ros
  215. {
  216. namespace message_operations
  217. {
  218. template<class ContainerAllocator>
  219. struct Printer< ::hdl_graph_slam::ScanMatchingStatus_<ContainerAllocator> >
  220. {
  221. template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::hdl_graph_slam::ScanMatchingStatus_<ContainerAllocator>& v)
  222. {
  223. s << indent << "header: ";
  224. s << std::endl;
  225. Printer< ::std_msgs::Header_<ContainerAllocator> >::stream(s, indent + " ", v.header);
  226. s << indent << "has_converged: ";
  227. Printer<uint8_t>::stream(s, indent + " ", v.has_converged);
  228. s << indent << "matching_error: ";
  229. Printer<float>::stream(s, indent + " ", v.matching_error);
  230. s << indent << "inlier_fraction: ";
  231. Printer<float>::stream(s, indent + " ", v.inlier_fraction);
  232. s << indent << "relative_pose: ";
  233. s << std::endl;
  234. Printer< ::geometry_msgs::Pose_<ContainerAllocator> >::stream(s, indent + " ", v.relative_pose);
  235. s << indent << "prediction_labels[]" << std::endl;
  236. for (size_t i = 0; i < v.prediction_labels.size(); ++i)
  237. {
  238. s << indent << " prediction_labels[" << i << "]: ";
  239. s << std::endl;
  240. s << indent;
  241. Printer< ::std_msgs::String_<ContainerAllocator> >::stream(s, indent + " ", v.prediction_labels[i]);
  242. }
  243. s << indent << "prediction_errors[]" << std::endl;
  244. for (size_t i = 0; i < v.prediction_errors.size(); ++i)
  245. {
  246. s << indent << " prediction_errors[" << i << "]: ";
  247. s << std::endl;
  248. s << indent;
  249. Printer< ::geometry_msgs::Pose_<ContainerAllocator> >::stream(s, indent + " ", v.prediction_errors[i]);
  250. }
  251. }
  252. };
  253. } // namespace message_operations
  254. } // namespace ros
  255. #endif // HDL_GRAPH_SLAM_MESSAGE_SCANMATCHINGSTATUS_H