CARLA
Twist.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 Twist.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_GEOMETRY_MSGS_MSG_TWIST_H_
23 #define _FAST_DDS_GENERATED_GEOMETRY_MSGS_MSG_TWIST_H_
24 
25 #include "Vector3.h"
26 
27 #include <fastrtps/utils/fixed_size_string.hpp>
28 
29 #include <stdint.h>
30 #include <array>
31 #include <string>
32 #include <vector>
33 #include <map>
34 #include <bitset>
35 
36 #if defined(_WIN32)
37 #if defined(EPROSIMA_USER_DLL_EXPORT)
38 #define eProsima_user_DllExport __declspec( dllexport )
39 #else
40 #define eProsima_user_DllExport
41 #endif // EPROSIMA_USER_DLL_EXPORT
42 #else
43 #define eProsima_user_DllExport
44 #endif // _WIN32
45 
46 #if defined(_WIN32)
47 #if defined(EPROSIMA_USER_DLL_EXPORT)
48 #if defined(Twist_SOURCE)
49 #define Twist_DllAPI __declspec( dllexport )
50 #else
51 #define Twist_DllAPI __declspec( dllimport )
52 #endif // Twist_SOURCE
53 #else
54 #define Twist_DllAPI
55 #endif // EPROSIMA_USER_DLL_EXPORT
56 #else
57 #define Twist_DllAPI
58 #endif // _WIN32
59 
60 namespace eprosima {
61 namespace fastcdr {
62 class Cdr;
63 } // namespace fastcdr
64 } // namespace eprosima
65 
66 namespace geometry_msgs {
67  namespace msg {
68  /*!
69  * @brief This class represents the structure Twist defined by the user in the IDL file.
70  * @ingroup TWIST
71  */
72  class Twist
73  {
74  public:
75 
76  /*!
77  * @brief Default constructor.
78  */
80 
81  /*!
82  * @brief Default destructor.
83  */
84  eProsima_user_DllExport ~Twist();
85 
86  /*!
87  * @brief Copy constructor.
88  * @param x Reference to the object geometry_msgs::msg::Twist that will be copied.
89  */
91  const Twist& x);
92 
93  /*!
94  * @brief Move constructor.
95  * @param x Reference to the object geometry_msgs::msg::Twist that will be copied.
96  */
98  Twist&& x) noexcept;
99 
100  /*!
101  * @brief Copy assignment.
102  * @param x Reference to the object geometry_msgs::msg::Twist that will be copied.
103  */
104  eProsima_user_DllExport Twist& operator =(
105  const Twist& x);
106 
107  /*!
108  * @brief Move assignment.
109  * @param x Reference to the object geometry_msgs::msg::Twist that will be copied.
110  */
111  eProsima_user_DllExport Twist& operator =(
112  Twist&& x) noexcept;
113 
114  /*!
115  * @brief Comparison operator.
116  * @param x geometry_msgs::msg::Twist object to compare.
117  */
119  const Twist& x) const;
120 
121  /*!
122  * @brief Comparison operator.
123  * @param x geometry_msgs::msg::Twist object to compare.
124  */
126  const Twist& x) const;
127 
128  /*!
129  * @brief This function copies the value in member linear
130  * @param _linear New value to be copied in member linear
131  */
132  eProsima_user_DllExport void linear(
133  const geometry_msgs::msg::Vector3& _linear);
134 
135  /*!
136  * @brief This function moves the value in member linear
137  * @param _linear New value to be moved in member linear
138  */
139  eProsima_user_DllExport void linear(
140  geometry_msgs::msg::Vector3&& _linear);
141 
142  /*!
143  * @brief This function returns a constant reference to member linear
144  * @return Constant reference to member linear
145  */
147 
148  /*!
149  * @brief This function returns a reference to member linear
150  * @return Reference to member linear
151  */
153  /*!
154  * @brief This function copies the value in member angular
155  * @param _angular New value to be copied in member angular
156  */
157  eProsima_user_DllExport void angular(
158  const geometry_msgs::msg::Vector3& _angular);
159 
160  /*!
161  * @brief This function moves the value in member angular
162  * @param _angular New value to be moved in member angular
163  */
164  eProsima_user_DllExport void angular(
165  geometry_msgs::msg::Vector3&& _angular);
166 
167  /*!
168  * @brief This function returns a constant reference to member angular
169  * @return Constant reference to member angular
170  */
172 
173  /*!
174  * @brief This function returns a reference to member angular
175  * @return Reference to member angular
176  */
178 
179  /*!
180  * @brief This function returns the maximum serialized size of an object
181  * depending on the buffer alignment.
182  * @param current_alignment Buffer alignment.
183  * @return Maximum serialized size.
184  */
185  eProsima_user_DllExport static size_t getMaxCdrSerializedSize(
186  size_t current_alignment = 0);
187 
188  /*!
189  * @brief This function returns the serialized size of a data depending on the buffer alignment.
190  * @param data Data which is calculated its serialized size.
191  * @param current_alignment Buffer alignment.
192  * @return Serialized size.
193  */
194  eProsima_user_DllExport static size_t getCdrSerializedSize(
195  const geometry_msgs::msg::Twist& data,
196  size_t current_alignment = 0);
197 
198  /*!
199  * @brief This function serializes an object using CDR serialization.
200  * @param cdr CDR serialization object.
201  */
202  eProsima_user_DllExport void serialize(
203  eprosima::fastcdr::Cdr& cdr) const;
204 
205  /*!
206  * @brief This function deserializes an object using CDR serialization.
207  * @param cdr CDR serialization object.
208  */
209  eProsima_user_DllExport void deserialize(
210  eprosima::fastcdr::Cdr& cdr);
211 
212  /*!
213  * @brief This function returns the maximum serialized size of the Key of an object
214  * depending on the buffer alignment.
215  * @param current_alignment Buffer alignment.
216  * @return Maximum serialized size.
217  */
218  eProsima_user_DllExport static size_t getKeyMaxCdrSerializedSize(
219  size_t current_alignment = 0);
220 
221  /*!
222  * @brief This function tells you if the Key has been defined for this type
223  */
224  eProsima_user_DllExport static bool isKeyDefined();
225 
226  /*!
227  * @brief This function serializes the key members of an object using CDR serialization.
228  * @param cdr CDR serialization object.
229  */
230  eProsima_user_DllExport void serializeKey(
231  eprosima::fastcdr::Cdr& cdr) const;
232 
233  private:
236  };
237  } // namespace msg
238 } // namespace geometry_msgs
239 
240 #endif // _FAST_DDS_GENERATED_GEOMETRY_MSGS_MSG_TWIST_H_
geometry_msgs::msg::Vector3 m_angular
Definition: Twist.h:235
#define eProsima_user_DllExport
Definition: Twist.h:43
This class represents the structure Twist defined by the user in the IDL file.
Definition: Twist.h:72
bool operator==(const Waypoint &lhs, const Waypoint &rhs)
This class represents the structure Vector3 defined by the user in the IDL file.
Definition: Vector3.h:71
bool operator!=(const Waypoint &lhs, const Waypoint &rhs)
geometry_msgs::msg::Vector3 m_linear
Definition: Twist.h:234