/src/ois/includes/iphone/iPhoneAccelerometer.h

https://bitbucket.org/cabalistic/ogredeps/ · C Header · 50 lines · 31 code · 14 blank · 5 comment · 0 complexity · 3bfa8943af38a28854d39aa4313ab040 MD5 · raw file

  1. #ifndef OIS_iPhoneAccelerometer_H
  2. #define OIS_iPhoneAccelerometer_H
  3. #include "OISJoystick.h"
  4. #include "iphone/iPhonePrereqs.h"
  5. #import <UIKit/UIKit.h>
  6. @class iPhoneAccelerometerDelegate;
  7. class JoyStickState;
  8. namespace OIS
  9. {
  10. class iPhoneAccelerometer : public JoyStick
  11. {
  12. public:
  13. iPhoneAccelerometer(InputManager* creator, bool buffered);
  14. virtual ~iPhoneAccelerometer();
  15. /** @copydoc Object::setBuffered */
  16. virtual void setBuffered(bool buffered);
  17. void setUpdateInterval(float interval) {
  18. mUpdateInterval = interval;
  19. [[UIAccelerometer sharedAccelerometer] setUpdateInterval:(1.0f / mUpdateInterval)];
  20. }
  21. Vector3 getAccelerometerVector3(void) { return mState.mVectors[0]; }
  22. /** @copydoc Object::capture */
  23. virtual void capture();
  24. /** @copydoc Object::queryInterface */
  25. virtual Interface* queryInterface(Interface::IType type) {return 0;}
  26. /** @copydoc Object::_initialize */
  27. virtual void _initialize();
  28. void didAccelerate(UIAcceleration *acceleration);
  29. protected:
  30. iPhoneAccelerometerDelegate *accelerometerDelegate;
  31. /** The update frequency of the accelerometer. Represented in times per second. */
  32. float mUpdateInterval;
  33. Vector3 mTempState;
  34. };
  35. }
  36. #endif // OIS_iPhoneAccelerometer_H