00001
00002 #ifndef HOUSEHOLD_OBJECTS_DATABASE_MSGS_MESSAGE_DATABASEMODELPOSE_H
00003 #define HOUSEHOLD_OBJECTS_DATABASE_MSGS_MESSAGE_DATABASEMODELPOSE_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 "geometry_msgs/PoseStamped.h"
00018
00019 namespace household_objects_database_msgs
00020 {
00021 template <class ContainerAllocator>
00022 struct DatabaseModelPose_ {
00023 typedef DatabaseModelPose_<ContainerAllocator> Type;
00024
00025 DatabaseModelPose_()
00026 : model_id(0)
00027 , pose()
00028 , confidence(0.0)
00029 , detector_name()
00030 {
00031 }
00032
00033 DatabaseModelPose_(const ContainerAllocator& _alloc)
00034 : model_id(0)
00035 , pose(_alloc)
00036 , confidence(0.0)
00037 , detector_name(_alloc)
00038 {
00039 }
00040
00041 typedef int32_t _model_id_type;
00042 int32_t model_id;
00043
00044 typedef ::geometry_msgs::PoseStamped_<ContainerAllocator> _pose_type;
00045 ::geometry_msgs::PoseStamped_<ContainerAllocator> pose;
00046
00047 typedef float _confidence_type;
00048 float confidence;
00049
00050 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _detector_name_type;
00051 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > detector_name;
00052
00053
00054 private:
00055 static const char* __s_getDataType_() { return "household_objects_database_msgs/DatabaseModelPose"; }
00056 public:
00057 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); }
00058
00059 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); }
00060
00061 private:
00062 static const char* __s_getMD5Sum_() { return "b739e78b71454381fec36791b724ddfc"; }
00063 public:
00064 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); }
00065
00066 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); }
00067
00068 private:
00069 static const char* __s_getMessageDefinition_() { return "# Informs that a specific model from the Model Database has been \n\
00070 # identified at a certain location\n\
00071 \n\
00072 # the database id of the model\n\
00073 int32 model_id\n\
00074 \n\
00075 # the pose that it can be found in\n\
00076 geometry_msgs/PoseStamped pose\n\
00077 \n\
00078 # a measure of the confidence level in this detection result\n\
00079 float32 confidence\n\
00080 \n\
00081 # the name of the object detector that generated this detection result\n\
00082 string detector_name\n\
00083 \n\
00084 ================================================================================\n\
00085 MSG: geometry_msgs/PoseStamped\n\
00086 # A Pose with reference coordinate frame and timestamp\n\
00087 Header header\n\
00088 Pose pose\n\
00089 \n\
00090 ================================================================================\n\
00091 MSG: std_msgs/Header\n\
00092 # Standard metadata for higher-level stamped data types.\n\
00093 # This is generally used to communicate timestamped data \n\
00094 # in a particular coordinate frame.\n\
00095 # \n\
00096 # sequence ID: consecutively increasing ID \n\
00097 uint32 seq\n\
00098 #Two-integer timestamp that is expressed as:\n\
00099 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00100 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00101 # time-handling sugar is provided by the client library\n\
00102 time stamp\n\
00103 #Frame this data is associated with\n\
00104 # 0: no frame\n\
00105 # 1: global frame\n\
00106 string frame_id\n\
00107 \n\
00108 ================================================================================\n\
00109 MSG: geometry_msgs/Pose\n\
00110 # A representation of pose in free space, composed of postion and orientation. \n\
00111 Point position\n\
00112 Quaternion orientation\n\
00113 \n\
00114 ================================================================================\n\
00115 MSG: geometry_msgs/Point\n\
00116 # This contains the position of a point in free space\n\
00117 float64 x\n\
00118 float64 y\n\
00119 float64 z\n\
00120 \n\
00121 ================================================================================\n\
00122 MSG: geometry_msgs/Quaternion\n\
00123 # This represents an orientation in free space in quaternion form.\n\
00124 \n\
00125 float64 x\n\
00126 float64 y\n\
00127 float64 z\n\
00128 float64 w\n\
00129 \n\
00130 "; }
00131 public:
00132 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00133
00134 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00135
00136 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00137 {
00138 ros::serialization::OStream stream(write_ptr, 1000000000);
00139 ros::serialization::serialize(stream, model_id);
00140 ros::serialization::serialize(stream, pose);
00141 ros::serialization::serialize(stream, confidence);
00142 ros::serialization::serialize(stream, detector_name);
00143 return stream.getData();
00144 }
00145
00146 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr)
00147 {
00148 ros::serialization::IStream stream(read_ptr, 1000000000);
00149 ros::serialization::deserialize(stream, model_id);
00150 ros::serialization::deserialize(stream, pose);
00151 ros::serialization::deserialize(stream, confidence);
00152 ros::serialization::deserialize(stream, detector_name);
00153 return stream.getData();
00154 }
00155
00156 ROS_DEPRECATED virtual uint32_t serializationLength() const
00157 {
00158 uint32_t size = 0;
00159 size += ros::serialization::serializationLength(model_id);
00160 size += ros::serialization::serializationLength(pose);
00161 size += ros::serialization::serializationLength(confidence);
00162 size += ros::serialization::serializationLength(detector_name);
00163 return size;
00164 }
00165
00166 typedef boost::shared_ptr< ::household_objects_database_msgs::DatabaseModelPose_<ContainerAllocator> > Ptr;
00167 typedef boost::shared_ptr< ::household_objects_database_msgs::DatabaseModelPose_<ContainerAllocator> const> ConstPtr;
00168 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00169 };
00170 typedef ::household_objects_database_msgs::DatabaseModelPose_<std::allocator<void> > DatabaseModelPose;
00171
00172 typedef boost::shared_ptr< ::household_objects_database_msgs::DatabaseModelPose> DatabaseModelPosePtr;
00173 typedef boost::shared_ptr< ::household_objects_database_msgs::DatabaseModelPose const> DatabaseModelPoseConstPtr;
00174
00175
00176 template<typename ContainerAllocator>
00177 std::ostream& operator<<(std::ostream& s, const ::household_objects_database_msgs::DatabaseModelPose_<ContainerAllocator> & v)
00178 {
00179 ros::message_operations::Printer< ::household_objects_database_msgs::DatabaseModelPose_<ContainerAllocator> >::stream(s, "", v);
00180 return s;}
00181
00182 }
00183
00184 namespace ros
00185 {
00186 namespace message_traits
00187 {
00188 template<class ContainerAllocator> struct IsMessage< ::household_objects_database_msgs::DatabaseModelPose_<ContainerAllocator> > : public TrueType {};
00189 template<class ContainerAllocator> struct IsMessage< ::household_objects_database_msgs::DatabaseModelPose_<ContainerAllocator> const> : public TrueType {};
00190 template<class ContainerAllocator>
00191 struct MD5Sum< ::household_objects_database_msgs::DatabaseModelPose_<ContainerAllocator> > {
00192 static const char* value()
00193 {
00194 return "b739e78b71454381fec36791b724ddfc";
00195 }
00196
00197 static const char* value(const ::household_objects_database_msgs::DatabaseModelPose_<ContainerAllocator> &) { return value(); }
00198 static const uint64_t static_value1 = 0xb739e78b71454381ULL;
00199 static const uint64_t static_value2 = 0xfec36791b724ddfcULL;
00200 };
00201
00202 template<class ContainerAllocator>
00203 struct DataType< ::household_objects_database_msgs::DatabaseModelPose_<ContainerAllocator> > {
00204 static const char* value()
00205 {
00206 return "household_objects_database_msgs/DatabaseModelPose";
00207 }
00208
00209 static const char* value(const ::household_objects_database_msgs::DatabaseModelPose_<ContainerAllocator> &) { return value(); }
00210 };
00211
00212 template<class ContainerAllocator>
00213 struct Definition< ::household_objects_database_msgs::DatabaseModelPose_<ContainerAllocator> > {
00214 static const char* value()
00215 {
00216 return "# Informs that a specific model from the Model Database has been \n\
00217 # identified at a certain location\n\
00218 \n\
00219 # the database id of the model\n\
00220 int32 model_id\n\
00221 \n\
00222 # the pose that it can be found in\n\
00223 geometry_msgs/PoseStamped pose\n\
00224 \n\
00225 # a measure of the confidence level in this detection result\n\
00226 float32 confidence\n\
00227 \n\
00228 # the name of the object detector that generated this detection result\n\
00229 string detector_name\n\
00230 \n\
00231 ================================================================================\n\
00232 MSG: geometry_msgs/PoseStamped\n\
00233 # A Pose with reference coordinate frame and timestamp\n\
00234 Header header\n\
00235 Pose pose\n\
00236 \n\
00237 ================================================================================\n\
00238 MSG: std_msgs/Header\n\
00239 # Standard metadata for higher-level stamped data types.\n\
00240 # This is generally used to communicate timestamped data \n\
00241 # in a particular coordinate frame.\n\
00242 # \n\
00243 # sequence ID: consecutively increasing ID \n\
00244 uint32 seq\n\
00245 #Two-integer timestamp that is expressed as:\n\
00246 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00247 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00248 # time-handling sugar is provided by the client library\n\
00249 time stamp\n\
00250 #Frame this data is associated with\n\
00251 # 0: no frame\n\
00252 # 1: global frame\n\
00253 string frame_id\n\
00254 \n\
00255 ================================================================================\n\
00256 MSG: geometry_msgs/Pose\n\
00257 # A representation of pose in free space, composed of postion and orientation. \n\
00258 Point position\n\
00259 Quaternion orientation\n\
00260 \n\
00261 ================================================================================\n\
00262 MSG: geometry_msgs/Point\n\
00263 # This contains the position of a point in free space\n\
00264 float64 x\n\
00265 float64 y\n\
00266 float64 z\n\
00267 \n\
00268 ================================================================================\n\
00269 MSG: geometry_msgs/Quaternion\n\
00270 # This represents an orientation in free space in quaternion form.\n\
00271 \n\
00272 float64 x\n\
00273 float64 y\n\
00274 float64 z\n\
00275 float64 w\n\
00276 \n\
00277 ";
00278 }
00279
00280 static const char* value(const ::household_objects_database_msgs::DatabaseModelPose_<ContainerAllocator> &) { return value(); }
00281 };
00282
00283 }
00284 }
00285
00286 namespace ros
00287 {
00288 namespace serialization
00289 {
00290
00291 template<class ContainerAllocator> struct Serializer< ::household_objects_database_msgs::DatabaseModelPose_<ContainerAllocator> >
00292 {
00293 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00294 {
00295 stream.next(m.model_id);
00296 stream.next(m.pose);
00297 stream.next(m.confidence);
00298 stream.next(m.detector_name);
00299 }
00300
00301 ROS_DECLARE_ALLINONE_SERIALIZER;
00302 };
00303 }
00304 }
00305
00306 namespace ros
00307 {
00308 namespace message_operations
00309 {
00310
00311 template<class ContainerAllocator>
00312 struct Printer< ::household_objects_database_msgs::DatabaseModelPose_<ContainerAllocator> >
00313 {
00314 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::household_objects_database_msgs::DatabaseModelPose_<ContainerAllocator> & v)
00315 {
00316 s << indent << "model_id: ";
00317 Printer<int32_t>::stream(s, indent + " ", v.model_id);
00318 s << indent << "pose: ";
00319 s << std::endl;
00320 Printer< ::geometry_msgs::PoseStamped_<ContainerAllocator> >::stream(s, indent + " ", v.pose);
00321 s << indent << "confidence: ";
00322 Printer<float>::stream(s, indent + " ", v.confidence);
00323 s << indent << "detector_name: ";
00324 Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.detector_name);
00325 }
00326 };
00327
00328
00329 }
00330 }
00331
00332 #endif // HOUSEHOLD_OBJECTS_DATABASE_MSGS_MESSAGE_DATABASEMODELPOSE_H
00333