// Generated by gencpp from file robot_geometry_msgs/Inertia.msg
// DO NOT EDIT!

#ifndef ROBOT_GEOMETRY_MSGS_MESSAGE_INERTIA_H
#define ROBOT_GEOMETRY_MSGS_MESSAGE_INERTIA_H

#include <string>
#include <vector>
#include <memory>
#include <boost/shared_ptr.hpp>

#include <robot_geometry_msgs/Vector3.h>

namespace robot_geometry_msgs
{
  template <class ContainerAllocator>
  struct Inertia_
  {
    typedef Inertia_<ContainerAllocator> Type;

    Inertia_()
        : m(0.0), com(), ixx(0.0), ixy(0.0), ixz(0.0), iyy(0.0), iyz(0.0), izz(0.0)
    {
    }
    Inertia_(const ContainerAllocator &_alloc)
        : m(0.0), com(_alloc), ixx(0.0), ixy(0.0), ixz(0.0), iyy(0.0), iyz(0.0), izz(0.0)
    {
      (void)_alloc;
    }

    typedef double _m_type;
    _m_type m;

    typedef ::robot_geometry_msgs::Vector3_<ContainerAllocator> _com_type;
    _com_type com;

    typedef double _ixx_type;
    _ixx_type ixx;

    typedef double _ixy_type;
    _ixy_type ixy;

    typedef double _ixz_type;
    _ixz_type ixz;

    typedef double _iyy_type;
    _iyy_type iyy;

    typedef double _iyz_type;
    _iyz_type iyz;

    typedef double _izz_type;
    _izz_type izz;

    typedef boost::shared_ptr<::robot_geometry_msgs::Inertia_<ContainerAllocator>> Ptr;
    typedef boost::shared_ptr<::robot_geometry_msgs::Inertia_<ContainerAllocator> const> ConstPtr;

  }; // struct Inertia_

  typedef ::robot_geometry_msgs::Inertia_<std::allocator<void>> Inertia;

  typedef boost::shared_ptr<::robot_geometry_msgs::Inertia> InertiaPtr;
  typedef boost::shared_ptr<::robot_geometry_msgs::Inertia const> InertiaConstPtr;

  // constants requiring out of line definition

  template <typename ContainerAllocator1, typename ContainerAllocator2>
  bool operator==(const ::robot_geometry_msgs::Inertia_<ContainerAllocator1> &lhs, const ::robot_geometry_msgs::Inertia_<ContainerAllocator2> &rhs)
  {
    return lhs.m == rhs.m &&
           lhs.com == rhs.com &&
           lhs.ixx == rhs.ixx &&
           lhs.ixy == rhs.ixy &&
           lhs.ixz == rhs.ixz &&
           lhs.iyy == rhs.iyy &&
           lhs.iyz == rhs.iyz &&
           lhs.izz == rhs.izz;
  }

  template <typename ContainerAllocator1, typename ContainerAllocator2>
  bool operator!=(const ::robot_geometry_msgs::Inertia_<ContainerAllocator1> &lhs, const ::robot_geometry_msgs::Inertia_<ContainerAllocator2> &rhs)
  {
    return !(lhs == rhs);
  }

} // namespace robot_geometry_msgs

#endif // ROBOT_GEOMETRY_MSGS_MESSAGE_INERTIA_H
