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