ContactInformation.h
Go to the documentation of this file.
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-groovy-arm_navigation/doc_stacks/2013-12-02_12-23-34.850326/arm_navigation/arm_navigation_msgs/msg/ContactInformation.msg */
00002 #ifndef ARM_NAVIGATION_MSGS_MESSAGE_CONTACTINFORMATION_H
00003 #define ARM_NAVIGATION_MSGS_MESSAGE_CONTACTINFORMATION_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 #include "std_msgs/Header.h"
00018 #include "geometry_msgs/Point.h"
00019 #include "geometry_msgs/Vector3.h"
00020 
00021 namespace arm_navigation_msgs
00022 {
00023 template <class ContainerAllocator>
00024 struct ContactInformation_ {
00025   typedef ContactInformation_<ContainerAllocator> Type;
00026 
00027   ContactInformation_()
00028   : header()
00029   , position()
00030   , normal()
00031   , depth(0.0)
00032   , contact_body_1()
00033   , attached_body_1()
00034   , body_type_1(0)
00035   , contact_body_2()
00036   , attached_body_2()
00037   , body_type_2(0)
00038   {
00039   }
00040 
00041   ContactInformation_(const ContainerAllocator& _alloc)
00042   : header(_alloc)
00043   , position(_alloc)
00044   , normal(_alloc)
00045   , depth(0.0)
00046   , contact_body_1(_alloc)
00047   , attached_body_1(_alloc)
00048   , body_type_1(0)
00049   , contact_body_2(_alloc)
00050   , attached_body_2(_alloc)
00051   , body_type_2(0)
00052   {
00053   }
00054 
00055   typedef  ::std_msgs::Header_<ContainerAllocator>  _header_type;
00056    ::std_msgs::Header_<ContainerAllocator>  header;
00057 
00058   typedef  ::geometry_msgs::Point_<ContainerAllocator>  _position_type;
00059    ::geometry_msgs::Point_<ContainerAllocator>  position;
00060 
00061   typedef  ::geometry_msgs::Vector3_<ContainerAllocator>  _normal_type;
00062    ::geometry_msgs::Vector3_<ContainerAllocator>  normal;
00063 
00064   typedef double _depth_type;
00065   double depth;
00066 
00067   typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other >  _contact_body_1_type;
00068   std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other >  contact_body_1;
00069 
00070   typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other >  _attached_body_1_type;
00071   std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other >  attached_body_1;
00072 
00073   typedef uint32_t _body_type_1_type;
00074   uint32_t body_type_1;
00075 
00076   typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other >  _contact_body_2_type;
00077   std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other >  contact_body_2;
00078 
00079   typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other >  _attached_body_2_type;
00080   std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other >  attached_body_2;
00081 
00082   typedef uint32_t _body_type_2_type;
00083   uint32_t body_type_2;
00084 
00085   enum { ROBOT_LINK = 0 };
00086   enum { OBJECT = 1 };
00087   enum { ATTACHED_BODY = 2 };
00088 
00089   typedef boost::shared_ptr< ::arm_navigation_msgs::ContactInformation_<ContainerAllocator> > Ptr;
00090   typedef boost::shared_ptr< ::arm_navigation_msgs::ContactInformation_<ContainerAllocator>  const> ConstPtr;
00091   boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00092 }; // struct ContactInformation
00093 typedef  ::arm_navigation_msgs::ContactInformation_<std::allocator<void> > ContactInformation;
00094 
00095 typedef boost::shared_ptr< ::arm_navigation_msgs::ContactInformation> ContactInformationPtr;
00096 typedef boost::shared_ptr< ::arm_navigation_msgs::ContactInformation const> ContactInformationConstPtr;
00097 
00098 
00099 template<typename ContainerAllocator>
00100 std::ostream& operator<<(std::ostream& s, const  ::arm_navigation_msgs::ContactInformation_<ContainerAllocator> & v)
00101 {
00102   ros::message_operations::Printer< ::arm_navigation_msgs::ContactInformation_<ContainerAllocator> >::stream(s, "", v);
00103   return s;}
00104 
00105 } // namespace arm_navigation_msgs
00106 
00107 namespace ros
00108 {
00109 namespace message_traits
00110 {
00111 template<class ContainerAllocator> struct IsMessage< ::arm_navigation_msgs::ContactInformation_<ContainerAllocator> > : public TrueType {};
00112 template<class ContainerAllocator> struct IsMessage< ::arm_navigation_msgs::ContactInformation_<ContainerAllocator>  const> : public TrueType {};
00113 template<class ContainerAllocator>
00114 struct MD5Sum< ::arm_navigation_msgs::ContactInformation_<ContainerAllocator> > {
00115   static const char* value() 
00116   {
00117     return "85f341c0166ad4e68b4421391bbd2e15";
00118   }
00119 
00120   static const char* value(const  ::arm_navigation_msgs::ContactInformation_<ContainerAllocator> &) { return value(); } 
00121   static const uint64_t static_value1 = 0x85f341c0166ad4e6ULL;
00122   static const uint64_t static_value2 = 0x8b4421391bbd2e15ULL;
00123 };
00124 
00125 template<class ContainerAllocator>
00126 struct DataType< ::arm_navigation_msgs::ContactInformation_<ContainerAllocator> > {
00127   static const char* value() 
00128   {
00129     return "arm_navigation_msgs/ContactInformation";
00130   }
00131 
00132   static const char* value(const  ::arm_navigation_msgs::ContactInformation_<ContainerAllocator> &) { return value(); } 
00133 };
00134 
00135 template<class ContainerAllocator>
00136 struct Definition< ::arm_navigation_msgs::ContactInformation_<ContainerAllocator> > {
00137   static const char* value() 
00138   {
00139     return "# Standard ROS header contains information \n\
00140 # about the frame in which this \n\
00141 # contact is specified\n\
00142 Header header\n\
00143 \n\
00144 # Position of the contact point\n\
00145 geometry_msgs/Point position\n\
00146 \n\
00147 # Normal corresponding to the contact point\n\
00148 geometry_msgs/Vector3 normal \n\
00149 \n\
00150 # Depth of contact point\n\
00151 float64 depth\n\
00152 \n\
00153 # Name of the first body that is in contact\n\
00154 # This could be a link or a namespace that represents a body\n\
00155 string contact_body_1\n\
00156 string attached_body_1\n\
00157 uint32 body_type_1\n\
00158 \n\
00159 # Name of the second body that is in contact\n\
00160 # This could be a link or a namespace that represents a body\n\
00161 string contact_body_2\n\
00162 string attached_body_2\n\
00163 uint32 body_type_2\n\
00164 \n\
00165 uint32 ROBOT_LINK=0\n\
00166 uint32 OBJECT=1\n\
00167 uint32 ATTACHED_BODY=2\n\
00168 ================================================================================\n\
00169 MSG: std_msgs/Header\n\
00170 # Standard metadata for higher-level stamped data types.\n\
00171 # This is generally used to communicate timestamped data \n\
00172 # in a particular coordinate frame.\n\
00173 # \n\
00174 # sequence ID: consecutively increasing ID \n\
00175 uint32 seq\n\
00176 #Two-integer timestamp that is expressed as:\n\
00177 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00178 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00179 # time-handling sugar is provided by the client library\n\
00180 time stamp\n\
00181 #Frame this data is associated with\n\
00182 # 0: no frame\n\
00183 # 1: global frame\n\
00184 string frame_id\n\
00185 \n\
00186 ================================================================================\n\
00187 MSG: geometry_msgs/Point\n\
00188 # This contains the position of a point in free space\n\
00189 float64 x\n\
00190 float64 y\n\
00191 float64 z\n\
00192 \n\
00193 ================================================================================\n\
00194 MSG: geometry_msgs/Vector3\n\
00195 # This represents a vector in free space. \n\
00196 \n\
00197 float64 x\n\
00198 float64 y\n\
00199 float64 z\n\
00200 ";
00201   }
00202 
00203   static const char* value(const  ::arm_navigation_msgs::ContactInformation_<ContainerAllocator> &) { return value(); } 
00204 };
00205 
00206 template<class ContainerAllocator> struct HasHeader< ::arm_navigation_msgs::ContactInformation_<ContainerAllocator> > : public TrueType {};
00207 template<class ContainerAllocator> struct HasHeader< const ::arm_navigation_msgs::ContactInformation_<ContainerAllocator> > : public TrueType {};
00208 } // namespace message_traits
00209 } // namespace ros
00210 
00211 namespace ros
00212 {
00213 namespace serialization
00214 {
00215 
00216 template<class ContainerAllocator> struct Serializer< ::arm_navigation_msgs::ContactInformation_<ContainerAllocator> >
00217 {
00218   template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00219   {
00220     stream.next(m.header);
00221     stream.next(m.position);
00222     stream.next(m.normal);
00223     stream.next(m.depth);
00224     stream.next(m.contact_body_1);
00225     stream.next(m.attached_body_1);
00226     stream.next(m.body_type_1);
00227     stream.next(m.contact_body_2);
00228     stream.next(m.attached_body_2);
00229     stream.next(m.body_type_2);
00230   }
00231 
00232   ROS_DECLARE_ALLINONE_SERIALIZER;
00233 }; // struct ContactInformation_
00234 } // namespace serialization
00235 } // namespace ros
00236 
00237 namespace ros
00238 {
00239 namespace message_operations
00240 {
00241 
00242 template<class ContainerAllocator>
00243 struct Printer< ::arm_navigation_msgs::ContactInformation_<ContainerAllocator> >
00244 {
00245   template<typename Stream> static void stream(Stream& s, const std::string& indent, const  ::arm_navigation_msgs::ContactInformation_<ContainerAllocator> & v) 
00246   {
00247     s << indent << "header: ";
00248 s << std::endl;
00249     Printer< ::std_msgs::Header_<ContainerAllocator> >::stream(s, indent + "  ", v.header);
00250     s << indent << "position: ";
00251 s << std::endl;
00252     Printer< ::geometry_msgs::Point_<ContainerAllocator> >::stream(s, indent + "  ", v.position);
00253     s << indent << "normal: ";
00254 s << std::endl;
00255     Printer< ::geometry_msgs::Vector3_<ContainerAllocator> >::stream(s, indent + "  ", v.normal);
00256     s << indent << "depth: ";
00257     Printer<double>::stream(s, indent + "  ", v.depth);
00258     s << indent << "contact_body_1: ";
00259     Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + "  ", v.contact_body_1);
00260     s << indent << "attached_body_1: ";
00261     Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + "  ", v.attached_body_1);
00262     s << indent << "body_type_1: ";
00263     Printer<uint32_t>::stream(s, indent + "  ", v.body_type_1);
00264     s << indent << "contact_body_2: ";
00265     Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + "  ", v.contact_body_2);
00266     s << indent << "attached_body_2: ";
00267     Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + "  ", v.attached_body_2);
00268     s << indent << "body_type_2: ";
00269     Printer<uint32_t>::stream(s, indent + "  ", v.body_type_2);
00270   }
00271 };
00272 
00273 
00274 } // namespace message_operations
00275 } // namespace ros
00276 
00277 #endif // ARM_NAVIGATION_MSGS_MESSAGE_CONTACTINFORMATION_H
00278 


arm_navigation_msgs
Author(s): Gil Jones
autogenerated on Mon Dec 2 2013 12:31:51