Imu.h
Go to the documentation of this file.
1 // Generated by gencpp from file sensor_msgs/Imu.msg
2 // DO NOT EDIT!
3 
4 
5 #ifndef SENSOR_MSGS_MESSAGE_IMU_H
6 #define SENSOR_MSGS_MESSAGE_IMU_H
7 
8 
9 #include <string>
10 #include <vector>
11 #include <map>
12 #include <array>
13 
14 #include <ros/types.h>
15 #include <ros/serialization.h>
17 #include <ros/message_operations.h>
18 
19 #include <std_msgs/Header.h>
21 #include <geometry_msgs/Vector3.h>
22 #include <geometry_msgs/Vector3.h>
23 
24 namespace sensor_msgs
25 {
26 template <class ContainerAllocator>
27 struct Imu_
28 {
30 
31  Imu_()
32  : header()
33  , orientation()
39  orientation_covariance.fill(0.0);
40 
42 
44  }
45  Imu_(const ContainerAllocator& _alloc)
46  : header(_alloc)
47  , orientation(_alloc)
49  , angular_velocity(_alloc)
51  , linear_acceleration(_alloc)
53  (void)_alloc;
54  orientation_covariance.fill(0.0);
55 
57 
59  }
60 
61 
62 
63  typedef ::std_msgs::Header_<ContainerAllocator> _header_type;
64  _header_type header;
65 
66  typedef ::geometry_msgs::Quaternion_<ContainerAllocator> _orientation_type;
67  _orientation_type orientation;
68 
69  typedef std::array<double, 9> _orientation_covariance_type;
70  _orientation_covariance_type orientation_covariance;
71 
72  typedef ::geometry_msgs::Vector3_<ContainerAllocator> _angular_velocity_type;
73  _angular_velocity_type angular_velocity;
74 
75  typedef std::array<double, 9> _angular_velocity_covariance_type;
76  _angular_velocity_covariance_type angular_velocity_covariance;
77 
78  typedef ::geometry_msgs::Vector3_<ContainerAllocator> _linear_acceleration_type;
79  _linear_acceleration_type linear_acceleration;
80 
81  typedef std::array<double, 9> _linear_acceleration_covariance_type;
82  _linear_acceleration_covariance_type linear_acceleration_covariance;
83 
84 
85 
86 
87  typedef std::shared_ptr< ::sensor_msgs::Imu_<ContainerAllocator> > Ptr;
88  typedef std::shared_ptr< ::sensor_msgs::Imu_<ContainerAllocator> const> ConstPtr;
89 
90 }; // struct Imu_
91 
92 typedef ::sensor_msgs::Imu_<std::allocator<void> > Imu;
93 
94 typedef std::shared_ptr< ::sensor_msgs::Imu > ImuPtr;
95 typedef std::shared_ptr< ::sensor_msgs::Imu const> ImuConstPtr;
96 
97 // constants requiring out of line definition
98 
99 
100 
101 template<typename ContainerAllocator>
102 std::ostream& operator<<(std::ostream& s, const ::sensor_msgs::Imu_<ContainerAllocator> & v)
103 {
105 return s;
106 }
107 
108 } // namespace sensor_msgs
109 
110 namespace rs2rosinternal
111 {
112 namespace message_traits
113 {
114 
115 
116 
117 // BOOLTRAITS {'IsFixedSize': False, 'IsMessage': True, 'HasHeader': True}
118 // {'std_msgs': ['/opt/ros/kinetic/share/std_msgs/cmake/../msg'], 'geometry_msgs': ['/opt/ros/kinetic/share/geometry_msgs/cmake/../msg'], 'sensor_msgs': ['/tmp/binarydeb/ros-kinetic-sensor-msgs-1.12.5/msg']}
119 
120 // !!!!!!!!!!! ['__class__', '__delattr__', '__dict__', '__doc__', '__eq__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_parsed_fields', 'constants', 'fields', 'full_name', 'has_header', 'header_present', 'names', 'package', 'parsed_fields', 'short_name', 'text', 'types']
121 
122 
123 
124 
125 template <class ContainerAllocator>
126 struct IsFixedSize< ::sensor_msgs::Imu_<ContainerAllocator> >
127  : FalseType
128  { };
129 
130 template <class ContainerAllocator>
131 struct IsFixedSize< ::sensor_msgs::Imu_<ContainerAllocator> const>
132  : FalseType
133  { };
134 
135 template <class ContainerAllocator>
136 struct IsMessage< ::sensor_msgs::Imu_<ContainerAllocator> >
137  : TrueType
138  { };
139 
140 template <class ContainerAllocator>
141 struct IsMessage< ::sensor_msgs::Imu_<ContainerAllocator> const>
142  : TrueType
143  { };
144 
145 template <class ContainerAllocator>
146 struct HasHeader< ::sensor_msgs::Imu_<ContainerAllocator> >
147  : TrueType
148  { };
149 
150 template <class ContainerAllocator>
151 struct HasHeader< ::sensor_msgs::Imu_<ContainerAllocator> const>
152  : TrueType
153  { };
154 
155 
156 template<class ContainerAllocator>
157 struct MD5Sum< ::sensor_msgs::Imu_<ContainerAllocator> >
158 {
159  static const char* value()
160  {
161  return "6a62c6daae103f4ff57a132d6f95cec2";
162  }
163 
164  static const char* value(const ::sensor_msgs::Imu_<ContainerAllocator>&) { return value(); }
165  static const uint64_t static_value1 = 0x6a62c6daae103f4fULL;
166  static const uint64_t static_value2 = 0xf57a132d6f95cec2ULL;
167 };
168 
169 template<class ContainerAllocator>
170 struct DataType< ::sensor_msgs::Imu_<ContainerAllocator> >
171 {
172  static const char* value()
173  {
174  return "sensor_msgs/Imu";
175  }
176 
177  static const char* value(const ::sensor_msgs::Imu_<ContainerAllocator>&) { return value(); }
178 };
179 
180 template<class ContainerAllocator>
181 struct Definition< ::sensor_msgs::Imu_<ContainerAllocator> >
182 {
183  static const char* value()
184  {
185  return "# This is a message to hold data from an IMU (Inertial Measurement Unit)\n\
186 #\n\
187 # Accelerations should be in m/s^2 (not in g's), and rotational velocity should be in rad/sec\n\
188 #\n\
189 # If the covariance of the measurement is known, it should be filled in (if all you know is the \n\
190 # variance of each measurement, e.g. from the datasheet, just put those along the diagonal)\n\
191 # A covariance matrix of all zeros will be interpreted as \"covariance unknown\", and to use the\n\
192 # data a covariance will have to be assumed or gotten from some other source\n\
193 #\n\
194 # If you have no estimate for one of the data elements (e.g. your IMU doesn't produce an orientation \n\
195 # estimate), please set element 0 of the associated covariance matrix to -1\n\
196 # If you are interpreting this message, please check for a value of -1 in the first element of each \n\
197 # covariance matrix, and disregard the associated estimate.\n\
198 \n\
199 Header header\n\
200 \n\
201 geometry_msgs/Quaternion orientation\n\
202 float64[9] orientation_covariance # Row major about x, y, z axes\n\
203 \n\
204 geometry_msgs/Vector3 angular_velocity\n\
205 float64[9] angular_velocity_covariance # Row major about x, y, z axes\n\
206 \n\
207 geometry_msgs/Vector3 linear_acceleration\n\
208 float64[9] linear_acceleration_covariance # Row major x, y z \n\
209 \n\
210 ================================================================================\n\
211 MSG: std_msgs/Header\n\
212 # Standard metadata for higher-level stamped data types.\n\
213 # This is generally used to communicate timestamped data \n\
214 # in a particular coordinate frame.\n\
215 # \n\
216 # sequence ID: consecutively increasing ID \n\
217 uint32 seq\n\
218 #Two-integer timestamp that is expressed as:\n\
219 # * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\
220 # * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\
221 # time-handling sugar is provided by the client library\n\
222 time stamp\n\
223 #Frame this data is associated with\n\
224 # 0: no frame\n\
225 # 1: global frame\n\
226 string frame_id\n\
227 \n\
228 ================================================================================\n\
229 MSG: geometry_msgs/Quaternion\n\
230 # This represents an orientation in free space in quaternion form.\n\
231 \n\
232 float64 x\n\
233 float64 y\n\
234 float64 z\n\
235 float64 w\n\
236 \n\
237 ================================================================================\n\
238 MSG: geometry_msgs/Vector3\n\
239 # This represents a vector in free space. \n\
240 # It is only meant to represent a direction. Therefore, it does not\n\
241 # make sense to apply a translation to it (e.g., when applying a \n\
242 # generic rigid transformation to a Vector3, tf2 will only apply the\n\
243 # rotation). If you want your data to be translatable too, use the\n\
244 # geometry_msgs/Point message instead.\n\
245 \n\
246 float64 x\n\
247 float64 y\n\
248 float64 z\n\
249 ";
250  }
251 
252  static const char* value(const ::sensor_msgs::Imu_<ContainerAllocator>&) { return value(); }
253 };
254 
255 } // namespace message_traits
256 } // namespace rs2rosinternal
257 
258 namespace rs2rosinternal
259 {
260 namespace serialization
261 {
262 
263  template<class ContainerAllocator> struct Serializer< ::sensor_msgs::Imu_<ContainerAllocator> >
264  {
265  template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
266  {
267  stream.next(m.header);
268  stream.next(m.orientation);
269  stream.next(m.orientation_covariance);
270  stream.next(m.angular_velocity);
271  stream.next(m.angular_velocity_covariance);
272  stream.next(m.linear_acceleration);
273  stream.next(m.linear_acceleration_covariance);
274  }
275 
277  }; // struct Imu_
278 
279 } // namespace serialization
280 } // namespace rs2rosinternal
281 
282 namespace rs2rosinternal
283 {
284 namespace message_operations
285 {
286 
287 template<class ContainerAllocator>
288 struct Printer< ::sensor_msgs::Imu_<ContainerAllocator> >
289 {
290  template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::sensor_msgs::Imu_<ContainerAllocator>& v)
291  {
292  s << indent << "header: ";
293  s << std::endl;
295  s << indent << "orientation: ";
296  s << std::endl;
298  s << indent << "orientation_covariance[]" << std::endl;
299  for (size_t i = 0; i < v.orientation_covariance.size(); ++i)
300  {
301  s << indent << " orientation_covariance[" << i << "]: ";
302  Printer<double>::stream(s, indent + " ", v.orientation_covariance[i]);
303  }
304  s << indent << "angular_velocity: ";
305  s << std::endl;
306  Printer< ::geometry_msgs::Vector3_<ContainerAllocator> >::stream(s, indent + " ", v.angular_velocity);
307  s << indent << "angular_velocity_covariance[]" << std::endl;
308  for (size_t i = 0; i < v.angular_velocity_covariance.size(); ++i)
309  {
310  s << indent << " angular_velocity_covariance[" << i << "]: ";
311  Printer<double>::stream(s, indent + " ", v.angular_velocity_covariance[i]);
312  }
313  s << indent << "linear_acceleration: ";
314  s << std::endl;
315  Printer< ::geometry_msgs::Vector3_<ContainerAllocator> >::stream(s, indent + " ", v.linear_acceleration);
316  s << indent << "linear_acceleration_covariance[]" << std::endl;
317  for (size_t i = 0; i < v.linear_acceleration_covariance.size(); ++i)
318  {
319  s << indent << " linear_acceleration_covariance[" << i << "]: ";
320  Printer<double>::stream(s, indent + " ", v.linear_acceleration_covariance[i]);
321  }
322  }
323 };
324 
325 } // namespace message_operations
326 } // namespace rs2rosinternal
327 
328 #endif // SENSOR_MSGS_MESSAGE_IMU_H
std::shared_ptr< ::sensor_msgs::Imu_< ContainerAllocator > const > ConstPtr
Definition: Imu.h:88
std::shared_ptr< ::sensor_msgs::Imu const > ImuConstPtr
Definition: Imu.h:95
typedef void(APIENTRY *GLDEBUGPROC)(GLenum source
Base type for compile-type true/false tests. Compatible with Boost.MPL. classes inheriting from this ...
_linear_acceleration_type linear_acceleration
Definition: Imu.h:79
GLdouble s
const GLfloat * m
Definition: glext.h:6814
Specialize to provide the md5sum for a message.
Base type for compile-type true/false tests. Compatible with Boost.MPL. classes inheriting from this ...
_angular_velocity_covariance_type angular_velocity_covariance
Definition: Imu.h:76
std::shared_ptr< ::sensor_msgs::Imu > ImuPtr
Definition: Imu.h:94
GLsizei const GLchar *const * string
_orientation_type orientation
Definition: Imu.h:67
Specialize to provide the datatype for a message.
HasHeader informs whether or not there is a header that gets serialized as the first thing in the mes...
GLuint GLuint stream
Definition: glext.h:1790
static const char * value(const ::sensor_msgs::Imu_< ContainerAllocator > &)
Definition: Imu.h:164
A fixed-size datatype is one whose size is constant, i.e. it has no variable-length arrays or strings...
Stream base-class, provides common functionality for IStream and OStream.
::std_msgs::Header_< ContainerAllocator > _header_type
Definition: Imu.h:63
::geometry_msgs::Vector3_< ContainerAllocator > _angular_velocity_type
Definition: Imu.h:72
Tools for manipulating sensor_msgs.
Definition: BatteryState.h:20
std::array< double, 9 > _angular_velocity_covariance_type
Definition: Imu.h:75
Imu_(const ContainerAllocator &_alloc)
Definition: Imu.h:45
#define ROS_DECLARE_ALLINONE_SERIALIZER
Declare your serializer to use an allInOne member instead of requiring 3 different serialization func...
unsigned __int64 uint64_t
Definition: stdint.h:90
Specialize to provide the definition for a message.
::geometry_msgs::Quaternion_< ContainerAllocator > _orientation_type
Definition: Imu.h:66
static const char * value(const ::sensor_msgs::Imu_< ContainerAllocator > &)
Definition: Imu.h:252
static void stream(Stream &s, const std::string &indent, const ::sensor_msgs::Imu_< ContainerAllocator > &v)
Definition: Imu.h:290
Imu_< ContainerAllocator > Type
Definition: Imu.h:29
_angular_velocity_type angular_velocity
Definition: Imu.h:73
std::array< double, 9 > _orientation_covariance_type
Definition: Imu.h:69
_orientation_covariance_type orientation_covariance
Definition: Imu.h:70
_linear_acceleration_covariance_type linear_acceleration_covariance
Definition: Imu.h:82
::geometry_msgs::Vector3_< ContainerAllocator > _linear_acceleration_type
Definition: Imu.h:78
int i
Templated serialization class. Default implementation provides backwards compatibility with old messa...
::sensor_msgs::Imu_< std::allocator< void > > Imu
Definition: Imu.h:92
GLdouble v
static const char * value(const ::sensor_msgs::Imu_< ContainerAllocator > &)
Definition: Imu.h:177
_header_type header
Definition: Imu.h:64
std::array< double, 9 > _linear_acceleration_covariance_type
Definition: Imu.h:81
std::shared_ptr< ::sensor_msgs::Imu_< ContainerAllocator > > Ptr
Definition: Imu.h:87


librealsense2
Author(s): Sergey Dorodnicov , Doron Hirshberg , Mark Horn , Reagan Lopez , Itay Carpis
autogenerated on Mon May 3 2021 02:47:17