Go to the documentation of this file.00001
00002 #ifndef SBA_MESSAGE_PROJECTION_H
00003 #define SBA_MESSAGE_PROJECTION_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
00018 namespace sba
00019 {
00020 template <class ContainerAllocator>
00021 struct Projection_ {
00022 typedef Projection_<ContainerAllocator> Type;
00023
00024 Projection_()
00025 : camindex(0)
00026 , pointindex(0)
00027 , u(0.0)
00028 , v(0.0)
00029 , d(0.0)
00030 , stereo(false)
00031 , usecovariance(false)
00032 , covariance()
00033 {
00034 covariance.assign(0.0);
00035 }
00036
00037 Projection_(const ContainerAllocator& _alloc)
00038 : camindex(0)
00039 , pointindex(0)
00040 , u(0.0)
00041 , v(0.0)
00042 , d(0.0)
00043 , stereo(false)
00044 , usecovariance(false)
00045 , covariance()
00046 {
00047 covariance.assign(0.0);
00048 }
00049
00050 typedef uint32_t _camindex_type;
00051 uint32_t camindex;
00052
00053 typedef uint32_t _pointindex_type;
00054 uint32_t pointindex;
00055
00056 typedef double _u_type;
00057 double u;
00058
00059 typedef double _v_type;
00060 double v;
00061
00062 typedef double _d_type;
00063 double d;
00064
00065 typedef uint8_t _stereo_type;
00066 uint8_t stereo;
00067
00068 typedef uint8_t _usecovariance_type;
00069 uint8_t usecovariance;
00070
00071 typedef boost::array<double, 9> _covariance_type;
00072 boost::array<double, 9> covariance;
00073
00074
00075 typedef boost::shared_ptr< ::sba::Projection_<ContainerAllocator> > Ptr;
00076 typedef boost::shared_ptr< ::sba::Projection_<ContainerAllocator> const> ConstPtr;
00077 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00078 };
00079 typedef ::sba::Projection_<std::allocator<void> > Projection;
00080
00081 typedef boost::shared_ptr< ::sba::Projection> ProjectionPtr;
00082 typedef boost::shared_ptr< ::sba::Projection const> ProjectionConstPtr;
00083
00084
00085 template<typename ContainerAllocator>
00086 std::ostream& operator<<(std::ostream& s, const ::sba::Projection_<ContainerAllocator> & v)
00087 {
00088 ros::message_operations::Printer< ::sba::Projection_<ContainerAllocator> >::stream(s, "", v);
00089 return s;}
00090
00091 }
00092
00093 namespace ros
00094 {
00095 namespace message_traits
00096 {
00097 template<class ContainerAllocator> struct IsMessage< ::sba::Projection_<ContainerAllocator> > : public TrueType {};
00098 template<class ContainerAllocator> struct IsMessage< ::sba::Projection_<ContainerAllocator> const> : public TrueType {};
00099 template<class ContainerAllocator>
00100 struct MD5Sum< ::sba::Projection_<ContainerAllocator> > {
00101 static const char* value()
00102 {
00103 return "3d5a2ac666ca0038812f550185cfc756";
00104 }
00105
00106 static const char* value(const ::sba::Projection_<ContainerAllocator> &) { return value(); }
00107 static const uint64_t static_value1 = 0x3d5a2ac666ca0038ULL;
00108 static const uint64_t static_value2 = 0x812f550185cfc756ULL;
00109 };
00110
00111 template<class ContainerAllocator>
00112 struct DataType< ::sba::Projection_<ContainerAllocator> > {
00113 static const char* value()
00114 {
00115 return "sba/Projection";
00116 }
00117
00118 static const char* value(const ::sba::Projection_<ContainerAllocator> &) { return value(); }
00119 };
00120
00121 template<class ContainerAllocator>
00122 struct Definition< ::sba::Projection_<ContainerAllocator> > {
00123 static const char* value()
00124 {
00125 return "# Projection\n\
00126 \n\
00127 # Camera index\n\
00128 uint32 camindex\n\
00129 \n\
00130 # Point index\n\
00131 uint32 pointindex\n\
00132 \n\
00133 # Projection into the image plane\n\
00134 float64 u\n\
00135 float64 v\n\
00136 float64 d\n\
00137 \n\
00138 # Is this a stereo projection? (true if stereo, false if monocular)\n\
00139 bool stereo\n\
00140 \n\
00141 # Use a covariance matrix?\n\
00142 bool usecovariance\n\
00143 \n\
00144 # A 3x3 covariance matrix describing the error\n\
00145 float64[9] covariance\n\
00146 \n\
00147 \n\
00148 ";
00149 }
00150
00151 static const char* value(const ::sba::Projection_<ContainerAllocator> &) { return value(); }
00152 };
00153
00154 template<class ContainerAllocator> struct IsFixedSize< ::sba::Projection_<ContainerAllocator> > : public TrueType {};
00155 }
00156 }
00157
00158 namespace ros
00159 {
00160 namespace serialization
00161 {
00162
00163 template<class ContainerAllocator> struct Serializer< ::sba::Projection_<ContainerAllocator> >
00164 {
00165 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00166 {
00167 stream.next(m.camindex);
00168 stream.next(m.pointindex);
00169 stream.next(m.u);
00170 stream.next(m.v);
00171 stream.next(m.d);
00172 stream.next(m.stereo);
00173 stream.next(m.usecovariance);
00174 stream.next(m.covariance);
00175 }
00176
00177 ROS_DECLARE_ALLINONE_SERIALIZER;
00178 };
00179 }
00180 }
00181
00182 namespace ros
00183 {
00184 namespace message_operations
00185 {
00186
00187 template<class ContainerAllocator>
00188 struct Printer< ::sba::Projection_<ContainerAllocator> >
00189 {
00190 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::sba::Projection_<ContainerAllocator> & v)
00191 {
00192 s << indent << "camindex: ";
00193 Printer<uint32_t>::stream(s, indent + " ", v.camindex);
00194 s << indent << "pointindex: ";
00195 Printer<uint32_t>::stream(s, indent + " ", v.pointindex);
00196 s << indent << "u: ";
00197 Printer<double>::stream(s, indent + " ", v.u);
00198 s << indent << "v: ";
00199 Printer<double>::stream(s, indent + " ", v.v);
00200 s << indent << "d: ";
00201 Printer<double>::stream(s, indent + " ", v.d);
00202 s << indent << "stereo: ";
00203 Printer<uint8_t>::stream(s, indent + " ", v.stereo);
00204 s << indent << "usecovariance: ";
00205 Printer<uint8_t>::stream(s, indent + " ", v.usecovariance);
00206 s << indent << "covariance[]" << std::endl;
00207 for (size_t i = 0; i < v.covariance.size(); ++i)
00208 {
00209 s << indent << " covariance[" << i << "]: ";
00210 Printer<double>::stream(s, indent + " ", v.covariance[i]);
00211 }
00212 }
00213 };
00214
00215
00216 }
00217 }
00218
00219 #endif // SBA_MESSAGE_PROJECTION_H
00220