00001 #ifndef MITK_WIIMOTEVTKCAMERACONTROLLER_H 00002 #define MITK_WIIMOTEVTKCAMERACONTROLLER_H 00003 00004 #include "mitkCameraController.h" 00005 #include "mitkInputDevicesExports.h" 00006 00007 #include "mitkAction.h" 00008 #include "mitkEvent.h" 00009 00010 #include "mitkWiiMoteIREvent.h" 00011 #include "mitkWiiMoteCalibrationEvent.h" 00012 00013 namespace mitk 00014 { 00015 class mitkInputDevices_EXPORT WiiMoteVtkCameraController : public CameraController 00016 { 00017 00018 public: 00019 00020 //SmartPointer Macros 00021 mitkClassMacro(WiiMoteVtkCameraController, CameraController); 00022 itkNewMacro(Self); 00023 00024 protected: 00025 00026 WiiMoteVtkCameraController(); 00027 ~WiiMoteVtkCameraController(); 00028 00029 private: 00030 00031 // head tracking 00032 bool OnWiiMoteInput(mitk::Action* a, const mitk::StateEvent* e); 00033 bool ResetView(mitk::Action* a, const mitk::StateEvent* e); 00034 00035 bool m_ClippingRangeIsSet; 00036 00037 // calibration 00038 bool m_Calibrated; 00039 double m_SensitivityXMAX; 00040 double m_SensitivityXMIN; 00041 double m_SensitivityYMAX; 00042 double m_SensitivityYMIN; 00043 double m_SensitivityX; 00044 double m_SensitivityY; 00045 00046 bool InitCalibration(mitk::Action* a, const mitk::StateEvent* e); 00047 bool Calibration(mitk::Action* a, const mitk::StateEvent* e); 00048 bool FinishCalibration(mitk::Action* a, const mitk::StateEvent* e); 00049 00050 }; // end class 00051 } // end namespace mitk 00052 #endif // MITK_WIIMOTEVTKCAMERACONTROLLER_H