00001
00002 #ifndef SRS_ASSISTED_ARM_NAVIGATION_MSGS_MESSAGE_ASSISTEDARMNAVIGATIONSTATE_H
00003 #define SRS_ASSISTED_ARM_NAVIGATION_MSGS_MESSAGE_ASSISTEDARMNAVIGATIONSTATE_H
00004 #include <string>
00005 #include <vector>
00006 #include <map>
00007 #include <ostream>
00008 #include "ros/serialization.h"
00009 #include "ros/builtin_message_traits.h"
00010 #include "ros/message_operations.h"
00011 #include "ros/time.h"
00012
00013 #include "ros/macros.h"
00014
00015 #include "ros/assert.h"
00016
00017
00018 namespace srs_assisted_arm_navigation_msgs
00019 {
00020 template <class ContainerAllocator>
00021 struct AssistedArmNavigationState_ {
00022 typedef AssistedArmNavigationState_<ContainerAllocator> Type;
00023
00024 AssistedArmNavigationState_()
00025 : planning_started(false)
00026 , position_reachable(false)
00027 , position_in_collision(false)
00028 , joints_out_of_limits(false)
00029 , error_description()
00030 , position_locked(false)
00031 , orientation_locked(false)
00032 , aco_state(false)
00033 , attached_objects()
00034 {
00035 }
00036
00037 AssistedArmNavigationState_(const ContainerAllocator& _alloc)
00038 : planning_started(false)
00039 , position_reachable(false)
00040 , position_in_collision(false)
00041 , joints_out_of_limits(false)
00042 , error_description(_alloc)
00043 , position_locked(false)
00044 , orientation_locked(false)
00045 , aco_state(false)
00046 , attached_objects(_alloc)
00047 {
00048 }
00049
00050 typedef uint8_t _planning_started_type;
00051 uint8_t planning_started;
00052
00053 typedef uint8_t _position_reachable_type;
00054 uint8_t position_reachable;
00055
00056 typedef uint8_t _position_in_collision_type;
00057 uint8_t position_in_collision;
00058
00059 typedef uint8_t _joints_out_of_limits_type;
00060 uint8_t joints_out_of_limits;
00061
00062 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _error_description_type;
00063 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > error_description;
00064
00065 typedef uint8_t _position_locked_type;
00066 uint8_t position_locked;
00067
00068 typedef uint8_t _orientation_locked_type;
00069 uint8_t orientation_locked;
00070
00071 typedef uint8_t _aco_state_type;
00072 uint8_t aco_state;
00073
00074 typedef std::vector<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > , typename ContainerAllocator::template rebind<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::other > _attached_objects_type;
00075 std::vector<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > , typename ContainerAllocator::template rebind<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::other > attached_objects;
00076
00077
00078 typedef boost::shared_ptr< ::srs_assisted_arm_navigation_msgs::AssistedArmNavigationState_<ContainerAllocator> > Ptr;
00079 typedef boost::shared_ptr< ::srs_assisted_arm_navigation_msgs::AssistedArmNavigationState_<ContainerAllocator> const> ConstPtr;
00080 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00081 };
00082 typedef ::srs_assisted_arm_navigation_msgs::AssistedArmNavigationState_<std::allocator<void> > AssistedArmNavigationState;
00083
00084 typedef boost::shared_ptr< ::srs_assisted_arm_navigation_msgs::AssistedArmNavigationState> AssistedArmNavigationStatePtr;
00085 typedef boost::shared_ptr< ::srs_assisted_arm_navigation_msgs::AssistedArmNavigationState const> AssistedArmNavigationStateConstPtr;
00086
00087
00088 template<typename ContainerAllocator>
00089 std::ostream& operator<<(std::ostream& s, const ::srs_assisted_arm_navigation_msgs::AssistedArmNavigationState_<ContainerAllocator> & v)
00090 {
00091 ros::message_operations::Printer< ::srs_assisted_arm_navigation_msgs::AssistedArmNavigationState_<ContainerAllocator> >::stream(s, "", v);
00092 return s;}
00093
00094 }
00095
00096 namespace ros
00097 {
00098 namespace message_traits
00099 {
00100 template<class ContainerAllocator> struct IsMessage< ::srs_assisted_arm_navigation_msgs::AssistedArmNavigationState_<ContainerAllocator> > : public TrueType {};
00101 template<class ContainerAllocator> struct IsMessage< ::srs_assisted_arm_navigation_msgs::AssistedArmNavigationState_<ContainerAllocator> const> : public TrueType {};
00102 template<class ContainerAllocator>
00103 struct MD5Sum< ::srs_assisted_arm_navigation_msgs::AssistedArmNavigationState_<ContainerAllocator> > {
00104 static const char* value()
00105 {
00106 return "4535a19480c891b40f666fd0e350e902";
00107 }
00108
00109 static const char* value(const ::srs_assisted_arm_navigation_msgs::AssistedArmNavigationState_<ContainerAllocator> &) { return value(); }
00110 static const uint64_t static_value1 = 0x4535a19480c891b4ULL;
00111 static const uint64_t static_value2 = 0x0f666fd0e350e902ULL;
00112 };
00113
00114 template<class ContainerAllocator>
00115 struct DataType< ::srs_assisted_arm_navigation_msgs::AssistedArmNavigationState_<ContainerAllocator> > {
00116 static const char* value()
00117 {
00118 return "srs_assisted_arm_navigation_msgs/AssistedArmNavigationState";
00119 }
00120
00121 static const char* value(const ::srs_assisted_arm_navigation_msgs::AssistedArmNavigationState_<ContainerAllocator> &) { return value(); }
00122 };
00123
00124 template<class ContainerAllocator>
00125 struct Definition< ::srs_assisted_arm_navigation_msgs::AssistedArmNavigationState_<ContainerAllocator> > {
00126 static const char* value()
00127 {
00128 return "###\n\
00129 # This message is used to publish internal state of assisted arm navigation node\n\
00130 ###\n\
00131 \n\
00132 # Internal state (planned, executing etc.) - TBD\n\
00133 \n\
00134 bool planning_started\n\
00135 bool position_reachable # IK can be found\n\
00136 bool position_in_collision\n\
00137 \n\
00138 bool joints_out_of_limits\n\
00139 \n\
00140 string error_description # position not reachable, collision etc.\n\
00141 \n\
00142 # Spacenav variables\n\
00143 bool position_locked\n\
00144 bool orientation_locked\n\
00145 \n\
00146 bool aco_state # true - enable, false - disabled\n\
00147 \n\
00148 string[] attached_objects\n\
00149 \n\
00150 ";
00151 }
00152
00153 static const char* value(const ::srs_assisted_arm_navigation_msgs::AssistedArmNavigationState_<ContainerAllocator> &) { return value(); }
00154 };
00155
00156 }
00157 }
00158
00159 namespace ros
00160 {
00161 namespace serialization
00162 {
00163
00164 template<class ContainerAllocator> struct Serializer< ::srs_assisted_arm_navigation_msgs::AssistedArmNavigationState_<ContainerAllocator> >
00165 {
00166 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00167 {
00168 stream.next(m.planning_started);
00169 stream.next(m.position_reachable);
00170 stream.next(m.position_in_collision);
00171 stream.next(m.joints_out_of_limits);
00172 stream.next(m.error_description);
00173 stream.next(m.position_locked);
00174 stream.next(m.orientation_locked);
00175 stream.next(m.aco_state);
00176 stream.next(m.attached_objects);
00177 }
00178
00179 ROS_DECLARE_ALLINONE_SERIALIZER;
00180 };
00181 }
00182 }
00183
00184 namespace ros
00185 {
00186 namespace message_operations
00187 {
00188
00189 template<class ContainerAllocator>
00190 struct Printer< ::srs_assisted_arm_navigation_msgs::AssistedArmNavigationState_<ContainerAllocator> >
00191 {
00192 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::srs_assisted_arm_navigation_msgs::AssistedArmNavigationState_<ContainerAllocator> & v)
00193 {
00194 s << indent << "planning_started: ";
00195 Printer<uint8_t>::stream(s, indent + " ", v.planning_started);
00196 s << indent << "position_reachable: ";
00197 Printer<uint8_t>::stream(s, indent + " ", v.position_reachable);
00198 s << indent << "position_in_collision: ";
00199 Printer<uint8_t>::stream(s, indent + " ", v.position_in_collision);
00200 s << indent << "joints_out_of_limits: ";
00201 Printer<uint8_t>::stream(s, indent + " ", v.joints_out_of_limits);
00202 s << indent << "error_description: ";
00203 Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.error_description);
00204 s << indent << "position_locked: ";
00205 Printer<uint8_t>::stream(s, indent + " ", v.position_locked);
00206 s << indent << "orientation_locked: ";
00207 Printer<uint8_t>::stream(s, indent + " ", v.orientation_locked);
00208 s << indent << "aco_state: ";
00209 Printer<uint8_t>::stream(s, indent + " ", v.aco_state);
00210 s << indent << "attached_objects[]" << std::endl;
00211 for (size_t i = 0; i < v.attached_objects.size(); ++i)
00212 {
00213 s << indent << " attached_objects[" << i << "]: ";
00214 Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.attached_objects[i]);
00215 }
00216 }
00217 };
00218
00219
00220 }
00221 }
00222
00223 #endif // SRS_ASSISTED_ARM_NAVIGATION_MSGS_MESSAGE_ASSISTEDARMNAVIGATIONSTATE_H
00224