PointCloud.h
Go to the documentation of this file.
1 // Generated by gencpp from file sensor_msgs/PointCloud.msg
2 // DO NOT EDIT!
3 
4 
5 #ifndef SENSOR_MSGS_MESSAGE_POINTCLOUD_H
6 #define SENSOR_MSGS_MESSAGE_POINTCLOUD_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 <geometry_msgs/Point32.h>
21 
22 namespace sensor_msgs
23 {
24 template <class ContainerAllocator>
26 {
28 
30  : header()
31  , points()
32  , channels() {
33  }
34  PointCloud_(const ContainerAllocator& _alloc)
35  : header(_alloc)
36  , points(_alloc)
37  , channels(_alloc) {
38  (void)_alloc;
39  }
40 
41 
42 
43  typedef ::std_msgs::Header_<ContainerAllocator> _header_type;
44  _header_type header;
45 
46  typedef std::vector< ::geometry_msgs::Point32_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::Point32_<ContainerAllocator> >::other > _points_type;
47  _points_type points;
48 
49  typedef std::vector< ::sensor_msgs::ChannelFloat32_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::sensor_msgs::ChannelFloat32_<ContainerAllocator> >::other > _channels_type;
50  _channels_type channels;
51 
52 
53 
54 
57 
58 }; // struct PointCloud_
59 
60 typedef ::sensor_msgs::PointCloud_<std::allocator<void> > PointCloud;
61 
64 
65 // constants requiring out of line definition
66 
67 
68 
69 template<typename ContainerAllocator>
70 std::ostream& operator<<(std::ostream& s, const ::sensor_msgs::PointCloud_<ContainerAllocator> & v)
71 {
73 return s;
74 }
75 
76 } // namespace sensor_msgs
77 
78 namespace rs2rosinternal
79 {
80 namespace message_traits
81 {
82 
83 
84 
85 // BOOLTRAITS {'IsFixedSize': False, 'IsMessage': True, 'HasHeader': True}
86 // {'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']}
87 
88 // !!!!!!!!!!! ['__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']
89 
90 
91 
92 
93 template <class ContainerAllocator>
94 struct IsFixedSize< ::sensor_msgs::PointCloud_<ContainerAllocator> >
95  : FalseType
96  { };
97 
98 template <class ContainerAllocator>
99 struct IsFixedSize< ::sensor_msgs::PointCloud_<ContainerAllocator> const>
100  : FalseType
101  { };
102 
103 template <class ContainerAllocator>
104 struct IsMessage< ::sensor_msgs::PointCloud_<ContainerAllocator> >
105  : TrueType
106  { };
107 
108 template <class ContainerAllocator>
109 struct IsMessage< ::sensor_msgs::PointCloud_<ContainerAllocator> const>
110  : TrueType
111  { };
112 
113 template <class ContainerAllocator>
114 struct HasHeader< ::sensor_msgs::PointCloud_<ContainerAllocator> >
115  : TrueType
116  { };
117 
118 template <class ContainerAllocator>
119 struct HasHeader< ::sensor_msgs::PointCloud_<ContainerAllocator> const>
120  : TrueType
121  { };
122 
123 
124 template<class ContainerAllocator>
125 struct MD5Sum< ::sensor_msgs::PointCloud_<ContainerAllocator> >
126 {
127  static const char* value()
128  {
129  return "d8e9c3f5afbdd8a130fd1d2763945fca";
130  }
131 
132  static const char* value(const ::sensor_msgs::PointCloud_<ContainerAllocator>&) { return value(); }
133  static const uint64_t static_value1 = 0xd8e9c3f5afbdd8a1ULL;
134  static const uint64_t static_value2 = 0x30fd1d2763945fcaULL;
135 };
136 
137 template<class ContainerAllocator>
138 struct DataType< ::sensor_msgs::PointCloud_<ContainerAllocator> >
139 {
140  static const char* value()
141  {
142  return "sensor_msgs/PointCloud";
143  }
144 
145  static const char* value(const ::sensor_msgs::PointCloud_<ContainerAllocator>&) { return value(); }
146 };
147 
148 template<class ContainerAllocator>
149 struct Definition< ::sensor_msgs::PointCloud_<ContainerAllocator> >
150 {
151  static const char* value()
152  {
153  return "# This message holds a collection of 3d points, plus optional additional\n\
154 # information about each point.\n\
155 \n\
156 # Time of sensor data acquisition, coordinate frame ID.\n\
157 Header header\n\
158 \n\
159 # Array of 3d points. Each Point32 should be interpreted as a 3d point\n\
160 # in the frame given in the header.\n\
161 geometry_msgs/Point32[] points\n\
162 \n\
163 # Each channel should have the same number of elements as points array,\n\
164 # and the data in each channel should correspond 1:1 with each point.\n\
165 # Channel names in common practice are listed in ChannelFloat32.msg.\n\
166 ChannelFloat32[] channels\n\
167 \n\
168 ================================================================================\n\
169 MSG: std_msgs/Header\n\
170 # Standard metadata for higher-level stamped data types.\n\
171 # This is generally used to communicate timestamped data \n\
172 # in a particular coordinate frame.\n\
173 # \n\
174 # sequence ID: consecutively increasing ID \n\
175 uint32 seq\n\
176 #Two-integer timestamp that is expressed as:\n\
177 # * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\
178 # * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\
179 # time-handling sugar is provided by the client library\n\
180 time stamp\n\
181 #Frame this data is associated with\n\
182 # 0: no frame\n\
183 # 1: global frame\n\
184 string frame_id\n\
185 \n\
186 ================================================================================\n\
187 MSG: geometry_msgs/Point32\n\
188 # This contains the position of a point in free space(with 32 bits of precision).\n\
189 # It is recommeded to use Point wherever possible instead of Point32. \n\
190 # \n\
191 # This recommendation is to promote interoperability. \n\
192 #\n\
193 # This message is designed to take up less space when sending\n\
194 # lots of points at once, as in the case of a PointCloud. \n\
195 \n\
196 float32 x\n\
197 float32 y\n\
198 float32 z\n\
199 ================================================================================\n\
200 MSG: sensor_msgs/ChannelFloat32\n\
201 # This message is used by the PointCloud message to hold optional data\n\
202 # associated with each point in the cloud. The length of the values\n\
203 # array should be the same as the length of the points array in the\n\
204 # PointCloud, and each value should be associated with the corresponding\n\
205 # point.\n\
206 \n\
207 # Channel names in existing practice include:\n\
208 # \"u\", \"v\" - row and column (respectively) in the left stereo image.\n\
209 # This is opposite to usual conventions but remains for\n\
210 # historical reasons. The newer PointCloud2 message has no\n\
211 # such problem.\n\
212 # \"rgb\" - For point clouds produced by color stereo cameras. uint8\n\
213 # (R,G,B) values packed into the least significant 24 bits,\n\
214 # in order.\n\
215 # \"intensity\" - laser or pixel intensity.\n\
216 # \"distance\"\n\
217 \n\
218 # The channel name should give semantics of the channel (e.g.\n\
219 # \"intensity\" instead of \"value\").\n\
220 string name\n\
221 \n\
222 # The values array should be 1-1 with the elements of the associated\n\
223 # PointCloud.\n\
224 float32[] values\n\
225 ";
226  }
227 
228  static const char* value(const ::sensor_msgs::PointCloud_<ContainerAllocator>&) { return value(); }
229 };
230 
231 } // namespace message_traits
232 } // namespace rs2rosinternal
233 
234 namespace rs2rosinternal
235 {
236 namespace serialization
237 {
238 
239  template<class ContainerAllocator> struct Serializer< ::sensor_msgs::PointCloud_<ContainerAllocator> >
240  {
241  template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
242  {
243  stream.next(m.header);
244  stream.next(m.points);
245  stream.next(m.channels);
246  }
247 
249  }; // struct PointCloud_
250 
251 } // namespace serialization
252 } // namespace rs2rosinternal
253 
254 namespace rs2rosinternal
255 {
256 namespace message_operations
257 {
258 
259 template<class ContainerAllocator>
260 struct Printer< ::sensor_msgs::PointCloud_<ContainerAllocator> >
261 {
262  template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::sensor_msgs::PointCloud_<ContainerAllocator>& v)
263  {
264  s << indent << "header: ";
265  s << std::endl;
267  s << indent << "points[]" << std::endl;
268  for (size_t i = 0; i < v.points.size(); ++i)
269  {
270  s << indent << " points[" << i << "]: ";
271  s << std::endl;
272  s << indent;
274  }
275  s << indent << "channels[]" << std::endl;
276  for (size_t i = 0; i < v.channels.size(); ++i)
277  {
278  s << indent << " channels[" << i << "]: ";
279  s << std::endl;
280  s << indent;
282  }
283  }
284 };
285 
286 } // namespace message_operations
287 } // namespace rs2rosinternal
288 
289 #endif // SENSOR_MSGS_MESSAGE_POINTCLOUD_H
typedef void(APIENTRY *GLDEBUGPROC)(GLenum source
Base type for compile-type true/false tests. Compatible with Boost.MPL. classes inheriting from this ...
GLdouble s
const GLfloat * m
Definition: glext.h:6814
Specialize to provide the md5sum for a message.
Base type for compile-type true/false tests. Compatible with Boost.MPL. classes inheriting from this ...
GLsizei const GLchar *const * string
Specialize to provide the datatype for a message.
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
::sensor_msgs::PointCloud_< std::allocator< void > > PointCloud
Definition: PointCloud.h:60
A fixed-size datatype is one whose size is constant, i.e. it has no variable-length arrays or strings...
Stream base-class, provides common functionality for IStream and OStream.
PointCloud_(const ContainerAllocator &_alloc)
Definition: PointCloud.h:34
Tools for manipulating sensor_msgs.
Definition: BatteryState.h:20
#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::PointCloud_< ContainerAllocator > > Ptr
Definition: PointCloud.h:55
boost::shared_ptr< ::sensor_msgs::PointCloud_< ContainerAllocator > const > ConstPtr
Definition: PointCloud.h:56
std::vector< ::sensor_msgs::ChannelFloat32_< ContainerAllocator >, typename ContainerAllocator::template rebind< ::sensor_msgs::ChannelFloat32_< ContainerAllocator > >::other > _channels_type
Definition: PointCloud.h:49
_channels_type channels
Definition: PointCloud.h:50
static void stream(Stream &s, const std::string &indent, const ::sensor_msgs::PointCloud_< ContainerAllocator > &v)
Definition: PointCloud.h:262
static const char * value(const ::sensor_msgs::PointCloud_< ContainerAllocator > &)
Definition: PointCloud.h:145
int i
boost::shared_ptr< ::sensor_msgs::PointCloud > PointCloudPtr
Definition: PointCloud.h:62
std::vector< ::geometry_msgs::Point32_< ContainerAllocator >, typename ContainerAllocator::template rebind< ::geometry_msgs::Point32_< ContainerAllocator > >::other > _points_type
Definition: PointCloud.h:46
Templated serialization class. Default implementation provides backwards compatibility with old messa...
static const char * value(const ::sensor_msgs::PointCloud_< ContainerAllocator > &)
Definition: PointCloud.h:228
static const char * value(const ::sensor_msgs::PointCloud_< ContainerAllocator > &)
Definition: PointCloud.h:132
GLdouble v
PointCloud_< ContainerAllocator > Type
Definition: PointCloud.h:27
boost::shared_ptr< ::sensor_msgs::PointCloud const > PointCloudConstPtr
Definition: PointCloud.h:63
GLdouble GLdouble GLint GLint const GLdouble * points
::std_msgs::Header_< ContainerAllocator > _header_type
Definition: PointCloud.h:43


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