00001 
00002 #ifndef VISION_MSGS_MESSAGE_PARTIAL_LO_H
00003 #define VISION_MSGS_MESSAGE_PARTIAL_LO_H
00004 #include <string>
00005 #include <vector>
00006 #include <ostream>
00007 #include "ros/serialization.h"
00008 #include "ros/builtin_message_traits.h"
00009 #include "ros/message_operations.h"
00010 #include "ros/message.h"
00011 #include "ros/time.h"
00012 
00013 
00014 namespace vision_msgs
00015 {
00016 template <class ContainerAllocator>
00017 struct partial_lo_ : public ros::Message
00018 {
00019   typedef partial_lo_<ContainerAllocator> Type;
00020 
00021   partial_lo_()
00022   : id(0)
00023   , name()
00024   , parent_id(0)
00025   , pose()
00026   , cov()
00027   , type(0)
00028   {
00029     pose.assign(0.0);
00030     cov.assign(0.0);
00031   }
00032 
00033   partial_lo_(const ContainerAllocator& _alloc)
00034   : id(0)
00035   , name(_alloc)
00036   , parent_id(0)
00037   , pose()
00038   , cov()
00039   , type(0)
00040   {
00041     pose.assign(0.0);
00042     cov.assign(0.0);
00043   }
00044 
00045   typedef uint64_t _id_type;
00046   uint64_t id;
00047 
00048   typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other >  _name_type;
00049   std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other >  name;
00050 
00051   typedef uint64_t _parent_id_type;
00052   uint64_t parent_id;
00053 
00054   typedef boost::array<double, 16>  _pose_type;
00055   boost::array<double, 16>  pose;
00056 
00057   typedef boost::array<double, 36>  _cov_type;
00058   boost::array<double, 36>  cov;
00059 
00060   typedef uint16_t _type_type;
00061   uint16_t type;
00062 
00063 
00064   ROS_DEPRECATED uint32_t get_pose_size() const { return (uint32_t)pose.size(); }
00065   ROS_DEPRECATED uint32_t get_cov_size() const { return (uint32_t)cov.size(); }
00066 private:
00067   static const char* __s_getDataType_() { return "vision_msgs/partial_lo"; }
00068 public:
00069   ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); }
00070 
00071   ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); }
00072 
00073 private:
00074   static const char* __s_getMD5Sum_() { return "9a220ff1483742865ee698cfec57218c"; }
00075 public:
00076   ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); }
00077 
00078   ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); }
00079 
00080 private:
00081   static const char* __s_getMessageDefinition_() { return "# Message to quiey the lo-service, U. Klank klank@in.tum.de\n\
00082 uint64 id                           #id of a frame, there should be unique mapping from a tf-name-string to such an id\n\
00083 string name                     #optional parameter name representing a tf and knowledgebase correspondence\n\
00084 uint64 parent_id        #id of parent frame\n\
00085 float64[16] pose              #pose matrix, fully projective 4x4 matrix\n\
00086 float64[36] cov         #covariance for 6 dof (xyz, rpy)\n\
00087 uint16 type             #fixed connection with the parent (1) or free in space (0 = default)\n\
00088 \n\
00089 "; }
00090 public:
00091   ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00092 
00093   ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00094 
00095   ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00096   {
00097     ros::serialization::OStream stream(write_ptr, 1000000000);
00098     ros::serialization::serialize(stream, id);
00099     ros::serialization::serialize(stream, name);
00100     ros::serialization::serialize(stream, parent_id);
00101     ros::serialization::serialize(stream, pose);
00102     ros::serialization::serialize(stream, cov);
00103     ros::serialization::serialize(stream, type);
00104     return stream.getData();
00105   }
00106 
00107   ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr)
00108   {
00109     ros::serialization::IStream stream(read_ptr, 1000000000);
00110     ros::serialization::deserialize(stream, id);
00111     ros::serialization::deserialize(stream, name);
00112     ros::serialization::deserialize(stream, parent_id);
00113     ros::serialization::deserialize(stream, pose);
00114     ros::serialization::deserialize(stream, cov);
00115     ros::serialization::deserialize(stream, type);
00116     return stream.getData();
00117   }
00118 
00119   ROS_DEPRECATED virtual uint32_t serializationLength() const
00120   {
00121     uint32_t size = 0;
00122     size += ros::serialization::serializationLength(id);
00123     size += ros::serialization::serializationLength(name);
00124     size += ros::serialization::serializationLength(parent_id);
00125     size += ros::serialization::serializationLength(pose);
00126     size += ros::serialization::serializationLength(cov);
00127     size += ros::serialization::serializationLength(type);
00128     return size;
00129   }
00130 
00131   typedef boost::shared_ptr< ::vision_msgs::partial_lo_<ContainerAllocator> > Ptr;
00132   typedef boost::shared_ptr< ::vision_msgs::partial_lo_<ContainerAllocator>  const> ConstPtr;
00133 }; 
00134 typedef  ::vision_msgs::partial_lo_<std::allocator<void> > partial_lo;
00135 
00136 typedef boost::shared_ptr< ::vision_msgs::partial_lo> partial_loPtr;
00137 typedef boost::shared_ptr< ::vision_msgs::partial_lo const> partial_loConstPtr;
00138 
00139 
00140 template<typename ContainerAllocator>
00141 std::ostream& operator<<(std::ostream& s, const  ::vision_msgs::partial_lo_<ContainerAllocator> & v)
00142 {
00143   ros::message_operations::Printer< ::vision_msgs::partial_lo_<ContainerAllocator> >::stream(s, "", v);
00144   return s;}
00145 
00146 } 
00147 
00148 namespace ros
00149 {
00150 namespace message_traits
00151 {
00152 template<class ContainerAllocator>
00153 struct MD5Sum< ::vision_msgs::partial_lo_<ContainerAllocator> > {
00154   static const char* value() 
00155   {
00156     return "9a220ff1483742865ee698cfec57218c";
00157   }
00158 
00159   static const char* value(const  ::vision_msgs::partial_lo_<ContainerAllocator> &) { return value(); } 
00160   static const uint64_t static_value1 = 0x9a220ff148374286ULL;
00161   static const uint64_t static_value2 = 0x5ee698cfec57218cULL;
00162 };
00163 
00164 template<class ContainerAllocator>
00165 struct DataType< ::vision_msgs::partial_lo_<ContainerAllocator> > {
00166   static const char* value() 
00167   {
00168     return "vision_msgs/partial_lo";
00169   }
00170 
00171   static const char* value(const  ::vision_msgs::partial_lo_<ContainerAllocator> &) { return value(); } 
00172 };
00173 
00174 template<class ContainerAllocator>
00175 struct Definition< ::vision_msgs::partial_lo_<ContainerAllocator> > {
00176   static const char* value() 
00177   {
00178     return "# Message to quiey the lo-service, U. Klank klank@in.tum.de\n\
00179 uint64 id                           #id of a frame, there should be unique mapping from a tf-name-string to such an id\n\
00180 string name                     #optional parameter name representing a tf and knowledgebase correspondence\n\
00181 uint64 parent_id        #id of parent frame\n\
00182 float64[16] pose              #pose matrix, fully projective 4x4 matrix\n\
00183 float64[36] cov         #covariance for 6 dof (xyz, rpy)\n\
00184 uint16 type             #fixed connection with the parent (1) or free in space (0 = default)\n\
00185 \n\
00186 ";
00187   }
00188 
00189   static const char* value(const  ::vision_msgs::partial_lo_<ContainerAllocator> &) { return value(); } 
00190 };
00191 
00192 } 
00193 } 
00194 
00195 namespace ros
00196 {
00197 namespace serialization
00198 {
00199 
00200 template<class ContainerAllocator> struct Serializer< ::vision_msgs::partial_lo_<ContainerAllocator> >
00201 {
00202   template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00203   {
00204     stream.next(m.id);
00205     stream.next(m.name);
00206     stream.next(m.parent_id);
00207     stream.next(m.pose);
00208     stream.next(m.cov);
00209     stream.next(m.type);
00210   }
00211 
00212   ROS_DECLARE_ALLINONE_SERIALIZER;
00213 }; 
00214 } 
00215 } 
00216 
00217 namespace ros
00218 {
00219 namespace message_operations
00220 {
00221 
00222 template<class ContainerAllocator>
00223 struct Printer< ::vision_msgs::partial_lo_<ContainerAllocator> >
00224 {
00225   template<typename Stream> static void stream(Stream& s, const std::string& indent, const  ::vision_msgs::partial_lo_<ContainerAllocator> & v) 
00226   {
00227     s << indent << "id: ";
00228     Printer<uint64_t>::stream(s, indent + "  ", v.id);
00229     s << indent << "name: ";
00230     Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + "  ", v.name);
00231     s << indent << "parent_id: ";
00232     Printer<uint64_t>::stream(s, indent + "  ", v.parent_id);
00233     s << indent << "pose[]" << std::endl;
00234     for (size_t i = 0; i < v.pose.size(); ++i)
00235     {
00236       s << indent << "  pose[" << i << "]: ";
00237       Printer<double>::stream(s, indent + "  ", v.pose[i]);
00238     }
00239     s << indent << "cov[]" << std::endl;
00240     for (size_t i = 0; i < v.cov.size(); ++i)
00241     {
00242       s << indent << "  cov[" << i << "]: ";
00243       Printer<double>::stream(s, indent + "  ", v.cov[i]);
00244     }
00245     s << indent << "type: ";
00246     Printer<uint16_t>::stream(s, indent + "  ", v.type);
00247   }
00248 };
00249 
00250 
00251 } 
00252 } 
00253 
00254 #endif // VISION_MSGS_MESSAGE_PARTIAL_LO_H
00255