--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/qtmobility/examples/sensors/panorama/rotationcontroller.cpp Fri Jun 11 14:26:25 2010 +0300
@@ -0,0 +1,40 @@
+#include "inputcontroller.h"
+#include "rotationcontroller.h"
+#include <QTime>
+#include <QDebug>
+#include <math.h>
+
+
+RotationController::RotationController( ): TimedController(), m_factor(0.5){}
+
+void RotationController::startSensor()
+{
+ m_rotationSensor.connectToBackend();
+ m_rotationSensor.start();
+ connect(&m_rotationSensor, SIGNAL(readingChanged()), this, SLOT(update()));
+
+ int dataRate = m_rotationSensor.dataRate();
+ m_interval = dataRate>0?1000/m_rotationSensor.dataRate():20;
+}
+
+void RotationController::stopSensor(){ m_rotationSensor.stop();}
+
+
+void RotationController::update()
+{
+ qreal pitch = m_rotationSensor.reading()->x();
+ qreal roll= m_rotationSensor.reading()->y();
+
+ m_dx = - m_factor* roll;
+ m_dy = - m_factor * pitch;
+
+ updateCoordinates();
+}
+
+
+void RotationController::updateCoordinates(){
+ m_x +=m_dx * m_delay / m_interval;
+ m_y +=m_dy * m_delay / m_interval;
+}
+
+