00001 #include <pcl/apps/cloud_composer/transform_clouds.h> 00002 #include <pcl/apps/cloud_composer/items/cloud_item.h> 00003 00004 #include <pcl/filters/extract_indices.h> 00005 #include <pcl/point_types.h> 00006 00007 #include <pcl/apps/cloud_composer/impl/transform_clouds.hpp> 00008 00009 pcl::cloud_composer::TransformClouds::TransformClouds (QMap <QString, vtkSmartPointer<vtkMatrix4x4> > transform_map, QObject* parent) 00010 : ModifyItemTool (0, parent) 00011 , transform_map_ (transform_map) 00012 { 00013 00014 } 00015 00016 pcl::cloud_composer::TransformClouds::~TransformClouds () 00017 { 00018 00019 } 00020 00021 QList <pcl::cloud_composer::CloudComposerItem*> 00022 pcl::cloud_composer::TransformClouds::performAction (ConstItemList input_data, PointTypeFlags::PointType type) 00023 { 00024 if (type != PointTypeFlags::NONE) 00025 { 00026 switch (type) 00027 { 00028 case (PointTypeFlags::XYZ): 00029 return this->performTemplatedAction<pcl::PointXYZ> (input_data); 00030 case (PointTypeFlags::XYZ | PointTypeFlags::RGB): 00031 return this->performTemplatedAction<pcl::PointXYZRGB> (input_data); 00032 case (PointTypeFlags::XYZ | PointTypeFlags::RGBA): 00033 return this->performTemplatedAction<pcl::PointXYZRGBA> (input_data); 00034 } 00035 } 00036 00037 QList <CloudComposerItem*> output; 00038 00039 qCritical () << "Transform requires templated types!"; 00040 00041 return output; 00042 }