00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 00017 00018 00019 00020 00021 00022 00023 00024 00025 00026 00027 00028 00029 00030 00031 00032 00033 00034 00035 00042 00043 #ifndef DENOISE_COMMAND_H_ 00044 #define DENOISE_COMMAND_H_ 00045 00046 #include <pcl/apps/point_cloud_editor/command.h> 00047 #include <pcl/apps/point_cloud_editor/localTypes.h> 00048 #include <pcl/apps/point_cloud_editor/selection.h> 00049 #include <pcl/apps/point_cloud_editor/copyBuffer.h> 00050 00051 class DenoiseCommand : public Command 00052 { 00053 public: 00059 DenoiseCommand (SelectionPtr selection_ptr, CloudPtr cloud_ptr, 00060 float mean, float threshold) 00061 : selection_ptr_(selection_ptr), cloud_ptr_(cloud_ptr), mean_(mean), 00062 threshold_(threshold), removed_indices_(cloud_ptr) 00063 { 00064 } 00065 00067 ~DenoiseCommand () 00068 { 00069 } 00070 00071 protected: 00073 void 00074 execute (); 00075 00077 void 00078 undo (); 00079 00080 private: 00082 DenoiseCommand () : removed_indices_(CloudPtr()) 00083 { 00084 } 00085 00087 DenoiseCommand (const DenoiseCommand&) 00088 : removed_indices_(CloudPtr()) 00089 { 00090 assert(false); 00091 } 00092 00094 DenoiseCommand& 00095 operator= (const DenoiseCommand&) 00096 { 00097 assert(false); return (*this); 00098 } 00099 00101 SelectionPtr selection_ptr_; 00102 00104 CloudPtr cloud_ptr_; 00105 00107 float mean_; 00108 00110 float threshold_; 00111 00113 CopyBuffer removed_points_; 00114 00116 Selection removed_indices_; 00117 }; 00118 00119 #endif // DENOISE_COMMAND_H_