CARLA
Imu.h
Go to the documentation of this file.
1 // Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima).
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 /*!
16  * @file Imu.h
17  * This header file contains the declaration of the described types in the IDL file.
18  *
19  * This file was generated by the tool gen.
20  */
21 
22 #ifndef _FAST_DDS_GENERATED_SENSOR_MSGS_MSG_IMU_H_
23 #define _FAST_DDS_GENERATED_SENSOR_MSGS_MSG_IMU_H_
24 
25 #include "Vector3.h"
26 #include "Quaternion.h"
27 #include "Header.h"
28 
29 #include <fastrtps/utils/fixed_size_string.hpp>
30 
31 #include <stdint.h>
32 #include <array>
33 #include <string>
34 #include <vector>
35 #include <map>
36 #include <bitset>
37 
38 #if defined(_WIN32)
39 #if defined(EPROSIMA_USER_DLL_EXPORT)
40 #define eProsima_user_DllExport __declspec( dllexport )
41 #else
42 #define eProsima_user_DllExport
43 #endif // EPROSIMA_USER_DLL_EXPORT
44 #else
45 #define eProsima_user_DllExport
46 #endif // _WIN32
47 
48 #if defined(_WIN32)
49 #if defined(EPROSIMA_USER_DLL_EXPORT)
50 #if defined(Imu_SOURCE)
51 #define Imu_DllAPI __declspec( dllexport )
52 #else
53 #define Imu_DllAPI __declspec( dllimport )
54 #endif // Imu_SOURCE
55 #else
56 #define Imu_DllAPI
57 #endif // EPROSIMA_USER_DLL_EXPORT
58 #else
59 #define Imu_DllAPI
60 #endif // _WIN32
61 
62 namespace eprosima {
63 namespace fastcdr {
64 class Cdr;
65 } // namespace fastcdr
66 } // namespace eprosima
67 
68 namespace sensor_msgs {
69  namespace msg {
70  typedef std::array<double, 9> sensor_msgs__Imu__double_array_9;
71  /*!
72  * @brief This class represents the structure Imu defined by the user in the IDL file.
73  * @ingroup IMU
74  */
75  class Imu
76  {
77  public:
78 
79  /*!
80  * @brief Default constructor.
81  */
83 
84  /*!
85  * @brief Default destructor.
86  */
88 
89  /*!
90  * @brief Copy constructor.
91  * @param x Reference to the object sensor_msgs::msg::Imu that will be copied.
92  */
94  const Imu& x);
95 
96  /*!
97  * @brief Move constructor.
98  * @param x Reference to the object sensor_msgs::msg::Imu that will be copied.
99  */
101  Imu&& x) noexcept;
102 
103  /*!
104  * @brief Copy assignment.
105  * @param x Reference to the object sensor_msgs::msg::Imu that will be copied.
106  */
107  eProsima_user_DllExport Imu& operator =(
108  const Imu& x);
109 
110  /*!
111  * @brief Move assignment.
112  * @param x Reference to the object sensor_msgs::msg::Imu that will be copied.
113  */
114  eProsima_user_DllExport Imu& operator =(
115  Imu&& x) noexcept;
116 
117  /*!
118  * @brief Comparison operator.
119  * @param x sensor_msgs::msg::Imu object to compare.
120  */
122  const Imu& x) const;
123 
124  /*!
125  * @brief Comparison operator.
126  * @param x sensor_msgs::msg::Imu object to compare.
127  */
129  const Imu& x) const;
130 
131  /*!
132  * @brief This function copies the value in member header
133  * @param _header New value to be copied in member header
134  */
135  eProsima_user_DllExport void header(
136  const std_msgs::msg::Header& _header);
137 
138  /*!
139  * @brief This function moves the value in member header
140  * @param _header New value to be moved in member header
141  */
142  eProsima_user_DllExport void header(
143  std_msgs::msg::Header&& _header);
144 
145  /*!
146  * @brief This function returns a constant reference to member header
147  * @return Constant reference to member header
148  */
149  eProsima_user_DllExport const std_msgs::msg::Header& header() const;
150 
151  /*!
152  * @brief This function returns a reference to member header
153  * @return Reference to member header
154  */
156  /*!
157  * @brief This function copies the value in member orientation
158  * @param _orientation New value to be copied in member orientation
159  */
160  eProsima_user_DllExport void orientation(
161  const geometry_msgs::msg::Quaternion& _orientation);
162 
163  /*!
164  * @brief This function moves the value in member orientation
165  * @param _orientation New value to be moved in member orientation
166  */
167  eProsima_user_DllExport void orientation(
168  geometry_msgs::msg::Quaternion&& _orientation);
169 
170  /*!
171  * @brief This function returns a constant reference to member orientation
172  * @return Constant reference to member orientation
173  */
174  eProsima_user_DllExport const geometry_msgs::msg::Quaternion& orientation() const;
175 
176  /*!
177  * @brief This function returns a reference to member orientation
178  * @return Reference to member orientation
179  */
181  /*!
182  * @brief This function copies the value in member orientation_covariance
183  * @param _orientation_covariance New value to be copied in member orientation_covariance
184  */
185  eProsima_user_DllExport void orientation_covariance(
186  const sensor_msgs::msg::sensor_msgs__Imu__double_array_9& _orientation_covariance);
187 
188  /*!
189  * @brief This function moves the value in member orientation_covariance
190  * @param _orientation_covariance New value to be moved in member orientation_covariance
191  */
192  eProsima_user_DllExport void orientation_covariance(
193  sensor_msgs::msg::sensor_msgs__Imu__double_array_9&& _orientation_covariance);
194 
195  /*!
196  * @brief This function returns a constant reference to member orientation_covariance
197  * @return Constant reference to member orientation_covariance
198  */
200 
201  /*!
202  * @brief This function returns a reference to member orientation_covariance
203  * @return Reference to member orientation_covariance
204  */
206  /*!
207  * @brief This function copies the value in member angular_velocity
208  * @param _angular_velocity New value to be copied in member angular_velocity
209  */
210  eProsima_user_DllExport void angular_velocity(
211  const geometry_msgs::msg::Vector3& _angular_velocity);
212 
213  /*!
214  * @brief This function moves the value in member angular_velocity
215  * @param _angular_velocity New value to be moved in member angular_velocity
216  */
217  eProsima_user_DllExport void angular_velocity(
218  geometry_msgs::msg::Vector3&& _angular_velocity);
219 
220  /*!
221  * @brief This function returns a constant reference to member angular_velocity
222  * @return Constant reference to member angular_velocity
223  */
224  eProsima_user_DllExport const geometry_msgs::msg::Vector3& angular_velocity() const;
225 
226  /*!
227  * @brief This function returns a reference to member angular_velocity
228  * @return Reference to member angular_velocity
229  */
231  /*!
232  * @brief This function copies the value in member angular_velocity_covariance
233  * @param _angular_velocity_covariance New value to be copied in member angular_velocity_covariance
234  */
235  eProsima_user_DllExport void angular_velocity_covariance(
236  const sensor_msgs::msg::sensor_msgs__Imu__double_array_9& _angular_velocity_covariance);
237 
238  /*!
239  * @brief This function moves the value in member angular_velocity_covariance
240  * @param _angular_velocity_covariance New value to be moved in member angular_velocity_covariance
241  */
242  eProsima_user_DllExport void angular_velocity_covariance(
243  sensor_msgs::msg::sensor_msgs__Imu__double_array_9&& _angular_velocity_covariance);
244 
245  /*!
246  * @brief This function returns a constant reference to member angular_velocity_covariance
247  * @return Constant reference to member angular_velocity_covariance
248  */
249  eProsima_user_DllExport const sensor_msgs::msg::sensor_msgs__Imu__double_array_9& angular_velocity_covariance() const;
250 
251  /*!
252  * @brief This function returns a reference to member angular_velocity_covariance
253  * @return Reference to member angular_velocity_covariance
254  */
256  /*!
257  * @brief This function copies the value in member linear_acceleration
258  * @param _linear_acceleration New value to be copied in member linear_acceleration
259  */
260  eProsima_user_DllExport void linear_acceleration(
261  const geometry_msgs::msg::Vector3& _linear_acceleration);
262 
263  /*!
264  * @brief This function moves the value in member linear_acceleration
265  * @param _linear_acceleration New value to be moved in member linear_acceleration
266  */
267  eProsima_user_DllExport void linear_acceleration(
268  geometry_msgs::msg::Vector3&& _linear_acceleration);
269 
270  /*!
271  * @brief This function returns a constant reference to member linear_acceleration
272  * @return Constant reference to member linear_acceleration
273  */
274  eProsima_user_DllExport const geometry_msgs::msg::Vector3& linear_acceleration() const;
275 
276  /*!
277  * @brief This function returns a reference to member linear_acceleration
278  * @return Reference to member linear_acceleration
279  */
281  /*!
282  * @brief This function copies the value in member linear_acceleration_covariance
283  * @param _linear_acceleration_covariance New value to be copied in member linear_acceleration_covariance
284  */
285  eProsima_user_DllExport void linear_acceleration_covariance(
286  const sensor_msgs::msg::sensor_msgs__Imu__double_array_9& _linear_acceleration_covariance);
287 
288  /*!
289  * @brief This function moves the value in member linear_acceleration_covariance
290  * @param _linear_acceleration_covariance New value to be moved in member linear_acceleration_covariance
291  */
292  eProsima_user_DllExport void linear_acceleration_covariance(
293  sensor_msgs::msg::sensor_msgs__Imu__double_array_9&& _linear_acceleration_covariance);
294 
295  /*!
296  * @brief This function returns a constant reference to member linear_acceleration_covariance
297  * @return Constant reference to member linear_acceleration_covariance
298  */
299  eProsima_user_DllExport const sensor_msgs::msg::sensor_msgs__Imu__double_array_9& linear_acceleration_covariance() const;
300 
301  /*!
302  * @brief This function returns a reference to member linear_acceleration_covariance
303  * @return Reference to member linear_acceleration_covariance
304  */
306 
307  /*!
308  * @brief This function returns the maximum serialized size of an object
309  * depending on the buffer alignment.
310  * @param current_alignment Buffer alignment.
311  * @return Maximum serialized size.
312  */
313  eProsima_user_DllExport static size_t getMaxCdrSerializedSize(
314  size_t current_alignment = 0);
315 
316  /*!
317  * @brief This function returns the serialized size of a data depending on the buffer alignment.
318  * @param data Data which is calculated its serialized size.
319  * @param current_alignment Buffer alignment.
320  * @return Serialized size.
321  */
322  eProsima_user_DllExport static size_t getCdrSerializedSize(
323  const sensor_msgs::msg::Imu& data,
324  size_t current_alignment = 0);
325 
326  /*!
327  * @brief This function serializes an object using CDR serialization.
328  * @param cdr CDR serialization object.
329  */
330  eProsima_user_DllExport void serialize(
331  eprosima::fastcdr::Cdr& cdr) const;
332 
333  /*!
334  * @brief This function deserializes an object using CDR serialization.
335  * @param cdr CDR serialization object.
336  */
337  eProsima_user_DllExport void deserialize(
338  eprosima::fastcdr::Cdr& cdr);
339 
340  /*!
341  * @brief This function returns the maximum serialized size of the Key of an object
342  * depending on the buffer alignment.
343  * @param current_alignment Buffer alignment.
344  * @return Maximum serialized size.
345  */
346  eProsima_user_DllExport static size_t getKeyMaxCdrSerializedSize(
347  size_t current_alignment = 0);
348 
349  /*!
350  * @brief This function tells you if the Key has been defined for this type
351  */
352  eProsima_user_DllExport static bool isKeyDefined();
353 
354  /*!
355  * @brief This function serializes the key members of an object using CDR serialization.
356  * @param cdr CDR serialization object.
357  */
358  eProsima_user_DllExport void serializeKey(
359  eprosima::fastcdr::Cdr& cdr) const;
360 
361  private:
369  };
370  } // namespace msg
371 } // namespace sensor_msgs
372 
373 #endif // _FAST_DDS_GENERATED_SENSOR_MSGS_MSG_IMU_H_
std_msgs::msg::Header m_header
Definition: Imu.h:362
geometry_msgs::msg::Vector3 m_angular_velocity
Definition: Imu.h:365
sensor_msgs::msg::sensor_msgs__Imu__double_array_9 m_orientation_covariance
Definition: Imu.h:364
bool operator==(const Waypoint &lhs, const Waypoint &rhs)
#define eProsima_user_DllExport
Definition: Imu.h:45
This class represents the structure Header defined by the user in the IDL file.
Definition: Header.h:72
This class represents the structure Vector3 defined by the user in the IDL file.
Definition: Vector3.h:71
geometry_msgs::msg::Vector3 m_linear_acceleration
Definition: Imu.h:367
bool operator!=(const Waypoint &lhs, const Waypoint &rhs)
This class represents the structure Imu defined by the user in the IDL file.
Definition: Imu.h:75
sensor_msgs::msg::sensor_msgs__Imu__double_array_9 m_angular_velocity_covariance
Definition: Imu.h:366
geometry_msgs::msg::Quaternion m_orientation
Definition: Imu.h:363
std::array< double, 9 > sensor_msgs__Imu__double_array_9
Definition: Imu.h:70
This class represents the structure Quaternion defined by the user in the IDL file.
Definition: Quaternion.h:70
sensor_msgs::msg::sensor_msgs__Imu__double_array_9 m_linear_acceleration_covariance
Definition: Imu.h:368