Go to the documentation of this file.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
00040
00041 #ifndef CLOUD_TRANSFORM_TOOL_H_
00042 #define CLOUD_TRANSFORM_TOOL_H_
00043
00044 #include <pcl/apps/point_cloud_editor/toolInterface.h>
00045 #include <pcl/apps/point_cloud_editor/localTypes.h>
00046 #include <pcl/apps/point_cloud_editor/trackball.h>
00047
00051 class CloudTransformTool : public ToolInterface
00052 {
00053 public:
00056 CloudTransformTool (CloudPtr cloud_ptr);
00057
00059 ~CloudTransformTool ();
00060
00069 void
00070 start (int x, int y, BitMask modifiers, BitMask buttons);
00071
00090 void
00091 update (int x, int y, BitMask modifiers, BitMask buttons);
00092
00097 void
00098 end (int, int, BitMask, BitMask)
00099 {
00100 }
00101
00103 void
00104 draw() const
00105 {
00106 }
00107
00108 private:
00109
00111 void
00112 getTranslateMatrix (int dx, int dy, float* matrix);
00113
00115 void
00116 getZTranslateMatrix (int dy, float* matrix);
00117
00119 void
00120 getScaleMatrix (int dy, float* matrix);
00121
00124 float transform_matrix_[MATRIX_SIZE];
00125
00127 CloudPtr cloud_ptr_;
00128
00130 TrackBall trackball_;
00131
00133 int x_, y_;
00134
00137 float scale_factor_;
00138
00141 float translate_factor_;
00142
00144 static const float DEFAULT_SCALE_FACTOR_;
00145
00147 static const float DEFAULT_TRANSLATE_FACTOR_;
00148 };
00149 #endif //CLOUD_TRANSFORM_TOOL_H_