qtmobility/examples/sensors/panorama/rotationcontroller.cpp
changeset 14 6fbed849b4f4
parent 11 06b8e2af4411
equal deleted inserted replaced
11:06b8e2af4411 14:6fbed849b4f4
     3 #include <QTime>
     3 #include <QTime>
     4 #include <QDebug>
     4 #include <QDebug>
     5 #include <math.h>
     5 #include <math.h>
     6 
     6 
     7 
     7 
     8 RotationController::RotationController( ): TimedController(), m_factor(0.5){}
     8 RotationController::RotationController(): InputController(), m_factor(0.5){
     9 
       
    10 void RotationController::startSensor()
       
    11 {
       
    12     m_rotationSensor.connectToBackend();
     9     m_rotationSensor.connectToBackend();
    13     m_rotationSensor.start();
    10     m_rotationSensor.start();
    14     connect(&m_rotationSensor, SIGNAL(readingChanged()), this, SLOT(update()));
    11     connect(&m_rotationSensor, SIGNAL(readingChanged()), this, SLOT(update()));
    15 
       
    16     int dataRate = m_rotationSensor.dataRate();
       
    17     m_interval = dataRate>0?1000/m_rotationSensor.dataRate():20;
       
    18 }
    12 }
    19 
    13 
    20 void RotationController::stopSensor(){ m_rotationSensor.stop();}
    14 RotationController::~RotationController(){
       
    15     m_rotationSensor.stop();
       
    16     disconnect(&m_rotationSensor);
       
    17 }
       
    18 
    21 
    19 
    22 
    20 
    23 void RotationController::update()
    21 void RotationController::update()
    24 {
    22 {
    25     qreal pitch = m_rotationSensor.reading()->x();
    23     qreal pitch = m_rotationSensor.reading()->x();
    31     updateCoordinates();
    29     updateCoordinates();
    32 }
    30 }
    33 
    31 
    34 
    32 
    35 void RotationController::updateCoordinates(){
    33 void RotationController::updateCoordinates(){
    36     m_x +=m_dx * m_delay / m_interval;
    34     m_x +=m_dx;
    37     m_y +=m_dy * m_delay / m_interval;
    35     m_y +=m_dy;
    38 }
    36 }
    39 
    37 
    40 
    38