2016-01-29 2 views
0
static pcl::PointCloud<pcl::PointXYZRGB>::Ptr extractConcaveHull(
    pcl::PointCloud<pcl::PointXYZRGB>::Ptr inputCloud, 
    double alpha 
); 

Эта функция, например. Вместо того, чтобы писать два вызова функций, один для PointXYZ и один для PointXYZRGB и один для PointXYZRGBNormal, есть способ, которым я могу использовать какой-то общий тип? Подобно объекту PointCloud, и во время компиляции он может выполнять соответственноPoint Cloud Library - Функции записи для приема нескольких типов

ответ

-2

Это должно работать (я его не тестировал).

template<typename POINT_TYPE> 
static typename pcl::PointCloud<POINT_TYPE>::Ptr 
extractConcaveHull(
    typename pcl::PointCloud<POINT_TYPE>::Ptr inputCloud, 
    double alpha 
); 

Вы также можете пройти по ссылке

template<typename POINT_TYPE> 
static void 
extractConcaveHull(
    const typename pcl::PointCloud<POINT_TYPE>::Ptr& inpCloud, 
    const typename pcl::PointCloud<POINT_TYPE>::Ptr& outCloud, 
    double alpha 
); 

Вы собираетесь должны определить Шаблонные методы в файле заголовка.

+1

тест перед ответом – buhtz

Смежные вопросы