examples/sensors/panoramaWithSense/rotationcontroller.cpp
changeset 5 603d3f8b6302
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/examples/sensors/panoramaWithSense/rotationcontroller.cpp	Mon Oct 04 01:37:06 2010 +0300
@@ -0,0 +1,45 @@
+#include "rotationcontroller.h"
+
+
+RotationController::RotationController(): InputController(), m_factor(0.5){
+    setDataRate(&m_rotationSensor);
+    doStart();
+}
+
+RotationController::~RotationController(){
+    doStop();
+}
+
+
+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_y +=m_dy;
+}
+
+
+
+
+void RotationController::doStart(){
+    m_rotationSensor.start();
+    connect(&m_rotationSensor, SIGNAL(readingChanged()), this, SLOT(update()));
+
+}
+
+
+void RotationController::doStop(){
+    m_rotationSensor.disconnect();
+    m_rotationSensor.stop();
+
+}