rock_widget_collection  0.1
Public Slots | Public Member Functions | List of all members
ArtificialHorizon Class Reference

#include <artificialhorizon.h>

Inherits QWidget.

Public Slots

void setDataDir (QString const &data_dir)
 
ArtificialHorizonnewInstance ()
 
void setRollAngle (double myvalue)
 
void setPitchAngle (double myval)
 

Public Member Functions

 ArtificialHorizon (QWidget *parent=NULL)
 
 ~ArtificialHorizon ()
 
void paintEvent (QPaintEvent *)
 
void resizeEvent (QResizeEvent *event)
 

Detailed Description

Definition at line 8 of file artificialhorizon.h.

Constructor & Destructor Documentation

◆ ArtificialHorizon()

ArtificialHorizon::ArtificialHorizon ( QWidget *  parent = NULL)

Definition at line 9 of file artificialhorizon.cc.

9  :
10 QWidget(parent)
11 {
12  rollangle = 0;
13  pitchangle = 0;
14  setDataDir(":/");
15 }
void setDataDir(QString const &data_dir)

◆ ~ArtificialHorizon()

ArtificialHorizon::~ArtificialHorizon ( )

Definition at line 89 of file artificialhorizon.cc.

90 {
91 
92 }

Member Function Documentation

◆ newInstance

ArtificialHorizon * ArtificialHorizon::newInstance ( )
slot

Definition at line 31 of file artificialhorizon.cc.

32 {
33  return new ArtificialHorizon();
34 }
ArtificialHorizon(QWidget *parent=NULL)

◆ paintEvent()

void ArtificialHorizon::paintEvent ( QPaintEvent *  )

Definition at line 52 of file artificialhorizon.cc.

53 {
54  QPoint point=QPoint(0,0);
55  QTransform transform;
56  transform.translate(background.width()/2.0,background.height()/2.0);
57  transform.rotate(-rollangle*180.0/M_PI);
58  transform.translate(0,-pitchangle*180.0/M_PI*3.5);
59  transform.translate(-background.width()/2.0,-background.height()/2.0);
60 
61  QPainter painter(this);
62  painter.save(); // save the current painter settings before changing them
63  painter.setClipRect(0,0,background.width(),background.height());
64 
65  painter.setTransform(transform);
66  painter.translate(0,-background.height()/2.0-background.height()*0.0328947368421);
67  painter.drawImage(0,0, rotate); // draw the stationary
68 
69  transform.translate(background.width()/2.0,background.height()/2.0);
70  transform.translate(0,pitchangle*180.0/M_PI*3.5);
71  transform.translate(-background.width()/2.0,-background.height()/2.0);
72  painter.setTransform(transform);
73 
74  painter.drawImage(0,0, dial); // draw the stationary
75  painter.restore(); // restore the previous painter settings
76  painter.drawImage( point,stationary);
77  painter.end();
78 }

◆ resizeEvent()

void ArtificialHorizon::resizeEvent ( QResizeEvent *  event)

Definition at line 80 of file artificialhorizon.cc.

80  {
81  QWidget::resizeEvent(event);
82 
83  background = background_o.scaled(size(),Qt::KeepAspectRatio);
84  stationary = stationary_o.scaled(size(),Qt::KeepAspectRatio);
85  dial = dial_o.scaled(size(),Qt::KeepAspectRatio);
86  rotate = rotate_o.scaledToWidth(dial.width()*1.01315789474);
87 }

◆ setDataDir

void ArtificialHorizon::setDataDir ( QString const &  data_dir)
slot

Definition at line 17 of file artificialhorizon.cc.

18 {
19  stationary_o = QImage(data_dir + "stationary.svg");
20  background_o = QPixmap(stationary_o.size());
21  rotate_o = QImage(data_dir + "rotate.svg");
22  dial_o = QImage(data_dir + "dial.svg");
23  background = background_o;
24  stationary = stationary_o;
25  rotate = rotate_o;
26  dial = dial_o;
27 
28 
29 }

◆ setPitchAngle

void ArtificialHorizon::setPitchAngle ( double  myval)
slot

Definition at line 44 of file artificialhorizon.cc.

45 {
46  if (myvalue!=pitchangle)
47  {
48  pitchangle = myvalue;
49  this->update();
50  }
51 }

◆ setRollAngle

void ArtificialHorizon::setRollAngle ( double  myvalue)
slot

Definition at line 36 of file artificialhorizon.cc.

37 {
38  if (myvalue!=rollangle)
39  {
40  rollangle = myvalue;
41  this->update();
42  }
43 }

The documentation for this class was generated from the following files: