Commit bc749853 authored by Mike Rye's avatar Mike Rye
Browse files

Updated InvokeWithPointType macros.

parent 9d094e65
......@@ -98,9 +98,57 @@ BOOST_PP_SEQ_FOR_EACH_I(
/*!
* @copydoc PCLP_INVOKE_WITH_XYZ_POINT_TYPE
* @brief Same as PCLP_INVOKE_WITH_XYZ_POINT_TYPE but for all point types in
* PCL_NORMAL_POINT_TYPES except PointNormal.
* PCL_RGB_POINT_TYPES except PointNormal.
*/
#define PCLP_INVOKE_WITH_RGB_POINT_TYPE(index, statement) \
switch (index) \
{ \
BOOST_PP_SEQ_FOR_EACH_I( \
_PCLP_POINT_TYPE_SWITCH_CASE, \
statement, \
PCL_RGB_POINT_TYPES \
) \
}
//------------------------------------------------------------------------------
/*!
* @copydoc PCLP_INVOKE_WITH_XYZ_POINT_TYPE
* @brief Same as PCLP_INVOKE_WITH_XYZ_POINT_TYPE but for all point types in
* PCL_FEATURE_POINT_TYPES except PointNormal.
*/
#define PCLP_INVOKE_WITH_FEATURE_POINT_TYPE(index, statement) \
switch (index) \
{ \
BOOST_PP_SEQ_FOR_EACH_I( \
_PCLP_POINT_TYPE_SWITCH_CASE, \
statement, \
PCL_FEATURE_POINT_TYPES \
) \
}
//------------------------------------------------------------------------------
/*!
* @copydoc PCLP_INVOKE_WITH_XYZ_POINT_TYPE
* @brief Same as PCLP_INVOKE_WITH_XYZ_POINT_TYPE but for all point types in
* PCL_NORMAL_POINT_TYPES.
*/
#define PCLP_INVOKE_WITH_NORMAL_POINT_TYPE(index, statement) \
switch (index) \
{ \
BOOST_PP_SEQ_FOR_EACH_I( \
_PCLP_POINT_TYPE_SWITCH_CASE, \
statement, \
PCL_NORMAL_POINT_TYPES \
) \
}
//------------------------------------------------------------------------------
/*!
* @copydoc PCLP_INVOKE_WITH_XYZ_POINT_TYPE
* @brief Same as PCLP_INVOKE_WITH_XYZ_POINT_TYPE but for all point types in
* PCL_NORMAL_POINT_TYPES except PointNormal.
*/
#define PCLP_INVOKE_WITH_XYZ_NORMAL_POINT_TYPE(index, statement) \
switch (index) \
{ \
BOOST_PP_SEQ_FOR_EACH_I( \
......
......@@ -53,7 +53,7 @@ int vtkPCLFPFHEstimationFilter::ApplyPCLFilter(
std::set<std::string> requiredFieldNames { "normal_x", "normal_y", "normal_z" };
int index = vtkPCLConversions::GetPointTypeIndex(input, requiredFieldNames);
#define _statement(PointType) return this->InternalApplyPCLFilter<PointType>(input, output);
PCLP_INVOKE_WITH_NORMAL_POINT_TYPE(index, _statement)
PCLP_INVOKE_WITH_XYZ_NORMAL_POINT_TYPE(index, _statement)
#undef _statement
return 0;
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment