40 #ifndef PCL_COMMON_IO_H_
41 #define PCL_COMMON_IO_H_
44 #include <boost/fusion/sequence/intrinsic/at_key.hpp>
61 for (
size_t d = 0; d < cloud.
fields.size (); ++d)
62 if (cloud.
fields[d].name == field_name)
63 return (static_cast<int>(d));
73 template <
typename Po
intT>
inline int
75 std::vector<sensor_msgs::PointField> &fields);
82 template <
typename Po
intT>
inline int
84 std::vector<sensor_msgs::PointField> &fields);
91 template <
typename Po
intT>
inline void
98 template <
typename Po
intT>
inline void
99 getFields (std::vector<sensor_msgs::PointField> &fields);
105 template <
typename Po
intT>
inline std::string
116 for (
size_t i = 0; i < cloud.
fields.size () - 1; ++i)
117 result += cloud.
fields[i].name +
" ";
157 getFieldsSizes (
const std::vector<sensor_msgs::PointField> &fields,
158 std::vector<int> &field_sizes);
168 type = std::toupper (type, std::locale::classic ());
231 template <
typename Po
intInT,
typename Po
intOutT>
void
255 const std::vector<int> &indices,
273 template <
typename Po
intT>
void
275 const std::vector<int> &indices,
283 template <
typename Po
intT>
void
285 const std::vector<
int, Eigen::aligned_allocator<int> > &indices,
294 template <
typename Po
intInT,
typename Po
intOutT>
void
296 const std::vector<int> &indices,
305 template <
typename Po
intInT,
typename Po
intOutT>
void
307 const std::vector<
int, Eigen::aligned_allocator<int> > &indices,
316 template <
typename Po
intT>
void
318 const PointIndices &indices,
327 template <
typename Po
intInT,
typename Po
intOutT>
void
329 const PointIndices &indices,
338 template <
typename Po
intT>
void
340 const std::vector<pcl::PointIndices> &indices,
349 template <
typename Po
intInT,
typename Po
intOutT>
void
351 const std::vector<pcl::PointIndices> &indices,
365 template <
typename Po
intIn1T,
typename Po
intIn2T,
typename Po
intOutT>
void
409 template <std::
size_t N>
void
415 template <>
inline void
422 template <>
inline void
428 template <>
inline void
431 std::swap (bytes[0], bytes[3]);
432 std::swap (bytes[1], bytes[2]);
438 template <>
inline void
441 std::swap (bytes[0], bytes[7]);
442 std::swap (bytes[1], bytes[6]);
443 std::swap (bytes[2], bytes[5]);
444 std::swap (bytes[3], bytes[4]);
450 template <
typename T>
void
453 pcl::io::swapByte<sizeof(T)> (
reinterpret_cast<char*
> (&value));
460 #endif //#ifndef PCL_COMMON_IO_H_