Go to the documentation of this file.00001
00002 #ifndef IAS_TABLE_MSGS_MESSAGE_TABLEOBJECTRECONSTRUCTED_H
00003 #define IAS_TABLE_MSGS_MESSAGE_TABLEOBJECTRECONSTRUCTED_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/Point32.h"
00018
00019 namespace ias_table_msgs
00020 {
00021 template <class ContainerAllocator>
00022 struct TableObjectReconstructed_ {
00023 typedef TableObjectReconstructed_<ContainerAllocator> Type;
00024
00025 TableObjectReconstructed_()
00026 : type(0)
00027 , coefficients()
00028 , score(0.0)
00029 , vertices()
00030 , triangles()
00031 {
00032 }
00033
00034 TableObjectReconstructed_(const ContainerAllocator& _alloc)
00035 : type(0)
00036 , coefficients(_alloc)
00037 , score(0.0)
00038 , vertices(_alloc)
00039 , triangles(_alloc)
00040 {
00041 }
00042
00043 typedef uint32_t _type_type;
00044 uint32_t type;
00045
00046 typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _coefficients_type;
00047 std::vector<double, typename ContainerAllocator::template rebind<double>::other > coefficients;
00048
00049 typedef double _score_type;
00050 double score;
00051
00052 typedef std::vector< ::geometry_msgs::Point32_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::Point32_<ContainerAllocator> >::other > _vertices_type;
00053 std::vector< ::geometry_msgs::Point32_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::Point32_<ContainerAllocator> >::other > vertices;
00054
00055 typedef std::vector<int32_t, typename ContainerAllocator::template rebind<int32_t>::other > _triangles_type;
00056 std::vector<int32_t, typename ContainerAllocator::template rebind<int32_t>::other > triangles;
00057
00058 enum { PLANE = 1 };
00059 enum { SPHERE = 2 };
00060 enum { CYLINDER = 4 };
00061 enum { ROTATIONAL = 8 };
00062 enum { BOX = 16 };
00063 enum { MESH = 32 };
00064
00065 typedef boost::shared_ptr< ::ias_table_msgs::TableObjectReconstructed_<ContainerAllocator> > Ptr;
00066 typedef boost::shared_ptr< ::ias_table_msgs::TableObjectReconstructed_<ContainerAllocator> const> ConstPtr;
00067 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00068 };
00069 typedef ::ias_table_msgs::TableObjectReconstructed_<std::allocator<void> > TableObjectReconstructed;
00070
00071 typedef boost::shared_ptr< ::ias_table_msgs::TableObjectReconstructed> TableObjectReconstructedPtr;
00072 typedef boost::shared_ptr< ::ias_table_msgs::TableObjectReconstructed const> TableObjectReconstructedConstPtr;
00073
00074
00075 template<typename ContainerAllocator>
00076 std::ostream& operator<<(std::ostream& s, const ::ias_table_msgs::TableObjectReconstructed_<ContainerAllocator> & v)
00077 {
00078 ros::message_operations::Printer< ::ias_table_msgs::TableObjectReconstructed_<ContainerAllocator> >::stream(s, "", v);
00079 return s;}
00080
00081 }
00082
00083 namespace ros
00084 {
00085 namespace message_traits
00086 {
00087 template<class ContainerAllocator> struct IsMessage< ::ias_table_msgs::TableObjectReconstructed_<ContainerAllocator> > : public TrueType {};
00088 template<class ContainerAllocator> struct IsMessage< ::ias_table_msgs::TableObjectReconstructed_<ContainerAllocator> const> : public TrueType {};
00089 template<class ContainerAllocator>
00090 struct MD5Sum< ::ias_table_msgs::TableObjectReconstructed_<ContainerAllocator> > {
00091 static const char* value()
00092 {
00093 return "b4b3b5abce1b49d448a2f19def949463";
00094 }
00095
00096 static const char* value(const ::ias_table_msgs::TableObjectReconstructed_<ContainerAllocator> &) { return value(); }
00097 static const uint64_t static_value1 = 0xb4b3b5abce1b49d4ULL;
00098 static const uint64_t static_value2 = 0x48a2f19def949463ULL;
00099 };
00100
00101 template<class ContainerAllocator>
00102 struct DataType< ::ias_table_msgs::TableObjectReconstructed_<ContainerAllocator> > {
00103 static const char* value()
00104 {
00105 return "ias_table_msgs/TableObjectReconstructed";
00106 }
00107
00108 static const char* value(const ::ias_table_msgs::TableObjectReconstructed_<ContainerAllocator> &) { return value(); }
00109 };
00110
00111 template<class ContainerAllocator>
00112 struct Definition< ::ias_table_msgs::TableObjectReconstructed_<ContainerAllocator> > {
00113 static const char* value()
00114 {
00115 return "# constants:\n\
00116 uint32 PLANE=1\n\
00117 uint32 SPHERE=2\n\
00118 uint32 CYLINDER=4\n\
00119 uint32 ROTATIONAL=8\n\
00120 uint32 BOX=16\n\
00121 uint32 MESH=32 # \"else\"\n\
00122 \n\
00123 uint32 type # one of the above\n\
00124 float64[] coefficients # depending on shape type\n\
00125 float64 score # quality of fit\n\
00126 \n\
00127 geometry_msgs/Point32[] vertices\n\
00128 int32[] triangles # indices into vertices list \n\
00129 \n\
00130 \n\
00131 ================================================================================\n\
00132 MSG: geometry_msgs/Point32\n\
00133 # This contains the position of a point in free space(with 32 bits of precision).\n\
00134 # It is recommeded to use Point wherever possible instead of Point32. \n\
00135 # \n\
00136 # This recommendation is to promote interoperability. \n\
00137 #\n\
00138 # This message is designed to take up less space when sending\n\
00139 # lots of points at once, as in the case of a PointCloud. \n\
00140 \n\
00141 float32 x\n\
00142 float32 y\n\
00143 float32 z\n\
00144 ";
00145 }
00146
00147 static const char* value(const ::ias_table_msgs::TableObjectReconstructed_<ContainerAllocator> &) { return value(); }
00148 };
00149
00150 }
00151 }
00152
00153 namespace ros
00154 {
00155 namespace serialization
00156 {
00157
00158 template<class ContainerAllocator> struct Serializer< ::ias_table_msgs::TableObjectReconstructed_<ContainerAllocator> >
00159 {
00160 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00161 {
00162 stream.next(m.type);
00163 stream.next(m.coefficients);
00164 stream.next(m.score);
00165 stream.next(m.vertices);
00166 stream.next(m.triangles);
00167 }
00168
00169 ROS_DECLARE_ALLINONE_SERIALIZER;
00170 };
00171 }
00172 }
00173
00174 namespace ros
00175 {
00176 namespace message_operations
00177 {
00178
00179 template<class ContainerAllocator>
00180 struct Printer< ::ias_table_msgs::TableObjectReconstructed_<ContainerAllocator> >
00181 {
00182 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::ias_table_msgs::TableObjectReconstructed_<ContainerAllocator> & v)
00183 {
00184 s << indent << "type: ";
00185 Printer<uint32_t>::stream(s, indent + " ", v.type);
00186 s << indent << "coefficients[]" << std::endl;
00187 for (size_t i = 0; i < v.coefficients.size(); ++i)
00188 {
00189 s << indent << " coefficients[" << i << "]: ";
00190 Printer<double>::stream(s, indent + " ", v.coefficients[i]);
00191 }
00192 s << indent << "score: ";
00193 Printer<double>::stream(s, indent + " ", v.score);
00194 s << indent << "vertices[]" << std::endl;
00195 for (size_t i = 0; i < v.vertices.size(); ++i)
00196 {
00197 s << indent << " vertices[" << i << "]: ";
00198 s << std::endl;
00199 s << indent;
00200 Printer< ::geometry_msgs::Point32_<ContainerAllocator> >::stream(s, indent + " ", v.vertices[i]);
00201 }
00202 s << indent << "triangles[]" << std::endl;
00203 for (size_t i = 0; i < v.triangles.size(); ++i)
00204 {
00205 s << indent << " triangles[" << i << "]: ";
00206 Printer<int32_t>::stream(s, indent + " ", v.triangles[i]);
00207 }
00208 }
00209 };
00210
00211
00212 }
00213 }
00214
00215 #endif // IAS_TABLE_MSGS_MESSAGE_TABLEOBJECTRECONSTRUCTED_H
00216