PointCloud2.h
Go to the documentation of this file.
1 // Generated by gencpp from file sensor_msgs/PointCloud2.msg
2 // DO NOT EDIT!
3 
4 
5 #ifndef SENSOR_MSGS_MESSAGE_POINTCLOUD2_H
6 #define SENSOR_MSGS_MESSAGE_POINTCLOUD2_H
7 
8 
9 #include <string>
10 #include <vector>
11 #include <map>
12 
13 #include <ros/types.h>
14 #include <ros/serialization.h>
16 #include <ros/message_operations.h>
17 
18 #include <std_msgs/Header.h>
19 #include <sensor_msgs/PointField.h>
20 
21 namespace sensor_msgs
22 {
23 template <class ContainerAllocator>
25 {
27 
29  : header()
30  , height(0)
31  , width(0)
32  , fields()
33  , is_bigendian(false)
34  , point_step(0)
35  , row_step(0)
36  , data()
37  , is_dense(false) {
38  }
39  PointCloud2_(const ContainerAllocator& _alloc)
40  : header(_alloc)
41  , height(0)
42  , width(0)
43  , fields(_alloc)
44  , is_bigendian(false)
45  , point_step(0)
46  , row_step(0)
47  , data(_alloc)
48  , is_dense(false) {
49  (void)_alloc;
50  }
51 
52 
53 
54  typedef ::std_msgs::Header_<ContainerAllocator> _header_type;
55  _header_type header;
56 
58  _height_type height;
59 
61  _width_type width;
62 
63  typedef std::vector< ::sensor_msgs::PointField_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::sensor_msgs::PointField_<ContainerAllocator> >::other > _fields_type;
64  _fields_type fields;
65 
67  _is_bigendian_type is_bigendian;
68 
70  _point_step_type point_step;
71 
73  _row_step_type row_step;
74 
75  typedef std::vector<uint8_t, typename ContainerAllocator::template rebind<uint8_t>::other > _data_type;
76  _data_type data;
77 
79  _is_dense_type is_dense;
80 
81 
82 
83 
86 
87 }; // struct PointCloud2_
88 
89 typedef ::sensor_msgs::PointCloud2_<std::allocator<void> > PointCloud2;
90 
93 
94 // constants requiring out of line definition
95 
96 
97 
98 template<typename ContainerAllocator>
99 std::ostream& operator<<(std::ostream& s, const ::sensor_msgs::PointCloud2_<ContainerAllocator> & v)
100 {
102 return s;
103 }
104 
105 } // namespace sensor_msgs
106 
107 namespace rs2rosinternal
108 {
109 namespace message_traits
110 {
111 
112 
113 
114 // BOOLTRAITS {'IsFixedSize': False, 'IsMessage': True, 'HasHeader': True}
115 // {'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']}
116 
117 // !!!!!!!!!!! ['__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']
118 
119 
120 
121 
122 template <class ContainerAllocator>
123 struct IsFixedSize< ::sensor_msgs::PointCloud2_<ContainerAllocator> >
124  : FalseType
125  { };
126 
127 template <class ContainerAllocator>
128 struct IsFixedSize< ::sensor_msgs::PointCloud2_<ContainerAllocator> const>
129  : FalseType
130  { };
131 
132 template <class ContainerAllocator>
133 struct IsMessage< ::sensor_msgs::PointCloud2_<ContainerAllocator> >
134  : TrueType
135  { };
136 
137 template <class ContainerAllocator>
138 struct IsMessage< ::sensor_msgs::PointCloud2_<ContainerAllocator> const>
139  : TrueType
140  { };
141 
142 template <class ContainerAllocator>
143 struct HasHeader< ::sensor_msgs::PointCloud2_<ContainerAllocator> >
144  : TrueType
145  { };
146 
147 template <class ContainerAllocator>
148 struct HasHeader< ::sensor_msgs::PointCloud2_<ContainerAllocator> const>
149  : TrueType
150  { };
151 
152 
153 template<class ContainerAllocator>
154 struct MD5Sum< ::sensor_msgs::PointCloud2_<ContainerAllocator> >
155 {
156  static const char* value()
157  {
158  return "1158d486dd51d683ce2f1be655c3c181";
159  }
160 
161  static const char* value(const ::sensor_msgs::PointCloud2_<ContainerAllocator>&) { return value(); }
162  static const uint64_t static_value1 = 0x1158d486dd51d683ULL;
163  static const uint64_t static_value2 = 0xce2f1be655c3c181ULL;
164 };
165 
166 template<class ContainerAllocator>
167 struct DataType< ::sensor_msgs::PointCloud2_<ContainerAllocator> >
168 {
169  static const char* value()
170  {
171  return "sensor_msgs/PointCloud2";
172  }
173 
174  static const char* value(const ::sensor_msgs::PointCloud2_<ContainerAllocator>&) { return value(); }
175 };
176 
177 template<class ContainerAllocator>
178 struct Definition< ::sensor_msgs::PointCloud2_<ContainerAllocator> >
179 {
180  static const char* value()
181  {
182  return "# This message holds a collection of N-dimensional points, which may\n\
183 # contain additional information such as normals, intensity, etc. The\n\
184 # point data is stored as a binary blob, its layout described by the\n\
185 # contents of the \"fields\" array.\n\
186 \n\
187 # The point cloud data may be organized 2d (image-like) or 1d\n\
188 # (unordered). Point clouds organized as 2d images may be produced by\n\
189 # camera depth sensors such as stereo or time-of-flight.\n\
190 \n\
191 # Time of sensor data acquisition, and the coordinate frame ID (for 3d\n\
192 # points).\n\
193 Header header\n\
194 \n\
195 # 2D structure of the point cloud. If the cloud is unordered, height is\n\
196 # 1 and width is the length of the point cloud.\n\
197 uint32 height\n\
198 uint32 width\n\
199 \n\
200 # Describes the channels and their layout in the binary data blob.\n\
201 PointField[] fields\n\
202 \n\
203 bool is_bigendian # Is this data bigendian?\n\
204 uint32 point_step # Length of a point in bytes\n\
205 uint32 row_step # Length of a row in bytes\n\
206 uint8[] data # Actual point data, size is (row_step*height)\n\
207 \n\
208 bool is_dense # True if there are no invalid points\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: sensor_msgs/PointField\n\
230 # This message holds the description of one point entry in the\n\
231 # PointCloud2 message format.\n\
232 uint8 INT8 = 1\n\
233 uint8 UINT8 = 2\n\
234 uint8 INT16 = 3\n\
235 uint8 UINT16 = 4\n\
236 uint8 INT32 = 5\n\
237 uint8 UINT32 = 6\n\
238 uint8 FLOAT32 = 7\n\
239 uint8 FLOAT64 = 8\n\
240 \n\
241 string name # Name of field\n\
242 uint32 offset # Offset from start of point struct\n\
243 uint8 datatype # Datatype enumeration, see above\n\
244 uint32 count # How many elements in the field\n\
245 ";
246  }
247 
248  static const char* value(const ::sensor_msgs::PointCloud2_<ContainerAllocator>&) { return value(); }
249 };
250 
251 } // namespace message_traits
252 } // namespace rs2rosinternal
253 
254 namespace rs2rosinternal
255 {
256 namespace serialization
257 {
258 
259  template<class ContainerAllocator> struct Serializer< ::sensor_msgs::PointCloud2_<ContainerAllocator> >
260  {
261  template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
262  {
263  stream.next(m.header);
264  stream.next(m.height);
265  stream.next(m.width);
266  stream.next(m.fields);
267  stream.next(m.is_bigendian);
268  stream.next(m.point_step);
269  stream.next(m.row_step);
270  stream.next(m.data);
271  stream.next(m.is_dense);
272  }
273 
275  }; // struct PointCloud2_
276 
277 } // namespace serialization
278 } // namespace rs2rosinternal
279 
280 namespace rs2rosinternal
281 {
282 namespace message_operations
283 {
284 
285 template<class ContainerAllocator>
286 struct Printer< ::sensor_msgs::PointCloud2_<ContainerAllocator> >
287 {
288  template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::sensor_msgs::PointCloud2_<ContainerAllocator>& v)
289  {
290  s << indent << "header: ";
291  s << std::endl;
293  s << indent << "height: ";
294  Printer<uint32_t>::stream(s, indent + " ", v.height);
295  s << indent << "width: ";
296  Printer<uint32_t>::stream(s, indent + " ", v.width);
297  s << indent << "fields[]" << std::endl;
298  for (size_t i = 0; i < v.fields.size(); ++i)
299  {
300  s << indent << " fields[" << i << "]: ";
301  s << std::endl;
302  s << indent;
304  }
305  s << indent << "is_bigendian: ";
306  Printer<uint8_t>::stream(s, indent + " ", v.is_bigendian);
307  s << indent << "point_step: ";
308  Printer<uint32_t>::stream(s, indent + " ", v.point_step);
309  s << indent << "row_step: ";
310  Printer<uint32_t>::stream(s, indent + " ", v.row_step);
311  s << indent << "data[]" << std::endl;
312  for (size_t i = 0; i < v.data.size(); ++i)
313  {
314  s << indent << " data[" << i << "]: ";
315  Printer<uint8_t>::stream(s, indent + " ", v.data[i]);
316  }
317  s << indent << "is_dense: ";
318  Printer<uint8_t>::stream(s, indent + " ", v.is_dense);
319  }
320 };
321 
322 } // namespace message_operations
323 } // namespace rs2rosinternal
324 
325 #endif // SENSOR_MSGS_MESSAGE_POINTCLOUD2_H
PointCloud2_(const ContainerAllocator &_alloc)
Definition: PointCloud2.h:39
typedef void(APIENTRY *GLDEBUGPROC)(GLenum source
Base type for compile-type true/false tests. Compatible with Boost.MPL. classes inheriting from this ...
::sensor_msgs::PointCloud2_< std::allocator< void > > PointCloud2
Definition: PointCloud2.h:89
std::vector< ::sensor_msgs::PointField_< ContainerAllocator >, typename ContainerAllocator::template rebind< ::sensor_msgs::PointField_< ContainerAllocator > >::other > _fields_type
Definition: PointCloud2.h:63
GLdouble s
static const char * value(const ::sensor_msgs::PointCloud2_< ContainerAllocator > &)
Definition: PointCloud2.h:174
const GLfloat * m
Definition: glext.h:6814
_is_bigendian_type is_bigendian
Definition: PointCloud2.h:67
Specialize to provide the md5sum for a message.
boost::shared_ptr< ::sensor_msgs::PointCloud2_< ContainerAllocator > const > ConstPtr
Definition: PointCloud2.h:85
static void stream(Stream &s, const std::string &indent, const ::sensor_msgs::PointCloud2_< ContainerAllocator > &v)
Definition: PointCloud2.h:288
Base type for compile-type true/false tests. Compatible with Boost.MPL. classes inheriting from this ...
GLsizei const GLchar *const * string
static const char * value(const ::sensor_msgs::PointCloud2_< ContainerAllocator > &)
Definition: PointCloud2.h:248
Specialize to provide the datatype for a message.
_row_step_type row_step
Definition: PointCloud2.h:73
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
unsigned char uint8_t
Definition: stdint.h:78
static const char * value(const ::sensor_msgs::PointCloud2_< ContainerAllocator > &)
Definition: PointCloud2.h:161
PointCloud2_< ContainerAllocator > Type
Definition: PointCloud2.h:26
::std_msgs::Header_< ContainerAllocator > _header_type
Definition: PointCloud2.h:54
A fixed-size datatype is one whose size is constant, i.e. it has no variable-length arrays or strings...
std::vector< uint8_t, typename ContainerAllocator::template rebind< uint8_t >::other > _data_type
Definition: PointCloud2.h:75
Stream base-class, provides common functionality for IStream and OStream.
unsigned int uint32_t
Definition: stdint.h:80
_point_step_type point_step
Definition: PointCloud2.h:70
boost::shared_ptr< ::sensor_msgs::PointCloud2 > PointCloud2Ptr
Definition: PointCloud2.h:91
Tools for manipulating sensor_msgs.
Definition: BatteryState.h:20
GLint GLsizei GLsizei height
boost::shared_ptr< ::sensor_msgs::PointCloud2 const > PointCloud2ConstPtr
Definition: PointCloud2.h:92
#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.
boost::shared_ptr< ::sensor_msgs::PointCloud2_< ContainerAllocator > > Ptr
Definition: PointCloud2.h:84
_is_dense_type is_dense
Definition: PointCloud2.h:79
int i
Templated serialization class. Default implementation provides backwards compatibility with old messa...
GLdouble v
Definition: parser.hpp:150
GLint GLsizei width


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