1 #include <pcl/apps/cloud_composer/transform_clouds.h> 2 #include <pcl/apps/cloud_composer/items/cloud_item.h> 3 4 #include <pcl/point_types.h> 5 6 #include <pcl/apps/cloud_composer/impl/transform_clouds.hpp> 7 TransformClouds(QMap<QString,vtkSmartPointer<vtkMatrix4x4>> transform_map,QObject * parent)8pcl::cloud_composer::TransformClouds::TransformClouds (QMap <QString, vtkSmartPointer<vtkMatrix4x4> > transform_map, QObject* parent) 9 : ModifyItemTool (nullptr, parent) 10 , transform_map_ (std::move(transform_map)) 11 { 12 13 } 14 ~TransformClouds()15pcl::cloud_composer::TransformClouds::~TransformClouds () 16 { 17 18 } 19 20 QList <pcl::cloud_composer::CloudComposerItem*> performAction(ConstItemList input_data,PointTypeFlags::PointType type)21pcl::cloud_composer::TransformClouds::performAction (ConstItemList input_data, PointTypeFlags::PointType type) 22 { 23 if (type != PointTypeFlags::NONE) 24 { 25 switch ((std::uint8_t) type) 26 { 27 case (PointTypeFlags::XYZ): 28 return this->performTemplatedAction<pcl::PointXYZ> (input_data); 29 case (PointTypeFlags::XYZ | PointTypeFlags::RGB): 30 return this->performTemplatedAction<pcl::PointXYZRGB> (input_data); 31 case (PointTypeFlags::XYZ | PointTypeFlags::RGBA): 32 return this->performTemplatedAction<pcl::PointXYZRGBA> (input_data); 33 } 34 } 35 36 QList <CloudComposerItem*> output; 37 38 qCritical () << "Transform requires templated types!"; 39 40 return output; 41 } 42