// Generated by gencpp from file geometry_msgs/TwistWithCovariance.msg // DO NOT EDIT! #ifndef GEOMETRY_MSGS_MESSAGE_TWISTWITHCOVARIANCE_H #define GEOMETRY_MSGS_MESSAGE_TWISTWITHCOVARIANCE_H #include #include #include #include #include #include #include #include namespace geometry_msgs { template struct TwistWithCovariance_ { typedef TwistWithCovariance_ Type; TwistWithCovariance_() : twist() , covariance() { covariance.assign(0.0); } TwistWithCovariance_(const ContainerAllocator& _alloc) : twist(_alloc) , covariance() { (void)_alloc; covariance.assign(0.0); } typedef ::geometry_msgs::Twist_ _twist_type; _twist_type twist; typedef boost::array _covariance_type; _covariance_type covariance; typedef boost::shared_ptr< ::geometry_msgs::TwistWithCovariance_ > Ptr; typedef boost::shared_ptr< ::geometry_msgs::TwistWithCovariance_ const> ConstPtr; }; // struct TwistWithCovariance_ typedef ::geometry_msgs::TwistWithCovariance_ > TwistWithCovariance; typedef boost::shared_ptr< ::geometry_msgs::TwistWithCovariance > TwistWithCovariancePtr; typedef boost::shared_ptr< ::geometry_msgs::TwistWithCovariance const> TwistWithCovarianceConstPtr; // constants requiring out of line definition template std::ostream& operator<<(std::ostream& s, const ::geometry_msgs::TwistWithCovariance_ & v) { ros::message_operations::Printer< ::geometry_msgs::TwistWithCovariance_ >::stream(s, "", v); return s; } template bool operator==(const ::geometry_msgs::TwistWithCovariance_ & lhs, const ::geometry_msgs::TwistWithCovariance_ & rhs) { return lhs.twist == rhs.twist && lhs.covariance == rhs.covariance; } template bool operator!=(const ::geometry_msgs::TwistWithCovariance_ & lhs, const ::geometry_msgs::TwistWithCovariance_ & rhs) { return !(lhs == rhs); } } // namespace geometry_msgs namespace ros { namespace message_traits { template struct IsMessage< ::geometry_msgs::TwistWithCovariance_ > : TrueType { }; template struct IsMessage< ::geometry_msgs::TwistWithCovariance_ const> : TrueType { }; template struct IsFixedSize< ::geometry_msgs::TwistWithCovariance_ > : TrueType { }; template struct IsFixedSize< ::geometry_msgs::TwistWithCovariance_ const> : TrueType { }; template struct HasHeader< ::geometry_msgs::TwistWithCovariance_ > : FalseType { }; template struct HasHeader< ::geometry_msgs::TwistWithCovariance_ const> : FalseType { }; template struct MD5Sum< ::geometry_msgs::TwistWithCovariance_ > { static const char* value() { return "1fe8a28e6890a4cc3ae4c3ca5c7d82e6"; } static const char* value(const ::geometry_msgs::TwistWithCovariance_&) { return value(); } static const uint64_t static_value1 = 0x1fe8a28e6890a4ccULL; static const uint64_t static_value2 = 0x3ae4c3ca5c7d82e6ULL; }; template struct DataType< ::geometry_msgs::TwistWithCovariance_ > { static const char* value() { return "geometry_msgs/TwistWithCovariance"; } static const char* value(const ::geometry_msgs::TwistWithCovariance_&) { return value(); } }; template struct Definition< ::geometry_msgs::TwistWithCovariance_ > { static const char* value() { return "# This expresses velocity in free space with uncertainty.\n" "\n" "Twist twist\n" "\n" "# Row-major representation of the 6x6 covariance matrix\n" "# The orientation parameters use a fixed-axis representation.\n" "# In order, the parameters are:\n" "# (x, y, z, rotation about X axis, rotation about Y axis, rotation about Z axis)\n" "float64[36] covariance\n" "\n" "================================================================================\n" "MSG: geometry_msgs/Twist\n" "# This expresses velocity in free space broken into its linear and angular parts.\n" "Vector3 linear\n" "Vector3 angular\n" "\n" "================================================================================\n" "MSG: geometry_msgs/Vector3\n" "# This represents a vector in free space. \n" "# It is only meant to represent a direction. Therefore, it does not\n" "# make sense to apply a translation to it (e.g., when applying a \n" "# generic rigid transformation to a Vector3, tf2 will only apply the\n" "# rotation). If you want your data to be translatable too, use the\n" "# geometry_msgs/Point message instead.\n" "\n" "float64 x\n" "float64 y\n" "float64 z\n" ; } static const char* value(const ::geometry_msgs::TwistWithCovariance_&) { return value(); } }; } // namespace message_traits } // namespace ros namespace ros { namespace serialization { template struct Serializer< ::geometry_msgs::TwistWithCovariance_ > { template inline static void allInOne(Stream& stream, T m) { stream.next(m.twist); stream.next(m.covariance); } ROS_DECLARE_ALLINONE_SERIALIZER }; // struct TwistWithCovariance_ } // namespace serialization } // namespace ros namespace ros { namespace message_operations { template struct Printer< ::geometry_msgs::TwistWithCovariance_ > { template static void stream(Stream& s, const std::string& indent, const ::geometry_msgs::TwistWithCovariance_& v) { s << indent << "twist: "; s << std::endl; Printer< ::geometry_msgs::Twist_ >::stream(s, indent + " ", v.twist); s << indent << "covariance[]" << std::endl; for (size_t i = 0; i < v.covariance.size(); ++i) { s << indent << " covariance[" << i << "]: "; Printer::stream(s, indent + " ", v.covariance[i]); } } }; } // namespace message_operations } // namespace ros #endif // GEOMETRY_MSGS_MESSAGE_TWISTWITHCOVARIANCE_H