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