00001
00002 #ifndef SPLINE_SMOOTHER_MESSAGE_LSPBSPLINECOEFFICIENTS_H
00003 #define SPLINE_SMOOTHER_MESSAGE_LSPBSPLINECOEFFICIENTS_H
00004 #include <string>
00005 #include <vector>
00006 #include <ostream>
00007 #include "ros/serialization.h"
00008 #include "ros/builtin_message_traits.h"
00009 #include "ros/message_operations.h"
00010 #include "ros/message.h"
00011 #include "ros/time.h"
00012
00013
00014 namespace spline_smoother
00015 {
00016 template <class ContainerAllocator>
00017 struct LSPBSplineCoefficients_ : public ros::Message
00018 {
00019 typedef LSPBSplineCoefficients_<ContainerAllocator> Type;
00020
00021 LSPBSplineCoefficients_()
00022 : coefficients()
00023 , linear_segment_duration(0.0)
00024 , quadratic_segment_duration(0.0)
00025 {
00026 }
00027
00028 LSPBSplineCoefficients_(const ContainerAllocator& _alloc)
00029 : coefficients(_alloc)
00030 , linear_segment_duration(0.0)
00031 , quadratic_segment_duration(0.0)
00032 {
00033 }
00034
00035 typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _coefficients_type;
00036 std::vector<double, typename ContainerAllocator::template rebind<double>::other > coefficients;
00037
00038 typedef double _linear_segment_duration_type;
00039 double linear_segment_duration;
00040
00041 typedef double _quadratic_segment_duration_type;
00042 double quadratic_segment_duration;
00043
00044
00045 ROS_DEPRECATED uint32_t get_coefficients_size() const { return (uint32_t)coefficients.size(); }
00046 ROS_DEPRECATED void set_coefficients_size(uint32_t size) { coefficients.resize((size_t)size); }
00047 ROS_DEPRECATED void get_coefficients_vec(std::vector<double, typename ContainerAllocator::template rebind<double>::other > & vec) const { vec = this->coefficients; }
00048 ROS_DEPRECATED void set_coefficients_vec(const std::vector<double, typename ContainerAllocator::template rebind<double>::other > & vec) { this->coefficients = vec; }
00049 private:
00050 static const char* __s_getDataType_() { return "spline_smoother/LSPBSplineCoefficients"; }
00051 public:
00052 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); }
00053
00054 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); }
00055
00056 private:
00057 static const char* __s_getMD5Sum_() { return "c00dc8b55f1156bf5a7d2645875397b1"; }
00058 public:
00059 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); }
00060
00061 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); }
00062
00063 private:
00064 static const char* __s_getMessageDefinition_() { return "float64[] coefficients\n\
00065 float64 linear_segment_duration\n\
00066 float64 quadratic_segment_duration\n\
00067 "; }
00068 public:
00069 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00070
00071 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00072
00073 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00074 {
00075 ros::serialization::OStream stream(write_ptr, 1000000000);
00076 ros::serialization::serialize(stream, coefficients);
00077 ros::serialization::serialize(stream, linear_segment_duration);
00078 ros::serialization::serialize(stream, quadratic_segment_duration);
00079 return stream.getData();
00080 }
00081
00082 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr)
00083 {
00084 ros::serialization::IStream stream(read_ptr, 1000000000);
00085 ros::serialization::deserialize(stream, coefficients);
00086 ros::serialization::deserialize(stream, linear_segment_duration);
00087 ros::serialization::deserialize(stream, quadratic_segment_duration);
00088 return stream.getData();
00089 }
00090
00091 ROS_DEPRECATED virtual uint32_t serializationLength() const
00092 {
00093 uint32_t size = 0;
00094 size += ros::serialization::serializationLength(coefficients);
00095 size += ros::serialization::serializationLength(linear_segment_duration);
00096 size += ros::serialization::serializationLength(quadratic_segment_duration);
00097 return size;
00098 }
00099
00100 typedef boost::shared_ptr< ::spline_smoother::LSPBSplineCoefficients_<ContainerAllocator> > Ptr;
00101 typedef boost::shared_ptr< ::spline_smoother::LSPBSplineCoefficients_<ContainerAllocator> const> ConstPtr;
00102 };
00103 typedef ::spline_smoother::LSPBSplineCoefficients_<std::allocator<void> > LSPBSplineCoefficients;
00104
00105 typedef boost::shared_ptr< ::spline_smoother::LSPBSplineCoefficients> LSPBSplineCoefficientsPtr;
00106 typedef boost::shared_ptr< ::spline_smoother::LSPBSplineCoefficients const> LSPBSplineCoefficientsConstPtr;
00107
00108
00109 template<typename ContainerAllocator>
00110 std::ostream& operator<<(std::ostream& s, const ::spline_smoother::LSPBSplineCoefficients_<ContainerAllocator> & v)
00111 {
00112 ros::message_operations::Printer< ::spline_smoother::LSPBSplineCoefficients_<ContainerAllocator> >::stream(s, "", v);
00113 return s;}
00114
00115 }
00116
00117 namespace ros
00118 {
00119 namespace message_traits
00120 {
00121 template<class ContainerAllocator>
00122 struct MD5Sum< ::spline_smoother::LSPBSplineCoefficients_<ContainerAllocator> > {
00123 static const char* value()
00124 {
00125 return "c00dc8b55f1156bf5a7d2645875397b1";
00126 }
00127
00128 static const char* value(const ::spline_smoother::LSPBSplineCoefficients_<ContainerAllocator> &) { return value(); }
00129 static const uint64_t static_value1 = 0xc00dc8b55f1156bfULL;
00130 static const uint64_t static_value2 = 0x5a7d2645875397b1ULL;
00131 };
00132
00133 template<class ContainerAllocator>
00134 struct DataType< ::spline_smoother::LSPBSplineCoefficients_<ContainerAllocator> > {
00135 static const char* value()
00136 {
00137 return "spline_smoother/LSPBSplineCoefficients";
00138 }
00139
00140 static const char* value(const ::spline_smoother::LSPBSplineCoefficients_<ContainerAllocator> &) { return value(); }
00141 };
00142
00143 template<class ContainerAllocator>
00144 struct Definition< ::spline_smoother::LSPBSplineCoefficients_<ContainerAllocator> > {
00145 static const char* value()
00146 {
00147 return "float64[] coefficients\n\
00148 float64 linear_segment_duration\n\
00149 float64 quadratic_segment_duration\n\
00150 ";
00151 }
00152
00153 static const char* value(const ::spline_smoother::LSPBSplineCoefficients_<ContainerAllocator> &) { return value(); }
00154 };
00155
00156 }
00157 }
00158
00159 namespace ros
00160 {
00161 namespace serialization
00162 {
00163
00164 template<class ContainerAllocator> struct Serializer< ::spline_smoother::LSPBSplineCoefficients_<ContainerAllocator> >
00165 {
00166 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00167 {
00168 stream.next(m.coefficients);
00169 stream.next(m.linear_segment_duration);
00170 stream.next(m.quadratic_segment_duration);
00171 }
00172
00173 ROS_DECLARE_ALLINONE_SERIALIZER;
00174 };
00175 }
00176 }
00177
00178 namespace ros
00179 {
00180 namespace message_operations
00181 {
00182
00183 template<class ContainerAllocator>
00184 struct Printer< ::spline_smoother::LSPBSplineCoefficients_<ContainerAllocator> >
00185 {
00186 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::spline_smoother::LSPBSplineCoefficients_<ContainerAllocator> & v)
00187 {
00188 s << indent << "coefficients[]" << std::endl;
00189 for (size_t i = 0; i < v.coefficients.size(); ++i)
00190 {
00191 s << indent << " coefficients[" << i << "]: ";
00192 Printer<double>::stream(s, indent + " ", v.coefficients[i]);
00193 }
00194 s << indent << "linear_segment_duration: ";
00195 Printer<double>::stream(s, indent + " ", v.linear_segment_duration);
00196 s << indent << "quadratic_segment_duration: ";
00197 Printer<double>::stream(s, indent + " ", v.quadratic_segment_duration);
00198 }
00199 };
00200
00201
00202 }
00203 }
00204
00205 #endif // SPLINE_SMOOTHER_MESSAGE_LSPBSPLINECOEFFICIENTS_H
00206