00001 00009 #ifndef KBDTOTRACKER_H 00010 #define KBDTOTRACKER_H 00011 00012 #include "IS3DCommon.H" 00013 #include "Fsa.H" 00014 #include "FsaMgr.H" 00015 #include "TrackerDevice.H" 00016 00017 namespace IS3D { 00018 00019 class KbdToTracker : public TrackerDevice 00020 { 00021 public: 00022 KbdToTracker(const std::string &nameForEvents, 00023 CoordinateFrame initialFrame=CoordinateFrame()); 00024 00025 static KbdToTracker* fromConfigVals(const std::string &devname); 00026 00027 virtual ~KbdToTracker(); 00028 00029 void keyLeft(EventRef e); 00030 void keyRight(EventRef e); 00031 void keyUp(EventRef e); 00032 void keyDown(EventRef e); 00033 void keyIn(EventRef e); 00034 void keyOut(EventRef e); 00035 /*** 00036 void keyRotXPos(EventRef e); 00037 void keyRotXNeg(EventRef e); 00038 void keyRotYPos(EventRef e); 00039 void keyRotYNeg(EventRef e); 00040 void keyRotZPos(EventRef e); 00041 void keyRotZNeg(EventRef e); 00042 **/ 00043 00044 // implementations of methods inherited from TrackerDevice 00045 int getNumTrackers() { return 1; } 00046 std::string getEventName(int trackerNumber) { return _eName; } 00047 void setDeviceCalibrationSample(CoordinateFrame sample) {} 00048 void setTrackerOffsetCalibrationSample(int trackerNum,CoordinateFrame sample) {} 00049 CoordinateFrame getDeviceCalibrationSample() { return CoordinateFrame(); } 00050 CoordinateFrame getTrackerOffsetCalibrationSample(int trackerNum) { 00051 return CoordinateFrame(); 00052 } 00053 void setReportDeviceRegisteredData(bool b) {} 00054 void setReportTrackerRegisteredData(bool b) {} 00055 bool getReportDeviceRegisteredData() { return true; } 00056 bool getReportTrackerRegisteredData() { return true; } 00057 00058 protected: 00059 FsaRef _fsa; 00060 Matrix3 _rot; 00061 Vector3 _trans; 00062 std::string _eName; 00063 double _offset; 00064 }; 00065 00066 } // end namespace 00067 00068 #endif