Go to the documentation of this file.
6 #ifndef SENSOR_MSGS_MESSAGE_POINTCLOUD_H
7 #define SENSOR_MSGS_MESSAGE_POINTCLOUD_H
14 #include <ros/types.h>
15 #include <ros/serialization.h>
16 #include <ros/builtin_message_traits.h>
17 #include <ros/message_operations.h>
25 template <
class ContainerAllocator>
47 typedef std::vector< ::geometry_msgs::Point32_<ContainerAllocator> ,
typename ContainerAllocator::template rebind< ::geometry_msgs::Point32_<ContainerAllocator> >::other >
_points_type;
50 typedef std::vector< ::sensor_msgs::ChannelFloat32_<ContainerAllocator> ,
typename ContainerAllocator::template rebind< ::sensor_msgs::ChannelFloat32_<ContainerAllocator> >::other >
_channels_type;
56 typedef std::shared_ptr< ::sensor_msgs::PointCloud_<ContainerAllocator> >
Ptr;
57 typedef std::shared_ptr< ::sensor_msgs::PointCloud_<ContainerAllocator>
const>
ConstPtr;
61 typedef ::sensor_msgs::PointCloud_<std::allocator<void> >
PointCloud;
70 template<
typename ContainerAllocator>
71 std::ostream&
operator<<(std::ostream& s, const ::sensor_msgs::PointCloud_<ContainerAllocator> & v)
81 namespace message_traits
94 template <
class ContainerAllocator>
99 template <
class ContainerAllocator>
104 template <
class ContainerAllocator>
109 template <
class ContainerAllocator>
114 template <
class ContainerAllocator>
119 template <
class ContainerAllocator>
125 template<
class ContainerAllocator>
130 return "d8e9c3f5afbdd8a130fd1d2763945fca";
133 static const char*
value(const ::sensor_msgs::PointCloud_<ContainerAllocator>&) {
return value(); }
134 static const uint64_t static_value1 = 0xd8e9c3f5afbdd8a1ULL;
135 static const uint64_t static_value2 = 0x30fd1d2763945fcaULL;
138 template<
class ContainerAllocator>
143 return "sensor_msgs/PointCloud";
146 static const char*
value(const ::sensor_msgs::PointCloud_<ContainerAllocator>&) {
return value(); }
149 template<
class ContainerAllocator>
154 return "# This message holds a collection of 3d points, plus optional additional\n\
155 # information about each point.\n\
157 # Time of sensor data acquisition, coordinate frame ID.\n\
160 # Array of 3d points. Each Point32 should be interpreted as a 3d point\n\
161 # in the frame given in the header.\n\
162 geometry_msgs/Point32[] points\n\
164 # Each channel should have the same number of elements as points array,\n\
165 # and the data in each channel should correspond 1:1 with each point.\n\
166 # Channel names in common practice are listed in ChannelFloat32.msg.\n\
167 ChannelFloat32[] channels\n\
169 ================================================================================\n\
170 MSG: std_msgs/Header\n\
171 # Standard metadata for higher-level stamped data types.\n\
172 # This is generally used to communicate timestamped data \n\
173 # in a particular coordinate frame.\n\
175 # sequence ID: consecutively increasing ID \n\
177 #Two-integer timestamp that is expressed as:\n\
178 # * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\
179 # * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\
180 # time-handling sugar is provided by the client library\n\
182 #Frame this data is associated with\n\
187 ================================================================================\n\
188 MSG: geometry_msgs/Point32\n\
189 # This contains the position of a point in free space(with 32 bits of precision).\n\
190 # It is recommeded to use Point wherever possible instead of Point32. \n\
192 # This recommendation is to promote interoperability. \n\
194 # This message is designed to take up less space when sending\n\
195 # lots of points at once, as in the case of a PointCloud. \n\
200 ================================================================================\n\
201 MSG: sensor_msgs/ChannelFloat32\n\
202 # This message is used by the PointCloud message to hold optional data\n\
203 # associated with each point in the cloud. The length of the values\n\
204 # array should be the same as the length of the points array in the\n\
205 # PointCloud, and each value should be associated with the corresponding\n\
208 # Channel names in existing practice include:\n\
209 # \"u\", \"v\" - row and column (respectively) in the left stereo image.\n\
210 # This is opposite to usual conventions but remains for\n\
211 # historical reasons. The newer PointCloud2 message has no\n\
213 # \"rgb\" - For point clouds produced by color stereo cameras. uint8\n\
214 # (R,G,B) values packed into the least significant 24 bits,\n\
216 # \"intensity\" - laser or pixel intensity.\n\
219 # The channel name should give semantics of the channel (e.g.\n\
220 # \"intensity\" instead of \"value\").\n\
223 # The values array should be 1-1 with the elements of the associated\n\
229 static const char*
value(const ::sensor_msgs::PointCloud_<ContainerAllocator>&) {
return value(); }
237 namespace serialization
242 template<
typename Stream,
typename T>
inline static void allInOne(
Stream& stream, T m)
244 stream.next(m.header);
245 stream.next(m.points);
246 stream.next(m.channels);
257 namespace message_operations
260 template<
class ContainerAllocator>
263 template<
typename Stream>
static void stream(Stream& s,
const std::string&
indent, const ::sensor_msgs::PointCloud_<ContainerAllocator>& v)
268 s <<
indent <<
"points[]" << std::endl;
269 for (
size_t i = 0; i < v.points.size(); ++i)
271 s <<
indent <<
" points[" << i <<
"]: ";
276 s <<
indent <<
"channels[]" << std::endl;
277 for (
size_t i = 0; i < v.channels.size(); ++i)
279 s <<
indent <<
" channels[" << i <<
"]: ";
290 #endif // SENSOR_MSGS_MESSAGE_POINTCLOUD_H
Base type for compile-type true/false tests. Compatible with Boost.MPL. classes inheriting from this ...
Templated serialization class. Default implementation provides backwards compatibility with old messa...
PointCloud_(const ContainerAllocator &_alloc)
PointCloud_< ContainerAllocator > Type
::std_msgs::Header_< ContainerAllocator > _header_type
static const char * value(const ::sensor_msgs::PointCloud_< ContainerAllocator > &)
static void stream(Stream &s, const std::string &indent, const M &value)
A fixed-size datatype is one whose size is constant, i.e. it has no variable-length arrays or strings...
#define ROS_DECLARE_ALLINONE_SERIALIZER
Declare your serializer to use an allInOne member instead of requiring 3 different serialization func...
Specialize to provide the datatype for a message.
static void allInOne(Stream &stream, T m)
Specialize to provide the definition for a message.
std::shared_ptr< ::sensor_msgs::PointCloud_< ContainerAllocator > > Ptr
::sensor_msgs::PointCloud_< std::allocator< void > > PointCloud
std::shared_ptr< ::sensor_msgs::PointCloud_< ContainerAllocator > const > ConstPtr
std::ostream & operator<<(std::ostream &s, const ::sensor_msgs::BatteryState_< ContainerAllocator > &v)
static const char * value()
std::vector< ::sensor_msgs::ChannelFloat32_< ContainerAllocator >, typename ContainerAllocator::template rebind< ::sensor_msgs::ChannelFloat32_< ContainerAllocator > >::other > _channels_type
std::shared_ptr< ::sensor_msgs::PointCloud > PointCloudPtr
static const char * value(const ::sensor_msgs::PointCloud_< ContainerAllocator > &)
std::vector< ::geometry_msgs::Point32_< ContainerAllocator >, typename ContainerAllocator::template rebind< ::geometry_msgs::Point32_< ContainerAllocator > >::other > _points_type
std::shared_ptr< ::sensor_msgs::PointCloud const > PointCloudConstPtr
Base type for compile-type true/false tests. Compatible with Boost.MPL. classes inheriting from this ...
Specialize to provide the md5sum for a message.
static void stream(Stream &s, const std::string &indent, const ::sensor_msgs::PointCloud_< ContainerAllocator > &v)
static const char * value(const ::sensor_msgs::PointCloud_< ContainerAllocator > &)
static const char * value()
Stream base-class, provides common functionality for IStream and OStream.
Tools for manipulating sensor_msgs.
static const char * value()
sick_scan_xd
Author(s): Michael Lehning
, Jochen Sprickerhof , Martin Günther
autogenerated on Fri Oct 25 2024 02:47:09