Go to the documentation of this file.00001
00002 #ifndef HECTOR_MAPPING_MESSAGE_HECTORITERDATA_H
00003 #define HECTOR_MAPPING_MESSAGE_HECTORITERDATA_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 hector_mapping
00019 {
00020 template <class ContainerAllocator>
00021 struct HectorIterData_ {
00022 typedef HectorIterData_<ContainerAllocator> Type;
00023
00024 HectorIterData_()
00025 : hessian()
00026 , conditionNum(0.0)
00027 , determinant(0.0)
00028 , conditionNum2d(0.0)
00029 , determinant2d(0.0)
00030 {
00031 hessian.assign(0.0);
00032 }
00033
00034 HectorIterData_(const ContainerAllocator& _alloc)
00035 : hessian()
00036 , conditionNum(0.0)
00037 , determinant(0.0)
00038 , conditionNum2d(0.0)
00039 , determinant2d(0.0)
00040 {
00041 hessian.assign(0.0);
00042 }
00043
00044 typedef boost::array<double, 9> _hessian_type;
00045 boost::array<double, 9> hessian;
00046
00047 typedef double _conditionNum_type;
00048 double conditionNum;
00049
00050 typedef double _determinant_type;
00051 double determinant;
00052
00053 typedef double _conditionNum2d_type;
00054 double conditionNum2d;
00055
00056 typedef double _determinant2d_type;
00057 double determinant2d;
00058
00059
00060 typedef boost::shared_ptr< ::hector_mapping::HectorIterData_<ContainerAllocator> > Ptr;
00061 typedef boost::shared_ptr< ::hector_mapping::HectorIterData_<ContainerAllocator> const> ConstPtr;
00062 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00063 };
00064 typedef ::hector_mapping::HectorIterData_<std::allocator<void> > HectorIterData;
00065
00066 typedef boost::shared_ptr< ::hector_mapping::HectorIterData> HectorIterDataPtr;
00067 typedef boost::shared_ptr< ::hector_mapping::HectorIterData const> HectorIterDataConstPtr;
00068
00069
00070 template<typename ContainerAllocator>
00071 std::ostream& operator<<(std::ostream& s, const ::hector_mapping::HectorIterData_<ContainerAllocator> & v)
00072 {
00073 ros::message_operations::Printer< ::hector_mapping::HectorIterData_<ContainerAllocator> >::stream(s, "", v);
00074 return s;}
00075
00076 }
00077
00078 namespace ros
00079 {
00080 namespace message_traits
00081 {
00082 template<class ContainerAllocator> struct IsMessage< ::hector_mapping::HectorIterData_<ContainerAllocator> > : public TrueType {};
00083 template<class ContainerAllocator> struct IsMessage< ::hector_mapping::HectorIterData_<ContainerAllocator> const> : public TrueType {};
00084 template<class ContainerAllocator>
00085 struct MD5Sum< ::hector_mapping::HectorIterData_<ContainerAllocator> > {
00086 static const char* value()
00087 {
00088 return "ecedaa7e26b5fc817a1add44c17fec5f";
00089 }
00090
00091 static const char* value(const ::hector_mapping::HectorIterData_<ContainerAllocator> &) { return value(); }
00092 static const uint64_t static_value1 = 0xecedaa7e26b5fc81ULL;
00093 static const uint64_t static_value2 = 0x7a1add44c17fec5fULL;
00094 };
00095
00096 template<class ContainerAllocator>
00097 struct DataType< ::hector_mapping::HectorIterData_<ContainerAllocator> > {
00098 static const char* value()
00099 {
00100 return "hector_mapping/HectorIterData";
00101 }
00102
00103 static const char* value(const ::hector_mapping::HectorIterData_<ContainerAllocator> &) { return value(); }
00104 };
00105
00106 template<class ContainerAllocator>
00107 struct Definition< ::hector_mapping::HectorIterData_<ContainerAllocator> > {
00108 static const char* value()
00109 {
00110 return "float64[9] hessian\n\
00111 float64 conditionNum\n\
00112 float64 determinant\n\
00113 float64 conditionNum2d\n\
00114 float64 determinant2d\n\
00115 \n\
00116 ";
00117 }
00118
00119 static const char* value(const ::hector_mapping::HectorIterData_<ContainerAllocator> &) { return value(); }
00120 };
00121
00122 template<class ContainerAllocator> struct IsFixedSize< ::hector_mapping::HectorIterData_<ContainerAllocator> > : public TrueType {};
00123 }
00124 }
00125
00126 namespace ros
00127 {
00128 namespace serialization
00129 {
00130
00131 template<class ContainerAllocator> struct Serializer< ::hector_mapping::HectorIterData_<ContainerAllocator> >
00132 {
00133 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00134 {
00135 stream.next(m.hessian);
00136 stream.next(m.conditionNum);
00137 stream.next(m.determinant);
00138 stream.next(m.conditionNum2d);
00139 stream.next(m.determinant2d);
00140 }
00141
00142 ROS_DECLARE_ALLINONE_SERIALIZER;
00143 };
00144 }
00145 }
00146
00147 namespace ros
00148 {
00149 namespace message_operations
00150 {
00151
00152 template<class ContainerAllocator>
00153 struct Printer< ::hector_mapping::HectorIterData_<ContainerAllocator> >
00154 {
00155 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::hector_mapping::HectorIterData_<ContainerAllocator> & v)
00156 {
00157 s << indent << "hessian[]" << std::endl;
00158 for (size_t i = 0; i < v.hessian.size(); ++i)
00159 {
00160 s << indent << " hessian[" << i << "]: ";
00161 Printer<double>::stream(s, indent + " ", v.hessian[i]);
00162 }
00163 s << indent << "conditionNum: ";
00164 Printer<double>::stream(s, indent + " ", v.conditionNum);
00165 s << indent << "determinant: ";
00166 Printer<double>::stream(s, indent + " ", v.determinant);
00167 s << indent << "conditionNum2d: ";
00168 Printer<double>::stream(s, indent + " ", v.conditionNum2d);
00169 s << indent << "determinant2d: ";
00170 Printer<double>::stream(s, indent + " ", v.determinant2d);
00171 }
00172 };
00173
00174
00175 }
00176 }
00177
00178 #endif // HECTOR_MAPPING_MESSAGE_HECTORITERDATA_H
00179