17#define _CODE_FOR_0_ARGS(PC_PTR_CONTAINER, ML_PCL_TYPE_ARG, FUNC, MULTI_PURPOSE_ARG) \
18 if (PC_PTR_CONTAINER.ML_PCL_TYPE_ARG){ FUNC(PC_PTR_CONTAINER.ML_PCL_TYPE_ARG); }
21#define _CODE_FOR_0_ARGS_CONST_REF(PC_PTR_CONTAINER, ML_PCL_TYPE_ARG, FUNC, MULTI_PURPOSE_ARG) \
22 if (PC_PTR_CONTAINER.ML_PCL_TYPE_ARG){ FUNC(*PC_PTR_CONTAINER.ML_PCL_TYPE_ARG); }
25#define _CODE_FOR_0_ARGS_AND_CALL_FOR_SELECTED_TYPE(PC_PTR_CONTAINER, ML_PCL_TYPE_ARG, FUNC, MULTI_PURPOSE_ARG) \
27 const MLPCLPointTypeEnumerators enumOfType = getEnumeratorOfPCLPointType(PC_PTR_CONTAINER.ML_PCL_TYPE_ARG); \
28 if (enumOfType == MULTI_PURPOSE_ARG) { FUNC(PC_PTR_CONTAINER.ML_PCL_TYPE_ARG); } \
33#define _CODE_FOR_CROSS_IMPLEMENTATION(PC_PTR1, PC_PTR2, FUNC, PC_PTR_CONTAINER2) \
34 if (PC_PTR1 && PC_PTR2){ FUNC(PC_PTR1, PC_PTR2); }
37#define _CODE_FOR_CROSS_IMPLEMENTATION_CONST_REF(PC_PTR1, PC_PTR2, FUNC, PC_PTR_CONTAINER2) \
38 if (PC_PTR1 && PC_PTR2){ FUNC(*PC_PTR1, *PC_PTR2); }
42#define _ML_CROSS_IMPLEMENT_FOR_SUPPORTED_POINT_TYPES(PC_PTR1, FUNC, POINT_CLOUD_POINTERS2) \
43 _CODE_FOR_CROSS_IMPLEMENTATION(PC_PTR1, POINT_CLOUD_POINTERS2.pointCloudXYZ , FUNC, POINT_CLOUD_POINTERS2.ML_PCL_TYPE_ARG) \
44 _CODE_FOR_CROSS_IMPLEMENTATION(PC_PTR1, POINT_CLOUD_POINTERS2.pointCloudXYZLNormal , FUNC, POINT_CLOUD_POINTERS2.ML_PCL_TYPE_ARG) \
45 _CODE_FOR_CROSS_IMPLEMENTATION(PC_PTR1, POINT_CLOUD_POINTERS2.pointCloudXYZRGBNormal, FUNC, POINT_CLOUD_POINTERS2.ML_PCL_TYPE_ARG) \
46 _CODE_FOR_CROSS_IMPLEMENTATION(PC_PTR1, POINT_CLOUD_POINTERS2.pointCloudXYZINormal , FUNC, POINT_CLOUD_POINTERS2.ML_PCL_TYPE_ARG)
49#define _ML_CROSS_IMPLEMENT_FOR_SUPPORTED_POINT_TYPES_CONST_REF(PC_PTR1, FUNC, POINT_CLOUD_POINTERS2) \
50 _CODE_FOR_CROSS_IMPLEMENTATION_CONST_REF(PC_PTR1, POINT_CLOUD_POINTERS2.pointCloudXYZ , FUNC, POINT_CLOUD_POINTERS2.ML_PCL_TYPE_ARG) \
51 _CODE_FOR_CROSS_IMPLEMENTATION_CONST_REF(PC_PTR1, POINT_CLOUD_POINTERS2.pointCloudXYZLNormal , FUNC, POINT_CLOUD_POINTERS2.ML_PCL_TYPE_ARG) \
52 _CODE_FOR_CROSS_IMPLEMENTATION_CONST_REF(PC_PTR1, POINT_CLOUD_POINTERS2.pointCloudXYZRGBNormal, FUNC, POINT_CLOUD_POINTERS2.ML_PCL_TYPE_ARG) \
53 _CODE_FOR_CROSS_IMPLEMENTATION_CONST_REF(PC_PTR1, POINT_CLOUD_POINTERS2.pointCloudXYZINormal , FUNC, POINT_CLOUD_POINTERS2.ML_PCL_TYPE_ARG)
56#define _ML_IMPLEMENT_FOR_SUPPORTED_POINT_TYPE_COMBINATIONS(PC_PTR_CONTAINER1, ML_PCL_TYPE_ARG, FUNC, POINT_CLOUD_POINTERS2) \
57 _ML_CROSS_IMPLEMENT_FOR_SUPPORTED_POINT_TYPES(PC_PTR_CONTAINER1.ML_PCL_TYPE_ARG, FUNC, POINT_CLOUD_POINTERS2)
60#define _ML_IMPLEMENT_FOR_SUPPORTED_POINT_TYPE_COMBINATIONS_CONST_REF(PC_PTR_CONTAINER1, ML_PCL_TYPE_ARG, FUNC, POINT_CLOUD_POINTERS2) \
61 _ML_CROSS_IMPLEMENT_FOR_SUPPORTED_POINT_TYPES_CONST_REF(PC_PTR_CONTAINER1.ML_PCL_TYPE_ARG, FUNC, POINT_CLOUD_POINTERS2)
void _MLPCLNoObjectDeleter(const T *)