// Generated by gencpp from file hdl_graph_slam/ScanMatchingStatus.msg // DO NOT EDIT! #ifndef HDL_GRAPH_SLAM_MESSAGE_SCANMATCHINGSTATUS_H #define HDL_GRAPH_SLAM_MESSAGE_SCANMATCHINGSTATUS_H #include #include #include #include #include #include #include #include #include #include #include namespace hdl_graph_slam { template struct ScanMatchingStatus_ { typedef ScanMatchingStatus_ Type; ScanMatchingStatus_() : header() , has_converged(false) , matching_error(0.0) , inlier_fraction(0.0) , relative_pose() , prediction_labels() , prediction_errors() { } ScanMatchingStatus_(const ContainerAllocator& _alloc) : header(_alloc) , has_converged(false) , matching_error(0.0) , inlier_fraction(0.0) , relative_pose(_alloc) , prediction_labels(_alloc) , prediction_errors(_alloc) { (void)_alloc; } typedef ::std_msgs::Header_ _header_type; _header_type header; typedef uint8_t _has_converged_type; _has_converged_type has_converged; typedef float _matching_error_type; _matching_error_type matching_error; typedef float _inlier_fraction_type; _inlier_fraction_type inlier_fraction; typedef ::geometry_msgs::Pose_ _relative_pose_type; _relative_pose_type relative_pose; typedef std::vector< ::std_msgs::String_ , typename std::allocator_traits::template rebind_alloc< ::std_msgs::String_ >> _prediction_labels_type; _prediction_labels_type prediction_labels; typedef std::vector< ::geometry_msgs::Pose_ , typename std::allocator_traits::template rebind_alloc< ::geometry_msgs::Pose_ >> _prediction_errors_type; _prediction_errors_type prediction_errors; typedef boost::shared_ptr< ::hdl_graph_slam::ScanMatchingStatus_ > Ptr; typedef boost::shared_ptr< ::hdl_graph_slam::ScanMatchingStatus_ const> ConstPtr; }; // struct ScanMatchingStatus_ typedef ::hdl_graph_slam::ScanMatchingStatus_ > ScanMatchingStatus; typedef boost::shared_ptr< ::hdl_graph_slam::ScanMatchingStatus > ScanMatchingStatusPtr; typedef boost::shared_ptr< ::hdl_graph_slam::ScanMatchingStatus const> ScanMatchingStatusConstPtr; // constants requiring out of line definition template std::ostream& operator<<(std::ostream& s, const ::hdl_graph_slam::ScanMatchingStatus_ & v) { ros::message_operations::Printer< ::hdl_graph_slam::ScanMatchingStatus_ >::stream(s, "", v); return s; } template bool operator==(const ::hdl_graph_slam::ScanMatchingStatus_ & lhs, const ::hdl_graph_slam::ScanMatchingStatus_ & rhs) { return lhs.header == rhs.header && lhs.has_converged == rhs.has_converged && lhs.matching_error == rhs.matching_error && lhs.inlier_fraction == rhs.inlier_fraction && lhs.relative_pose == rhs.relative_pose && lhs.prediction_labels == rhs.prediction_labels && lhs.prediction_errors == rhs.prediction_errors; } template bool operator!=(const ::hdl_graph_slam::ScanMatchingStatus_ & lhs, const ::hdl_graph_slam::ScanMatchingStatus_ & rhs) { return !(lhs == rhs); } } // namespace hdl_graph_slam namespace ros { namespace message_traits { template struct IsMessage< ::hdl_graph_slam::ScanMatchingStatus_ > : TrueType { }; template struct IsMessage< ::hdl_graph_slam::ScanMatchingStatus_ const> : TrueType { }; template struct IsFixedSize< ::hdl_graph_slam::ScanMatchingStatus_ > : FalseType { }; template struct IsFixedSize< ::hdl_graph_slam::ScanMatchingStatus_ const> : FalseType { }; template struct HasHeader< ::hdl_graph_slam::ScanMatchingStatus_ > : TrueType { }; template struct HasHeader< ::hdl_graph_slam::ScanMatchingStatus_ const> : TrueType { }; template struct MD5Sum< ::hdl_graph_slam::ScanMatchingStatus_ > { static const char* value() { return "5dc383a1f48a47a0f942e23d17ef4d3d"; } static const char* value(const ::hdl_graph_slam::ScanMatchingStatus_&) { return value(); } static const uint64_t static_value1 = 0x5dc383a1f48a47a0ULL; static const uint64_t static_value2 = 0xf942e23d17ef4d3dULL; }; template struct DataType< ::hdl_graph_slam::ScanMatchingStatus_ > { static const char* value() { return "hdl_graph_slam/ScanMatchingStatus"; } static const char* value(const ::hdl_graph_slam::ScanMatchingStatus_&) { return value(); } }; template struct Definition< ::hdl_graph_slam::ScanMatchingStatus_ > { static const char* value() { return "Header header\n" "\n" "bool has_converged\n" "float32 matching_error\n" "float32 inlier_fraction\n" "geometry_msgs/Pose relative_pose\n" "\n" "std_msgs/String[] prediction_labels\n" "geometry_msgs/Pose[] prediction_errors\n" "================================================================================\n" "MSG: std_msgs/Header\n" "# Standard metadata for higher-level stamped data types.\n" "# This is generally used to communicate timestamped data \n" "# in a particular coordinate frame.\n" "# \n" "# sequence ID: consecutively increasing ID \n" "uint32 seq\n" "#Two-integer timestamp that is expressed as:\n" "# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" "# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" "# time-handling sugar is provided by the client library\n" "time stamp\n" "#Frame this data is associated with\n" "string frame_id\n" "\n" "================================================================================\n" "MSG: geometry_msgs/Pose\n" "# A representation of pose in free space, composed of position and orientation. \n" "Point position\n" "Quaternion orientation\n" "\n" "================================================================================\n" "MSG: geometry_msgs/Point\n" "# This contains the position of a point in free space\n" "float64 x\n" "float64 y\n" "float64 z\n" "\n" "================================================================================\n" "MSG: geometry_msgs/Quaternion\n" "# This represents an orientation in free space in quaternion form.\n" "\n" "float64 x\n" "float64 y\n" "float64 z\n" "float64 w\n" "\n" "================================================================================\n" "MSG: std_msgs/String\n" "string data\n" ; } static const char* value(const ::hdl_graph_slam::ScanMatchingStatus_&) { return value(); } }; } // namespace message_traits } // namespace ros namespace ros { namespace serialization { template struct Serializer< ::hdl_graph_slam::ScanMatchingStatus_ > { template inline static void allInOne(Stream& stream, T m) { stream.next(m.header); stream.next(m.has_converged); stream.next(m.matching_error); stream.next(m.inlier_fraction); stream.next(m.relative_pose); stream.next(m.prediction_labels); stream.next(m.prediction_errors); } ROS_DECLARE_ALLINONE_SERIALIZER }; // struct ScanMatchingStatus_ } // namespace serialization } // namespace ros namespace ros { namespace message_operations { template struct Printer< ::hdl_graph_slam::ScanMatchingStatus_ > { template static void stream(Stream& s, const std::string& indent, const ::hdl_graph_slam::ScanMatchingStatus_& v) { s << indent << "header: "; s << std::endl; Printer< ::std_msgs::Header_ >::stream(s, indent + " ", v.header); s << indent << "has_converged: "; Printer::stream(s, indent + " ", v.has_converged); s << indent << "matching_error: "; Printer::stream(s, indent + " ", v.matching_error); s << indent << "inlier_fraction: "; Printer::stream(s, indent + " ", v.inlier_fraction); s << indent << "relative_pose: "; s << std::endl; Printer< ::geometry_msgs::Pose_ >::stream(s, indent + " ", v.relative_pose); s << indent << "prediction_labels[]" << std::endl; for (size_t i = 0; i < v.prediction_labels.size(); ++i) { s << indent << " prediction_labels[" << i << "]: "; s << std::endl; s << indent; Printer< ::std_msgs::String_ >::stream(s, indent + " ", v.prediction_labels[i]); } s << indent << "prediction_errors[]" << std::endl; for (size_t i = 0; i < v.prediction_errors.size(); ++i) { s << indent << " prediction_errors[" << i << "]: "; s << std::endl; s << indent; Printer< ::geometry_msgs::Pose_ >::stream(s, indent + " ", v.prediction_errors[i]); } } }; } // namespace message_operations } // namespace ros #endif // HDL_GRAPH_SLAM_MESSAGE_SCANMATCHINGSTATUS_H