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 SELECT_2D_TOOL_H_
00042 #define SELECT_2D_TOOL_H_
00043
00044 #include <GL/gl.h>
00045 #include <pcl/apps/point_cloud_editor/toolInterface.h>
00046 #include <pcl/apps/point_cloud_editor/localTypes.h>
00047
00048 class Select2DTool : public ToolInterface
00049 {
00050 public:
00054 Select2DTool (SelectionPtr selection_ptr, CloudPtr cloud_ptr);
00055
00057 ~Select2DTool ();
00058
00067 void
00068 start (int x, int y, BitMask modifiers, BitMask mouseButton);
00069
00077 void
00078 update (int x, int y, BitMask modifiers, BitMask mouseButton);
00079
00090 void
00091 end (int x, int y, BitMask modifiers, BitMask mouseButton);
00092
00097 bool
00098 isInSelectBox (const Point3D& pt, const GLfloat* project,
00099 const GLint* viewport) const;
00100
00103 void
00104 draw () const;
00105
00107 static const float DEFAULT_TOOL_DISPLAY_SIZE_;
00108
00110 static const float DEFAULT_TOOL_DISPLAY_COLOR_RED_;
00112 static const float DEFAULT_TOOL_DISPLAY_COLOR_GREEN_;
00114 static const float DEFAULT_TOOL_DISPLAY_COLOR_BLUE_;
00115
00116
00117 private:
00119 Select2DTool()
00120 {
00121 assert(false);
00122 }
00123
00126 void
00127 drawRubberBand (GLint* viewport) const;
00128
00133 void
00134 highlightPoints (GLint* viewport) const;
00135
00137 SelectionPtr selection_ptr_;
00138
00140 CloudPtr cloud_ptr_;
00141
00143 int origin_x_, origin_y_;
00144
00146 int final_x_, final_y_;
00147
00149 bool display_box_;
00150
00151 };
00152 #endif // SELECT_2D_TOOL_H_