6 #include <pcl/point_cloud.h>
7 #include <pcl/point_types.h>
11 #include <VisionX/interface/core/DataTypes.h>
20 template <Po
intContentType po
intContentType>
45 template <>
struct PclPointType<PointContentType::eColoredLabeledPoints>
49 template <>
struct PclPointType<PointContentType::eColoredOrientedPoints>
51 using PointT = pcl::PointXYZRGBNormal;
61 template <
typename ReturnT =
void>
102 template <
class FunctorT,
class... Args>
108 case PointContentType::ePoints:
111 case PointContentType::eIntensity:
114 case PointContentType::eColoredPoints:
117 case PointContentType::eLabeledPoints:
120 case PointContentType::eOrientedPoints:
123 case PointContentType::eColoredLabeledPoints:
126 case PointContentType::eColoredOrientedPoints:
134 template <
class FunctorT,
class... Args>
140 case PointContentType::ePoints:
143 case PointContentType::eIntensity:
146 case PointContentType::eColoredPoints:
149 case PointContentType::eLabeledPoints:
152 case PointContentType::eOrientedPoints:
155 case PointContentType::eColoredLabeledPoints:
158 case PointContentType::eColoredOrientedPoints:
166 template <
class VisitorT,
class... Args>
167 typename VisitorT::ReturnType
172 case PointContentType::ePoints:
175 case PointContentType::eIntensity:
178 case PointContentType::eColoredPoints:
181 case PointContentType::eLabeledPoints:
184 case PointContentType::eOrientedPoints:
187 case PointContentType::eColoredLabeledPoints:
190 case PointContentType::eColoredOrientedPoints:
200 template <
class VisitorT,
class... Args>
201 typename VisitorT::ReturnType
206 case PointContentType::ePoints:
209 case PointContentType::eIntensity:
212 case PointContentType::eColoredPoints:
215 case PointContentType::eLabeledPoints:
218 case PointContentType::eOrientedPoints:
221 case PointContentType::eColoredLabeledPoints:
224 case PointContentType::eColoredOrientedPoints:
236 template <
class PointT,
class FunctionT,
class... Args>
239 pcl::PointCloud<PointT> pointCloud;
240 function(pointCloud, args...);
242 template <
class PointT,
class FunctionT,
class... Args>
243 void operator()(
const FunctionT&
function, Args... args)
const
245 pcl::PointCloud<PointT> pointCloud;
246 function(pointCloud, args...);
253 template <
class PointT,
class FunctionT,
class... Args>
256 typename pcl::PointCloud<PointT>::Ptr pointCloud(
new pcl::PointCloud<PointT>);
257 function(pointCloud, args...);
259 template <
class PointT,
class FunctionT,
class... Args>
260 void operator()(
const FunctionT&
function, Args... args)
const
262 typename pcl::PointCloud<PointT>::Ptr pointCloud(
new pcl::PointCloud<PointT>);
263 function(pointCloud, args...);
278 template <
class FunctionT,
class... Args>
285 template <
class FunctionT,
class... Args>
302 template <
class FunctionT,
class... Args>
309 template <
class FunctionT,
class... Args>