29 #ifndef YARP_ROSMSG_sensor_msgs_PointCloud_h
30 #define YARP_ROSMSG_sensor_msgs_PointCloud_h
49 std::vector<yarp::rosmsg::geometry_msgs::Point32>
points;
50 std::vector<yarp::rosmsg::sensor_msgs::ChannelFloat32>
channels;
81 for (
int i=0; i<len; i++) {
90 for (
int i=0; i<len; i++) {
118 for (
int i=0; i<len; i++) {
130 for (
int i=0; i<len; i++) {
155 for (
size_t i=0; i<
points.size(); i++) {
163 for (
size_t i=0; i<
channels.size(); i++) {
185 for (
size_t i=0; i<
points.size(); i++) {
194 for (
size_t i=0; i<
channels.size(); i++) {
217 static constexpr
const char*
typeName =
"sensor_msgs/PointCloud";
220 static constexpr
const char*
typeChecksum =
"d8e9c3f5afbdd8a130fd1d2763945fca";
224 # This message holds a collection of 3d points, plus optional additional\n\
225 # information about each point.\n\
227 # Time of sensor data acquisition, coordinate frame ID.\n\
230 # Array of 3d points. Each Point32 should be interpreted as a 3d point\n\
231 # in the frame given in the header.\n\
232 geometry_msgs/Point32[] points\n\
234 # Each channel should have the same number of elements as points array,\n\
235 # and the data in each channel should correspond 1:1 with each point.\n\
236 # Channel names in common practice are listed in ChannelFloat32.msg.\n\
237 ChannelFloat32[] channels\n\
239 ================================================================================\n\
240 MSG: std_msgs/Header\n\
241 # Standard metadata for higher-level stamped data types.\n\
242 # This is generally used to communicate timestamped data \n\
243 # in a particular coordinate frame.\n\
245 # sequence ID: consecutively increasing ID \n\
247 #Two-integer timestamp that is expressed as:\n\
248 # * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\
249 # * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\
250 # time-handling sugar is provided by the client library\n\
252 #Frame this data is associated with\n\
257 ================================================================================\n\
258 MSG: geometry_msgs/Point32\n\
259 # This contains the position of a point in free space(with 32 bits of precision).\n\
260 # It is recommeded to use Point wherever possible instead of Point32. \n\
262 # This recommendation is to promote interoperability. \n\
264 # This message is designed to take up less space when sending\n\
265 # lots of points at once, as in the case of a PointCloud. \n\
270 ================================================================================\n\
271 MSG: sensor_msgs/ChannelFloat32\n\
272 # This message is used by the PointCloud message to hold optional data\n\
273 # associated with each point in the cloud. The length of the values\n\
274 # array should be the same as the length of the points array in the\n\
275 # PointCloud, and each value should be associated with the corresponding\n\
278 # Channel names in existing practice include:\n\
279 # \"u\", \"v\" - row and column (respectively) in the left stereo image.\n\
280 # This is opposite to usual conventions but remains for\n\
281 # historical reasons. The newer PointCloud2 message has no\n\
283 # \"rgb\" - For point clouds produced by color stereo cameras. uint8\n\
284 # (R,G,B) values packed into the least significant 24 bits,\n\
286 # \"intensity\" - laser or pixel intensity.\n\
289 # The channel name should give semantics of the channel (e.g.\n\
290 # \"intensity\" instead of \"value\").\n\
293 # The values array should be 1-1 with the elements of the associated\n\
An interface for reading from a network connection.
virtual bool isBareMode() const =0
Check if the connection is bare mode.
virtual std::int32_t expectInt32()=0
Read a 32-bit integer from the network connection.
virtual bool convertTextMode()=0
Reads in a standard description in text mode, and converts it to a standard description in binary.
virtual bool isError() const =0
An interface for writing to a network connection.
virtual bool isError() const =0
virtual bool isBareMode() const =0
Check if the connection is bare mode.
virtual bool convertTextMode()=0
Converts a standard description in binary into a textual description, if the connection is in text-mo...
virtual void appendInt32(std::int32_t data)=0
Send a representation of a 32-bit integer to the network connection.
static Type byName(const char *name)
Type & addProperty(const char *key, const Value &val)
A single value (typically within a Bottle).
A "tamed" Portable, that promises to serialize itself in an IDL-friendly way.
virtual bool read(yarp::os::idl::WireReader &reader)
virtual bool write(const yarp::os::idl::WireWriter &writer) const
IDL-friendly connection reader.
bool read(yarp::os::ConnectionReader &connection) override
Read this object from a network connection.
yarp::rosmsg::std_msgs::Header header
bool readBare(yarp::os::ConnectionReader &connection) override
std::vector< yarp::rosmsg::sensor_msgs::ChannelFloat32 > channels
yarp::os::Type getType() const override
yarp::os::idl::BareStyle< yarp::rosmsg::sensor_msgs::PointCloud > rosStyle
bool readBottle(yarp::os::ConnectionReader &connection) override
static constexpr const char * typeChecksum
static constexpr const char * typeName
bool writeBare(yarp::os::ConnectionWriter &connection) const override
yarp::os::idl::BottleStyle< yarp::rosmsg::sensor_msgs::PointCloud > bottleStyle
static constexpr const char * typeText
bool writeBottle(yarp::os::ConnectionWriter &connection) const override
std::vector< yarp::rosmsg::geometry_msgs::Point32 > points
bool write(yarp::os::ConnectionWriter &connection) const override
Write this object to a network connection.
The main, catch-all namespace for YARP.