$search
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-electric-pr2_common/doc_stacks/2013-03-01_16-36-22.045406/pr2_common/pr2_msgs/msg/AccelerometerState.msg */ 00002 #ifndef PR2_MSGS_MESSAGE_ACCELEROMETERSTATE_H 00003 #define PR2_MSGS_MESSAGE_ACCELEROMETERSTATE_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 "std_msgs/Header.h" 00018 #include "geometry_msgs/Vector3.h" 00019 00020 namespace pr2_msgs 00021 { 00022 template <class ContainerAllocator> 00023 struct AccelerometerState_ { 00024 typedef AccelerometerState_<ContainerAllocator> Type; 00025 00026 AccelerometerState_() 00027 : header() 00028 , samples() 00029 { 00030 } 00031 00032 AccelerometerState_(const ContainerAllocator& _alloc) 00033 : header(_alloc) 00034 , samples(_alloc) 00035 { 00036 } 00037 00038 typedef ::std_msgs::Header_<ContainerAllocator> _header_type; 00039 ::std_msgs::Header_<ContainerAllocator> header; 00040 00041 typedef std::vector< ::geometry_msgs::Vector3_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::Vector3_<ContainerAllocator> >::other > _samples_type; 00042 std::vector< ::geometry_msgs::Vector3_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::Vector3_<ContainerAllocator> >::other > samples; 00043 00044 00045 ROS_DEPRECATED uint32_t get_samples_size() const { return (uint32_t)samples.size(); } 00046 ROS_DEPRECATED void set_samples_size(uint32_t size) { samples.resize((size_t)size); } 00047 ROS_DEPRECATED void get_samples_vec(std::vector< ::geometry_msgs::Vector3_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::Vector3_<ContainerAllocator> >::other > & vec) const { vec = this->samples; } 00048 ROS_DEPRECATED void set_samples_vec(const std::vector< ::geometry_msgs::Vector3_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::Vector3_<ContainerAllocator> >::other > & vec) { this->samples = vec; } 00049 private: 00050 static const char* __s_getDataType_() { return "pr2_msgs/AccelerometerState"; } 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 "26492e97ed8c13252c4a85592d3e93fd"; } 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 "#This captures acceleration measurements from the 3-dof accelerometer in the hand of the PR2\n\ 00065 #Units are meters / second / second\n\ 00066 #Vectors should be <X, Y, Z> in the frame of the gripper\n\ 00067 \n\ 00068 #The communication with the accelerometer is at approximately 3khz, but there is only good timestamping every 1ms\n\ 00069 #This means the samples should be interpreted as all having come from the 1 ms before the time in the header\n\ 00070 \n\ 00071 Header header\n\ 00072 geometry_msgs/Vector3[] samples\n\ 00073 \n\ 00074 ================================================================================\n\ 00075 MSG: std_msgs/Header\n\ 00076 # Standard metadata for higher-level stamped data types.\n\ 00077 # This is generally used to communicate timestamped data \n\ 00078 # in a particular coordinate frame.\n\ 00079 # \n\ 00080 # sequence ID: consecutively increasing ID \n\ 00081 uint32 seq\n\ 00082 #Two-integer timestamp that is expressed as:\n\ 00083 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00084 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00085 # time-handling sugar is provided by the client library\n\ 00086 time stamp\n\ 00087 #Frame this data is associated with\n\ 00088 # 0: no frame\n\ 00089 # 1: global frame\n\ 00090 string frame_id\n\ 00091 \n\ 00092 ================================================================================\n\ 00093 MSG: geometry_msgs/Vector3\n\ 00094 # This represents a vector in free space. \n\ 00095 \n\ 00096 float64 x\n\ 00097 float64 y\n\ 00098 float64 z\n\ 00099 "; } 00100 public: 00101 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00102 00103 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00104 00105 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00106 { 00107 ros::serialization::OStream stream(write_ptr, 1000000000); 00108 ros::serialization::serialize(stream, header); 00109 ros::serialization::serialize(stream, samples); 00110 return stream.getData(); 00111 } 00112 00113 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00114 { 00115 ros::serialization::IStream stream(read_ptr, 1000000000); 00116 ros::serialization::deserialize(stream, header); 00117 ros::serialization::deserialize(stream, samples); 00118 return stream.getData(); 00119 } 00120 00121 ROS_DEPRECATED virtual uint32_t serializationLength() const 00122 { 00123 uint32_t size = 0; 00124 size += ros::serialization::serializationLength(header); 00125 size += ros::serialization::serializationLength(samples); 00126 return size; 00127 } 00128 00129 typedef boost::shared_ptr< ::pr2_msgs::AccelerometerState_<ContainerAllocator> > Ptr; 00130 typedef boost::shared_ptr< ::pr2_msgs::AccelerometerState_<ContainerAllocator> const> ConstPtr; 00131 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00132 }; // struct AccelerometerState 00133 typedef ::pr2_msgs::AccelerometerState_<std::allocator<void> > AccelerometerState; 00134 00135 typedef boost::shared_ptr< ::pr2_msgs::AccelerometerState> AccelerometerStatePtr; 00136 typedef boost::shared_ptr< ::pr2_msgs::AccelerometerState const> AccelerometerStateConstPtr; 00137 00138 00139 template<typename ContainerAllocator> 00140 std::ostream& operator<<(std::ostream& s, const ::pr2_msgs::AccelerometerState_<ContainerAllocator> & v) 00141 { 00142 ros::message_operations::Printer< ::pr2_msgs::AccelerometerState_<ContainerAllocator> >::stream(s, "", v); 00143 return s;} 00144 00145 } // namespace pr2_msgs 00146 00147 namespace ros 00148 { 00149 namespace message_traits 00150 { 00151 template<class ContainerAllocator> struct IsMessage< ::pr2_msgs::AccelerometerState_<ContainerAllocator> > : public TrueType {}; 00152 template<class ContainerAllocator> struct IsMessage< ::pr2_msgs::AccelerometerState_<ContainerAllocator> const> : public TrueType {}; 00153 template<class ContainerAllocator> 00154 struct MD5Sum< ::pr2_msgs::AccelerometerState_<ContainerAllocator> > { 00155 static const char* value() 00156 { 00157 return "26492e97ed8c13252c4a85592d3e93fd"; 00158 } 00159 00160 static const char* value(const ::pr2_msgs::AccelerometerState_<ContainerAllocator> &) { return value(); } 00161 static const uint64_t static_value1 = 0x26492e97ed8c1325ULL; 00162 static const uint64_t static_value2 = 0x2c4a85592d3e93fdULL; 00163 }; 00164 00165 template<class ContainerAllocator> 00166 struct DataType< ::pr2_msgs::AccelerometerState_<ContainerAllocator> > { 00167 static const char* value() 00168 { 00169 return "pr2_msgs/AccelerometerState"; 00170 } 00171 00172 static const char* value(const ::pr2_msgs::AccelerometerState_<ContainerAllocator> &) { return value(); } 00173 }; 00174 00175 template<class ContainerAllocator> 00176 struct Definition< ::pr2_msgs::AccelerometerState_<ContainerAllocator> > { 00177 static const char* value() 00178 { 00179 return "#This captures acceleration measurements from the 3-dof accelerometer in the hand of the PR2\n\ 00180 #Units are meters / second / second\n\ 00181 #Vectors should be <X, Y, Z> in the frame of the gripper\n\ 00182 \n\ 00183 #The communication with the accelerometer is at approximately 3khz, but there is only good timestamping every 1ms\n\ 00184 #This means the samples should be interpreted as all having come from the 1 ms before the time in the header\n\ 00185 \n\ 00186 Header header\n\ 00187 geometry_msgs/Vector3[] samples\n\ 00188 \n\ 00189 ================================================================================\n\ 00190 MSG: std_msgs/Header\n\ 00191 # Standard metadata for higher-level stamped data types.\n\ 00192 # This is generally used to communicate timestamped data \n\ 00193 # in a particular coordinate frame.\n\ 00194 # \n\ 00195 # sequence ID: consecutively increasing ID \n\ 00196 uint32 seq\n\ 00197 #Two-integer timestamp that is expressed as:\n\ 00198 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00199 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00200 # time-handling sugar is provided by the client library\n\ 00201 time stamp\n\ 00202 #Frame this data is associated with\n\ 00203 # 0: no frame\n\ 00204 # 1: global frame\n\ 00205 string frame_id\n\ 00206 \n\ 00207 ================================================================================\n\ 00208 MSG: geometry_msgs/Vector3\n\ 00209 # This represents a vector in free space. \n\ 00210 \n\ 00211 float64 x\n\ 00212 float64 y\n\ 00213 float64 z\n\ 00214 "; 00215 } 00216 00217 static const char* value(const ::pr2_msgs::AccelerometerState_<ContainerAllocator> &) { return value(); } 00218 }; 00219 00220 template<class ContainerAllocator> struct HasHeader< ::pr2_msgs::AccelerometerState_<ContainerAllocator> > : public TrueType {}; 00221 template<class ContainerAllocator> struct HasHeader< const ::pr2_msgs::AccelerometerState_<ContainerAllocator> > : public TrueType {}; 00222 } // namespace message_traits 00223 } // namespace ros 00224 00225 namespace ros 00226 { 00227 namespace serialization 00228 { 00229 00230 template<class ContainerAllocator> struct Serializer< ::pr2_msgs::AccelerometerState_<ContainerAllocator> > 00231 { 00232 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00233 { 00234 stream.next(m.header); 00235 stream.next(m.samples); 00236 } 00237 00238 ROS_DECLARE_ALLINONE_SERIALIZER; 00239 }; // struct AccelerometerState_ 00240 } // namespace serialization 00241 } // namespace ros 00242 00243 namespace ros 00244 { 00245 namespace message_operations 00246 { 00247 00248 template<class ContainerAllocator> 00249 struct Printer< ::pr2_msgs::AccelerometerState_<ContainerAllocator> > 00250 { 00251 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::pr2_msgs::AccelerometerState_<ContainerAllocator> & v) 00252 { 00253 s << indent << "header: "; 00254 s << std::endl; 00255 Printer< ::std_msgs::Header_<ContainerAllocator> >::stream(s, indent + " ", v.header); 00256 s << indent << "samples[]" << std::endl; 00257 for (size_t i = 0; i < v.samples.size(); ++i) 00258 { 00259 s << indent << " samples[" << i << "]: "; 00260 s << std::endl; 00261 s << indent; 00262 Printer< ::geometry_msgs::Vector3_<ContainerAllocator> >::stream(s, indent + " ", v.samples[i]); 00263 } 00264 } 00265 }; 00266 00267 00268 } // namespace message_operations 00269 } // namespace ros 00270 00271 #endif // PR2_MSGS_MESSAGE_ACCELEROMETERSTATE_H 00272