Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038 #ifndef TEXT_LOCATOR_MESSAGE_TEXTLOCATION_H
00039 #define TEXT_LOCATOR_MESSAGE_TEXTLOCATION_H
00040
00041
00042 #include <string>
00043 #include <vector>
00044 #include <map>
00045
00046 #include <ros/types.h>
00047 #include <ros/serialization.h>
00048 #include <ros/builtin_message_traits.h>
00049 #include <ros/message_operations.h>
00050
00051 #include <std_msgs/Header.h>
00052 #include <geometry_msgs/Point.h>
00053
00054 namespace text_locator
00055 {
00056 template <class ContainerAllocator>
00057 struct TextLocation_
00058 {
00059 typedef TextLocation_<ContainerAllocator> Type;
00060
00061 TextLocation_()
00062 : header()
00063 , p1()
00064 , p2()
00065 , text() {
00066 }
00067 TextLocation_(const ContainerAllocator& _alloc)
00068 : header(_alloc)
00069 , p1(_alloc)
00070 , p2(_alloc)
00071 , text(_alloc) {
00072 }
00073
00074
00075
00076 typedef ::std_msgs::Header_<ContainerAllocator> _header_type;
00077 _header_type header;
00078
00079 typedef ::geometry_msgs::Point_<ContainerAllocator> _p1_type;
00080 _p1_type p1;
00081
00082 typedef ::geometry_msgs::Point_<ContainerAllocator> _p2_type;
00083 _p2_type p2;
00084
00085 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _text_type;
00086 _text_type text;
00087
00088
00089
00090
00091 typedef boost::shared_ptr< ::text_locator::TextLocation_<ContainerAllocator> > Ptr;
00092 typedef boost::shared_ptr< ::text_locator::TextLocation_<ContainerAllocator> const> ConstPtr;
00093 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00094
00095 };
00096
00097 typedef ::text_locator::TextLocation_<std::allocator<void> > TextLocation;
00098
00099 typedef boost::shared_ptr< ::text_locator::TextLocation > TextLocationPtr;
00100 typedef boost::shared_ptr< ::text_locator::TextLocation const> TextLocationConstPtr;
00101
00102
00103
00104
00105
00106 template<typename ContainerAllocator>
00107 std::ostream& operator<<(std::ostream& s, const ::text_locator::TextLocation_<ContainerAllocator> & v)
00108 {
00109 ros::message_operations::Printer< ::text_locator::TextLocation_<ContainerAllocator> >::stream(s, "", v);
00110 return s;
00111 }
00112
00113 }
00114
00115 namespace ros
00116 {
00117 namespace message_traits
00118 {
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130 template <class ContainerAllocator>
00131 struct IsFixedSize< ::text_locator::TextLocation_<ContainerAllocator> >
00132 : FalseType
00133 { };
00134
00135 template <class ContainerAllocator>
00136 struct IsFixedSize< ::text_locator::TextLocation_<ContainerAllocator> const>
00137 : FalseType
00138 { };
00139
00140 template <class ContainerAllocator>
00141 struct IsMessage< ::text_locator::TextLocation_<ContainerAllocator> >
00142 : TrueType
00143 { };
00144
00145 template <class ContainerAllocator>
00146 struct IsMessage< ::text_locator::TextLocation_<ContainerAllocator> const>
00147 : TrueType
00148 { };
00149
00150 template <class ContainerAllocator>
00151 struct HasHeader< ::text_locator::TextLocation_<ContainerAllocator> >
00152 : TrueType
00153 { };
00154
00155 template <class ContainerAllocator>
00156 struct HasHeader< ::text_locator::TextLocation_<ContainerAllocator> const>
00157 : TrueType
00158 { };
00159
00160
00161 template<class ContainerAllocator>
00162 struct MD5Sum< ::text_locator::TextLocation_<ContainerAllocator> >
00163 {
00164 static const char* value()
00165 {
00166 return "994a01d5928dc63703be1b16a1985378";
00167 }
00168
00169 static const char* value(const ::text_locator::TextLocation_<ContainerAllocator>&) { return value(); }
00170 static const uint64_t static_value1 = 0x994a01d5928dc637ULL;
00171 static const uint64_t static_value2 = 0x03be1b16a1985378ULL;
00172 };
00173
00174 template<class ContainerAllocator>
00175 struct DataType< ::text_locator::TextLocation_<ContainerAllocator> >
00176 {
00177 static const char* value()
00178 {
00179 return "text_locator/TextLocation";
00180 }
00181
00182 static const char* value(const ::text_locator::TextLocation_<ContainerAllocator>&) { return value(); }
00183 };
00184
00185 template<class ContainerAllocator>
00186 struct Definition< ::text_locator::TextLocation_<ContainerAllocator> >
00187 {
00188 static const char* value()
00189 {
00190 return "#message from text_locator node\n\
00191 #header provided by ROS\n\
00192 Header header\n\
00193 #coordinates of the upper left corner of detected text region\n\
00194 #(the coordinate system starts in upper left corner)\n\
00195 geometry_msgs/Point p1\n\
00196 #coordinates of the lower right corner of detected text region\n\
00197 geometry_msgs/Point p2\n\
00198 #recognized text\n\
00199 string text\n\
00200 \n\
00201 ================================================================================\n\
00202 MSG: std_msgs/Header\n\
00203 # Standard metadata for higher-level stamped data types.\n\
00204 # This is generally used to communicate timestamped data \n\
00205 # in a particular coordinate frame.\n\
00206 # \n\
00207 # sequence ID: consecutively increasing ID \n\
00208 uint32 seq\n\
00209 #Two-integer timestamp that is expressed as:\n\
00210 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00211 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00212 # time-handling sugar is provided by the client library\n\
00213 time stamp\n\
00214 #Frame this data is associated with\n\
00215 # 0: no frame\n\
00216 # 1: global frame\n\
00217 string frame_id\n\
00218 \n\
00219 ================================================================================\n\
00220 MSG: geometry_msgs/Point\n\
00221 # This contains the position of a point in free space\n\
00222 float64 x\n\
00223 float64 y\n\
00224 float64 z\n\
00225 \n\
00226 ";
00227 }
00228
00229 static const char* value(const ::text_locator::TextLocation_<ContainerAllocator>&) { return value(); }
00230 };
00231
00232 }
00233 }
00234
00235 namespace ros
00236 {
00237 namespace serialization
00238 {
00239
00240 template<class ContainerAllocator> struct Serializer< ::text_locator::TextLocation_<ContainerAllocator> >
00241 {
00242 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00243 {
00244 stream.next(m.header);
00245 stream.next(m.p1);
00246 stream.next(m.p2);
00247 stream.next(m.text);
00248 }
00249
00250 ROS_DECLARE_ALLINONE_SERIALIZER;
00251 };
00252
00253 }
00254 }
00255
00256 namespace ros
00257 {
00258 namespace message_operations
00259 {
00260
00261 template<class ContainerAllocator>
00262 struct Printer< ::text_locator::TextLocation_<ContainerAllocator> >
00263 {
00264 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::text_locator::TextLocation_<ContainerAllocator>& v)
00265 {
00266 s << indent << "header: ";
00267 s << std::endl;
00268 Printer< ::std_msgs::Header_<ContainerAllocator> >::stream(s, indent + " ", v.header);
00269 s << indent << "p1: ";
00270 s << std::endl;
00271 Printer< ::geometry_msgs::Point_<ContainerAllocator> >::stream(s, indent + " ", v.p1);
00272 s << indent << "p2: ";
00273 s << std::endl;
00274 Printer< ::geometry_msgs::Point_<ContainerAllocator> >::stream(s, indent + " ", v.p2);
00275 s << indent << "text: ";
00276 Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.text);
00277 }
00278 };
00279
00280 }
00281 }
00282
00283 #endif // TEXT_LOCATOR_MESSAGE_TEXTLOCATION_H