00001 /* 00002 * SampleController.hpp 00003 * 00004 * Created on: Mar 4, 2012 00005 * Author: mriedel 00006 */ 00007 00008 #ifndef SAMPLECONTROLLER_HPP_ 00009 #define SAMPLECONTROLLER_HPP_ 00010 00011 #include <telekyb_defines/telekyb_defines.hpp> 00012 #include <tk_haptics_base/HapticDeviceController.hpp> 00013 00014 #include <telekyb_base/Time.hpp> 00015 00016 using namespace TELEKYB_NAMESPACE; 00017 00018 namespace telekyb_haptic { 00019 00020 class SampleController : public HapticDeviceController { 00021 protected: 00022 Timer frequencyTimer; 00023 00024 public: 00025 SampleController(); 00026 virtual ~SampleController(); 00027 00028 // Identifier (e.g. for NodeHandle) 00029 void setIdentifier(const std::string& identifier); 00030 00031 // Get's specific Axes mapping, Set if needed 00032 void setAxesMapping(HapticAxesMapping& xAxis, HapticAxesMapping& yAxis, HapticAxesMapping& zAxis); 00033 00034 // Get the Range of each axes 00035 void setAxesRange(const Position3D& minValues, const Position3D& maxValues); 00036 00037 void willEnterSpinLoop(); 00038 00039 // has to be fast and should not slow down the loop 00040 void loopCB(const HapticOuput& output, HapticInput& input); 00041 00042 void didLeaveSpinLoop(); 00043 }; 00044 00045 } 00046 00047 #endif /* SAMPLECONTROLLER_HPP_ */