equal
deleted
inserted
replaced
|
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 } |