PDFImpl.h
Go to the documentation of this file.
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-fuerte-tue/doc_stacks/2014-01-07_11-38-14.555624/wire/problib/msg/PDFImpl.msg */
00002 #ifndef PROBLIB_MESSAGE_PDFIMPL_H
00003 #define PROBLIB_MESSAGE_PDFIMPL_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 "problib/DimensionDescription.h"
00018 
00019 namespace problib
00020 {
00021 template <class ContainerAllocator>
00022 struct PDFImpl_ {
00023   typedef PDFImpl_<ContainerAllocator> Type;
00024 
00025   PDFImpl_()
00026   : type(0)
00027   , num_dimensions(0)
00028   , dimensions()
00029   , mean()
00030   , covariance()
00031   , density(0.0)
00032   , probabilities()
00033   , sub_pdf_ptrs()
00034   , domain_size(0)
00035   , values_float()
00036   , values_string()
00037   {
00038   }
00039 
00040   PDFImpl_(const ContainerAllocator& _alloc)
00041   : type(0)
00042   , num_dimensions(0)
00043   , dimensions(_alloc)
00044   , mean(_alloc)
00045   , covariance(_alloc)
00046   , density(0.0)
00047   , probabilities(_alloc)
00048   , sub_pdf_ptrs(_alloc)
00049   , domain_size(0)
00050   , values_float(_alloc)
00051   , values_string(_alloc)
00052   {
00053   }
00054 
00055   typedef uint8_t _type_type;
00056   uint8_t type;
00057 
00058   typedef uint32_t _num_dimensions_type;
00059   uint32_t num_dimensions;
00060 
00061   typedef std::vector< ::problib::DimensionDescription_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::problib::DimensionDescription_<ContainerAllocator> >::other >  _dimensions_type;
00062   std::vector< ::problib::DimensionDescription_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::problib::DimensionDescription_<ContainerAllocator> >::other >  dimensions;
00063 
00064   typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other >  _mean_type;
00065   std::vector<double, typename ContainerAllocator::template rebind<double>::other >  mean;
00066 
00067   typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other >  _covariance_type;
00068   std::vector<double, typename ContainerAllocator::template rebind<double>::other >  covariance;
00069 
00070   typedef double _density_type;
00071   double density;
00072 
00073   typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other >  _probabilities_type;
00074   std::vector<double, typename ContainerAllocator::template rebind<double>::other >  probabilities;
00075 
00076   typedef std::vector<uint32_t, typename ContainerAllocator::template rebind<uint32_t>::other >  _sub_pdf_ptrs_type;
00077   std::vector<uint32_t, typename ContainerAllocator::template rebind<uint32_t>::other >  sub_pdf_ptrs;
00078 
00079   typedef int32_t _domain_size_type;
00080   int32_t domain_size;
00081 
00082   typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other >  _values_float_type;
00083   std::vector<double, typename ContainerAllocator::template rebind<double>::other >  values_float;
00084 
00085   typedef std::vector<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > , typename ContainerAllocator::template rebind<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::other >  _values_string_type;
00086   std::vector<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > , typename ContainerAllocator::template rebind<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::other >  values_string;
00087 
00088   enum { GAUSSIAN = 1 };
00089   enum { UNIFORM = 2 };
00090   enum { DISJUNCTION_STRING = 3 };
00091   enum { DISJUNCTION_FLOAT = 4 };
00092   enum { DISJUNCTION_PDF = 5 };
00093   enum { CONJUNCTION = 6 };
00094 
00095   typedef boost::shared_ptr< ::problib::PDFImpl_<ContainerAllocator> > Ptr;
00096   typedef boost::shared_ptr< ::problib::PDFImpl_<ContainerAllocator>  const> ConstPtr;
00097   boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00098 }; // struct PDFImpl
00099 typedef  ::problib::PDFImpl_<std::allocator<void> > PDFImpl;
00100 
00101 typedef boost::shared_ptr< ::problib::PDFImpl> PDFImplPtr;
00102 typedef boost::shared_ptr< ::problib::PDFImpl const> PDFImplConstPtr;
00103 
00104 
00105 template<typename ContainerAllocator>
00106 std::ostream& operator<<(std::ostream& s, const  ::problib::PDFImpl_<ContainerAllocator> & v)
00107 {
00108   ros::message_operations::Printer< ::problib::PDFImpl_<ContainerAllocator> >::stream(s, "", v);
00109   return s;}
00110 
00111 } // namespace problib
00112 
00113 namespace ros
00114 {
00115 namespace message_traits
00116 {
00117 template<class ContainerAllocator> struct IsMessage< ::problib::PDFImpl_<ContainerAllocator> > : public TrueType {};
00118 template<class ContainerAllocator> struct IsMessage< ::problib::PDFImpl_<ContainerAllocator>  const> : public TrueType {};
00119 template<class ContainerAllocator>
00120 struct MD5Sum< ::problib::PDFImpl_<ContainerAllocator> > {
00121   static const char* value() 
00122   {
00123     return "fb6528e73eebd5785d5111d28934c039";
00124   }
00125 
00126   static const char* value(const  ::problib::PDFImpl_<ContainerAllocator> &) { return value(); } 
00127   static const uint64_t static_value1 = 0xfb6528e73eebd578ULL;
00128   static const uint64_t static_value2 = 0x5d5111d28934c039ULL;
00129 };
00130 
00131 template<class ContainerAllocator>
00132 struct DataType< ::problib::PDFImpl_<ContainerAllocator> > {
00133   static const char* value() 
00134   {
00135     return "problib/PDFImpl";
00136   }
00137 
00138   static const char* value(const  ::problib::PDFImpl_<ContainerAllocator> &) { return value(); } 
00139 };
00140 
00141 template<class ContainerAllocator>
00142 struct Definition< ::problib::PDFImpl_<ContainerAllocator> > {
00143   static const char* value() 
00144   {
00145     return "uint8 GAUSSIAN=1\n\
00146 uint8 UNIFORM=2\n\
00147 uint8 DISJUNCTION_STRING = 3  # PMF\n\
00148 uint8 DISJUNCTION_FLOAT = 4   # PMF\n\
00149 uint8 DISJUNCTION_PDF = 5     # Mixture\n\
00150 uint8 CONJUNCTION = 6\n\
00151 \n\
00152 uint8 type\n\
00153 uint32 num_dimensions\n\
00154 DimensionDescription[] dimensions\n\
00155 \n\
00156 # Gaussian\n\
00157 float64[] mean\n\
00158 float64[] covariance\n\
00159 \n\
00160 # Uniform\n\
00161 float64 density\n\
00162 \n\
00163 # For both mixture and discrete \n\
00164 float64[] probabilities\n\
00165 \n\
00166 # mixture of PFDs (conjunction or disjunction)\n\
00167 uint32[] sub_pdf_ptrs\n\
00168 \n\
00169 # discrete\n\
00170 int32 domain_size\n\
00171 float64[] values_float\n\
00172 string[] values_string\n\
00173 \n\
00174 \n\
00175 ================================================================================\n\
00176 MSG: problib/DimensionDescription\n\
00177 # example: object1.pos_x = [\"object1\", \"pos_x\"]\n\
00178 string[] fields\n\
00179 \n\
00180 ";
00181   }
00182 
00183   static const char* value(const  ::problib::PDFImpl_<ContainerAllocator> &) { return value(); } 
00184 };
00185 
00186 } // namespace message_traits
00187 } // namespace ros
00188 
00189 namespace ros
00190 {
00191 namespace serialization
00192 {
00193 
00194 template<class ContainerAllocator> struct Serializer< ::problib::PDFImpl_<ContainerAllocator> >
00195 {
00196   template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00197   {
00198     stream.next(m.type);
00199     stream.next(m.num_dimensions);
00200     stream.next(m.dimensions);
00201     stream.next(m.mean);
00202     stream.next(m.covariance);
00203     stream.next(m.density);
00204     stream.next(m.probabilities);
00205     stream.next(m.sub_pdf_ptrs);
00206     stream.next(m.domain_size);
00207     stream.next(m.values_float);
00208     stream.next(m.values_string);
00209   }
00210 
00211   ROS_DECLARE_ALLINONE_SERIALIZER;
00212 }; // struct PDFImpl_
00213 } // namespace serialization
00214 } // namespace ros
00215 
00216 namespace ros
00217 {
00218 namespace message_operations
00219 {
00220 
00221 template<class ContainerAllocator>
00222 struct Printer< ::problib::PDFImpl_<ContainerAllocator> >
00223 {
00224   template<typename Stream> static void stream(Stream& s, const std::string& indent, const  ::problib::PDFImpl_<ContainerAllocator> & v) 
00225   {
00226     s << indent << "type: ";
00227     Printer<uint8_t>::stream(s, indent + "  ", v.type);
00228     s << indent << "num_dimensions: ";
00229     Printer<uint32_t>::stream(s, indent + "  ", v.num_dimensions);
00230     s << indent << "dimensions[]" << std::endl;
00231     for (size_t i = 0; i < v.dimensions.size(); ++i)
00232     {
00233       s << indent << "  dimensions[" << i << "]: ";
00234       s << std::endl;
00235       s << indent;
00236       Printer< ::problib::DimensionDescription_<ContainerAllocator> >::stream(s, indent + "    ", v.dimensions[i]);
00237     }
00238     s << indent << "mean[]" << std::endl;
00239     for (size_t i = 0; i < v.mean.size(); ++i)
00240     {
00241       s << indent << "  mean[" << i << "]: ";
00242       Printer<double>::stream(s, indent + "  ", v.mean[i]);
00243     }
00244     s << indent << "covariance[]" << std::endl;
00245     for (size_t i = 0; i < v.covariance.size(); ++i)
00246     {
00247       s << indent << "  covariance[" << i << "]: ";
00248       Printer<double>::stream(s, indent + "  ", v.covariance[i]);
00249     }
00250     s << indent << "density: ";
00251     Printer<double>::stream(s, indent + "  ", v.density);
00252     s << indent << "probabilities[]" << std::endl;
00253     for (size_t i = 0; i < v.probabilities.size(); ++i)
00254     {
00255       s << indent << "  probabilities[" << i << "]: ";
00256       Printer<double>::stream(s, indent + "  ", v.probabilities[i]);
00257     }
00258     s << indent << "sub_pdf_ptrs[]" << std::endl;
00259     for (size_t i = 0; i < v.sub_pdf_ptrs.size(); ++i)
00260     {
00261       s << indent << "  sub_pdf_ptrs[" << i << "]: ";
00262       Printer<uint32_t>::stream(s, indent + "  ", v.sub_pdf_ptrs[i]);
00263     }
00264     s << indent << "domain_size: ";
00265     Printer<int32_t>::stream(s, indent + "  ", v.domain_size);
00266     s << indent << "values_float[]" << std::endl;
00267     for (size_t i = 0; i < v.values_float.size(); ++i)
00268     {
00269       s << indent << "  values_float[" << i << "]: ";
00270       Printer<double>::stream(s, indent + "  ", v.values_float[i]);
00271     }
00272     s << indent << "values_string[]" << std::endl;
00273     for (size_t i = 0; i < v.values_string.size(); ++i)
00274     {
00275       s << indent << "  values_string[" << i << "]: ";
00276       Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + "  ", v.values_string[i]);
00277     }
00278   }
00279 };
00280 
00281 
00282 } // namespace message_operations
00283 } // namespace ros
00284 
00285 #endif // PROBLIB_MESSAGE_PDFIMPL_H
00286 


problib
Author(s): Sjoerd van den Dries
autogenerated on Tue Jan 7 2014 11:42:42