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 #include <mitkGlobalInteraction.h>
00019 #include <mitkInteractionConst.h>
00020 #include <mitkVector.h>
00021
00022 #include <mitkSpaceNavigatorAddOn.h>
00023 #include <mitkSpaceNavigatorDriver.h>
00024 #include <mitkSpaceNavigatorEvent.h>
00025
00026
00027 mitk::SpaceNavigatorAddOn* mitk::SpaceNavigatorAddOn::GetInstance()
00028 {
00029
00030 SpaceNavigatorDriver* spaceNavigatorDriver = SpaceNavigatorDriver::GetInstance();
00031
00032 static SpaceNavigatorAddOn instance;
00033 return &instance;
00034 }
00035
00036
00037 void mitk::SpaceNavigatorAddOn::DeviceChange (long device, long keys, long programmableKeys)
00038 {
00039 }
00040
00041 void mitk::SpaceNavigatorAddOn::KeyDown (int keyCode)
00042 {
00043 mitk::Event* e = new mitk::Event(NULL, mitk::Type_SpaceNavigatorKeyDown, mitk::BS_LeftButton, keyCode, mitk::Key_none);
00044 mitk::StateEvent* se = new mitk::StateEvent(mitk::EIDSPACENAVIGATORKEYDOWN, e);
00045 this->ForwardEvent(se);
00046 }
00047
00048 void mitk::SpaceNavigatorAddOn::KeyUp (int keyCode)
00049 {
00050 }
00051
00052 void mitk::SpaceNavigatorAddOn::SensorInput( mitk::Vector3D translation, mitk::Vector3D rotation, mitk::ScalarType angle)
00053 {
00054 mitk::SpaceNavigatorEvent* e = new mitk::SpaceNavigatorEvent(mitk::BS_NoButton, translation, rotation, angle);
00055 mitk::StateEvent* se = new mitk::StateEvent(mitk::EIDSPACENAVIGATORINPUT, e);
00056 this->ForwardEvent(se);
00057 }
00058
00059 void mitk::SpaceNavigatorAddOn::ForwardEvent(const mitk::StateEvent *e)
00060 {
00061 mitk::GlobalInteraction::GetInstance()->HandleEvent(e);
00062 }
00063
00064
00065
00066