00001 #ifndef VTKINTERACTORSTYLEBASEVIEW_H_
00002 #define VTKINTERACTORSTYLEBASEVIEW_H_
00003
00004
00005 #include "wxVtkBaseView.h"
00006
00007
00008
00009
00010 class InteractorStyleMaracas;
00011
00012
00013 class creaMaracasVisu_EXPORT vtkInteractorStyleBaseView : public vtkInteractorStyleImage
00014 {
00015 public:
00016 vtkInteractorStyleBaseView();
00017 ~vtkInteractorStyleBaseView();
00018 static vtkInteractorStyleBaseView *New();
00019 virtual void OnChar();
00020 virtual void OnMouseMove();
00021 virtual void OnLeftButtonDown();
00022 virtual void OnLeftButtonUp();
00023 virtual void OnMiddleButtonDown();
00024 virtual void OnMiddleButtonUp();
00025 virtual void OnRightButtonDown();
00026 virtual void OnRightButtonUp();
00027
00028 virtual void OnLeftDClick();
00029 virtual void OnRightDClick();
00030 virtual void OnMiddleDClick();
00031 virtual void OnMouseWheel();
00032
00033 virtual void TransformCoordinate(double &X, double &Y, double &Z);
00034
00035 void AddInteractorStyleMaracas(InteractorStyleMaracas* interactorStyleMaracas);
00036 void RemoveInteractorStyleMaracas(InteractorStyleMaracas* interactorStyleMaracas);
00037 void InsertInteractorStyleMaracas(int pos, InteractorStyleMaracas* interactorStyleMaracas);
00038 void CallLstInteractorStyleMaracas(int type);
00039
00040
00041
00042 wxVtkBaseView *GetWxVtk2DBaseView();
00043 wxVtkBaseView *GetWxVtk3DBaseView();
00044
00045 void SetwxVtkBaseView(wxVtkBaseView *wxvtkbaseview);
00046 void SetActiveAllInteractors(bool ok);
00047
00048 void SetRefresh_waiting();
00049 void SetParent_refresh_waiting();
00050
00051 bool GetRefresh_waiting();
00052 bool GetParent_refresh_waiting();
00053
00054
00055 void EvaluateToRefresh();
00056 void BlockRefresh();
00057 void UnBlockRefresh();
00058
00059 protected:
00060 std::vector< InteractorStyleMaracas* > _lstInteractorStyleMaracas;
00061
00062 private:
00063 bool _blockRefresh;
00064 bool _refresh_waiting;
00065 bool _parent_refresh_waiting;
00066 wxVtkBaseView *_wxvtkbaseview;
00067 };
00068
00069 #endif