CARLA
TFMessage.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 TFMessage.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_TF2_MSGS_MSG_TFMESSAGE_H_
23 #define _FAST_DDS_GENERATED_TF2_MSGS_MSG_TFMESSAGE_H_
24 
25 #include "TransformStamped.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(TFMessage_SOURCE)
49 #define TFMessage_DllAPI __declspec( dllexport )
50 #else
51 #define TFMessage_DllAPI __declspec( dllimport )
52 #endif // TFMessage_SOURCE
53 #else
54 #define TFMessage_DllAPI
55 #endif // EPROSIMA_USER_DLL_EXPORT
56 #else
57 #define TFMessage_DllAPI
58 #endif // _WIN32
59 
60 namespace eprosima {
61 namespace fastcdr {
62 class Cdr;
63 } // namespace fastcdr
64 } // namespace eprosima
65 
66 
67 namespace tf2_msgs {
68  namespace msg {
69  /*!
70  * @brief This class represents the structure TFMessage defined by the user in the IDL file.
71  * @ingroup TFMESSAGE
72  */
73  class TFMessage
74  {
75  public:
76 
77  /*!
78  * @brief Default constructor.
79  */
81 
82  /*!
83  * @brief Default destructor.
84  */
85  eProsima_user_DllExport ~TFMessage();
86 
87  /*!
88  * @brief Copy constructor.
89  * @param x Reference to the object tf2_msgs::msg::TFMessage that will be copied.
90  */
91  eProsima_user_DllExport TFMessage(
92  const TFMessage& x);
93 
94  /*!
95  * @brief Move constructor.
96  * @param x Reference to the object tf2_msgs::msg::TFMessage that will be copied.
97  */
98  eProsima_user_DllExport TFMessage(
99  TFMessage&& x) noexcept;
100 
101  /*!
102  * @brief Copy assignment.
103  * @param x Reference to the object tf2_msgs::msg::TFMessage that will be copied.
104  */
105  eProsima_user_DllExport TFMessage& operator =(
106  const TFMessage& x);
107 
108  /*!
109  * @brief Move assignment.
110  * @param x Reference to the object tf2_msgs::msg::TFMessage that will be copied.
111  */
112  eProsima_user_DllExport TFMessage& operator =(
113  TFMessage&& x) noexcept;
114 
115  /*!
116  * @brief Comparison operator.
117  * @param x tf2_msgs::msg::TFMessage object to compare.
118  */
120  const TFMessage& x) const;
121 
122  /*!
123  * @brief Comparison operator.
124  * @param x tf2_msgs::msg::TFMessage object to compare.
125  */
127  const TFMessage& x) const;
128 
129  /*!
130  * @brief This function copies the value in member transforms
131  * @param _transforms New value to be copied in member transforms
132  */
133  eProsima_user_DllExport void transforms(
134  const std::vector<geometry_msgs::msg::TransformStamped>& _transforms);
135 
136  /*!
137  * @brief This function moves the value in member transforms
138  * @param _transforms New value to be moved in member transforms
139  */
140  eProsima_user_DllExport void transforms(
141  std::vector<geometry_msgs::msg::TransformStamped>&& _transforms);
142 
143  /*!
144  * @brief This function returns a constant reference to member transforms
145  * @return Constant reference to member transforms
146  */
147  eProsima_user_DllExport const std::vector<geometry_msgs::msg::TransformStamped>& transforms() const;
148 
149  /*!
150  * @brief This function returns a reference to member transforms
151  * @return Reference to member transforms
152  */
153  eProsima_user_DllExport std::vector<geometry_msgs::msg::TransformStamped>& transforms();
154 
155  /*!
156  * @brief This function returns the maximum serialized size of an object
157  * depending on the buffer alignment.
158  * @param current_alignment Buffer alignment.
159  * @return Maximum serialized size.
160  */
161  eProsima_user_DllExport static size_t getMaxCdrSerializedSize(
162  size_t current_alignment = 0);
163 
164  /*!
165  * @brief This function returns the serialized size of a data depending on the buffer alignment.
166  * @param data Data which is calculated its serialized size.
167  * @param current_alignment Buffer alignment.
168  * @return Serialized size.
169  */
170  eProsima_user_DllExport static size_t getCdrSerializedSize(
171  const tf2_msgs::msg::TFMessage& data,
172  size_t current_alignment = 0);
173 
174  /*!
175  * @brief This function serializes an object using CDR serialization.
176  * @param cdr CDR serialization object.
177  */
178  eProsima_user_DllExport void serialize(
179  eprosima::fastcdr::Cdr& cdr) const;
180 
181  /*!
182  * @brief This function deserializes an object using CDR serialization.
183  * @param cdr CDR serialization object.
184  */
185  eProsima_user_DllExport void deserialize(
186  eprosima::fastcdr::Cdr& cdr);
187 
188  /*!
189  * @brief This function returns the maximum serialized size of the Key of an object
190  * depending on the buffer alignment.
191  * @param current_alignment Buffer alignment.
192  * @return Maximum serialized size.
193  */
194  eProsima_user_DllExport static size_t getKeyMaxCdrSerializedSize(
195  size_t current_alignment = 0);
196 
197  /*!
198  * @brief This function tells you if the Key has been defined for this type
199  */
200  eProsima_user_DllExport static bool isKeyDefined();
201 
202  /*!
203  * @brief This function serializes the key members of an object using CDR serialization.
204  * @param cdr CDR serialization object.
205  */
206  eProsima_user_DllExport void serializeKey(
207  eprosima::fastcdr::Cdr& cdr) const;
208 
209  private:
210  std::vector<geometry_msgs::msg::TransformStamped> m_transforms;
211 
212  };
213  } // namespace msg
214 } // namespace tf2_msgs
215 
216 #endif // _FAST_DDS_GENERATED_TF2_MSGS_MSG_TFMESSAGE_H_
#define eProsima_user_DllExport
Definition: TFMessage.h:43
bool operator==(const Waypoint &lhs, const Waypoint &rhs)
bool operator!=(const Waypoint &lhs, const Waypoint &rhs)
This class represents the structure TFMessage defined by the user in the IDL file.
Definition: TFMessage.h:73
std::vector< geometry_msgs::msg::TransformStamped > m_transforms
Definition: TFMessage.h:210