// Generated by gencpp from file robot_protocol_msgs/ControlPoint.msg
// DO NOT EDIT!


#ifndef ROBOT_PROTOCOL_MSGS_MESSAGE_CONTROLPOINT_H
#define ROBOT_PROTOCOL_MSGS_MESSAGE_CONTROLPOINT_H


#include <string>
#include <vector>
#include <memory>

namespace robot_protocol_msgs
{
template <class ContainerAllocator>
struct ControlPoint_
{
  typedef ControlPoint_<ContainerAllocator> Type;

  ControlPoint_()
    : x(0.0)
    , y(0.0)
    , weight(0.0)  {
    }
  ControlPoint_(const ContainerAllocator& _alloc)
    : x(0.0)
    , y(0.0)
    , weight(0.0)  {
  (void)_alloc;
    }



   typedef double _x_type;
  _x_type x;

   typedef double _y_type;
  _y_type y;

   typedef double _weight_type;
  _weight_type weight;





  typedef boost::shared_ptr< ::robot_protocol_msgs::ControlPoint_<ContainerAllocator> > Ptr;
  typedef boost::shared_ptr< ::robot_protocol_msgs::ControlPoint_<ContainerAllocator> const> ConstPtr;

}; // struct ControlPoint_

typedef ::robot_protocol_msgs::ControlPoint_<std::allocator<void> > ControlPoint;

typedef boost::shared_ptr< ::robot_protocol_msgs::ControlPoint > ControlPointPtr;
typedef boost::shared_ptr< ::robot_protocol_msgs::ControlPoint const> ControlPointConstPtr;

template<typename ContainerAllocator1, typename ContainerAllocator2>
bool operator==(const ::robot_protocol_msgs::ControlPoint_<ContainerAllocator1> & lhs, const ::robot_protocol_msgs::ControlPoint_<ContainerAllocator2> & rhs)
{
  return lhs.x == rhs.x &&
    lhs.y == rhs.y &&
    lhs.weight == rhs.weight;
}

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


} // namespace robot_protocol_msgs


#endif // ROBOT_PROTOCOL_MSGS_MESSAGE_CONTROLPOINT_H
