diff -r e4ebb16b39ea -r 603d3f8b6302 examples/sensors/panoramaWithSense/rotationcontroller.cpp --- /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(); + +}