117 void operator () (
const PointInT& point_in, PointOutT& point_out)
const
119 using FieldListInT =
typename pcl::traits::fieldList<PointInT>::type;
120 using FieldListOutT =
typename pcl::traits::fieldList<PointOutT>::type;
122 constexpr std::uint32_t offset_in = boost::mpl::if_<pcl::traits::has_field<PointInT, pcl::fields::rgb>,
123 pcl::traits::offset<PointInT, pcl::fields::rgb>,
124 pcl::traits::offset<PointInT, pcl::fields::rgba> >::type::value;
125 constexpr std::uint32_t offset_out = boost::mpl::if_<pcl::traits::has_field<PointOutT, pcl::fields::rgb>,
126 pcl::traits::offset<PointOutT, pcl::fields::rgb>,
127 pcl::traits::offset<PointOutT, pcl::fields::rgba> >::type::value;
128 pcl::for_each_type <FieldList> (pcl::NdConcatenateFunctor <PointInT, PointOutT> (point_in, point_out));
129 memcpy (
reinterpret_cast<char*
> (&point_out) + offset_out,
130 reinterpret_cast<const char*
> (&point_in) + offset_in,