examples/sensors/panoramaWithSense/rotationcontroller.cpp
changeset 5 603d3f8b6302
equal deleted inserted replaced
3:e4ebb16b39ea 5:603d3f8b6302
       
     1 #include "rotationcontroller.h"
       
     2 
       
     3 
       
     4 RotationController::RotationController(): InputController(), m_factor(0.5){
       
     5     setDataRate(&m_rotationSensor);
       
     6     doStart();
       
     7 }
       
     8 
       
     9 RotationController::~RotationController(){
       
    10     doStop();
       
    11 }
       
    12 
       
    13 
       
    14 void RotationController::update()
       
    15 {
       
    16     qreal pitch = m_rotationSensor.reading()->x();
       
    17     qreal roll= m_rotationSensor.reading()->y();
       
    18 
       
    19     m_dx = - m_factor* roll;
       
    20     m_dy =  - m_factor * pitch;
       
    21 
       
    22     updateCoordinates();
       
    23 }
       
    24 
       
    25 
       
    26 void RotationController::updateCoordinates(){
       
    27     m_x +=m_dx;
       
    28     m_y +=m_dy;
       
    29 }
       
    30 
       
    31 
       
    32 
       
    33 
       
    34 void RotationController::doStart(){
       
    35     m_rotationSensor.start();
       
    36     connect(&m_rotationSensor, SIGNAL(readingChanged()), this, SLOT(update()));
       
    37 
       
    38 }
       
    39 
       
    40 
       
    41 void RotationController::doStop(){
       
    42     m_rotationSensor.disconnect();
       
    43     m_rotationSensor.stop();
       
    44 
       
    45 }