00001
00002
00003
00004
00005
00018 #ifndef __SIGN2DINTERACTORSTYLE_H
00019 #define __SIGN2DINTERACTORSTYLE_H
00020
00021 #include <vector>
00022
00023 #include <vtkInteractorStyleImage.h>
00024
00025 #include <SignDLL.h>
00026
00027 class Sign2DViewer;
00028
00029
00030 using namespace std;
00031
00032 class SIGN_EXPORT Sign2DInteractorStyle : public vtkInteractorStyleImage
00033 {
00034 public:
00035
00036 vtkTypeRevisionMacro(Sign2DInteractorStyle,vtkInteractorStyle);
00038 static Sign2DInteractorStyle *New();
00039
00041 virtual void OnLeftButtonDown();
00042
00044 virtual void OnLeftButtonUp();
00045
00047 virtual void OnMiddleButtonDown();
00048
00050 virtual void OnMiddleButtonUp();
00051
00053 virtual void OnRightButtonDown();
00054
00056 virtual void OnRightButtonUp();
00057
00059 virtual void OnMouseMove();
00060
00062 void Set2DViewer(Sign2DViewer* viewer);
00063
00065 Sign2DViewer* Get2DViewer();
00066
00067 void BlockMove() {block_move=true;}
00068 void UnBlockMove() {block_move=false;}
00069
00070 protected:
00071 Sign2DInteractorStyle();
00072 ~Sign2DInteractorStyle();
00073
00074 private:
00075 Sign2DViewer* viewer;
00076 bool mouseButtonPressed;
00077 bool block_move;
00078 };
00079
00080 #endif