Newer
Older
Xavier Corbillon
committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include "simul/Graph.h"
#include "cstdlib"
#include "time.h"
#include <QWidget>
#include <iostream>
#include <QPainter>
#include "asservissement.h"
Graph::Graph(QWidget* widget) : QWidget(widget), vAngular(1000), vLinear(1000)
{
dt=0;
setAutoFillBackground(true);
QPalette p = palette();
p.setColor(QPalette::Window,QColor(Qt::darkGray));
setPalette(p);
}
Graph::~Graph()
{
}
void Graph::update(int dt)
{
this->dt = dt;
repaint();
}
void Graph::paintEvent(QPaintEvent* evt)
{
int diameter = 1;
QPainter p(this);
p.setRenderHints(QPainter::Antialiasing,true);
p.setWindow(QRect(0,0,gWidth,gHeight));
p.setWorldMatrixEnabled(true);
vAngular.push_back(Asservissement::asservissement->getAngularSpeed());
vLinear.push_back(Asservissement::asservissement->getLinearSpeed());
p.fillRect(0,0,gWidth,gHeight,QColor(255,255,255));
p.setPen(QColor(Qt::black));
for (int i=0; i+1 < vLinear.size(); i++)
{
p.drawLine(i,-(gHeight/4)*(vLinear[i]/VITESSE_LINEAIRE_MAX)+gHeight/4,i+1,-(gHeight/4)*(vLinear[i+1]/VITESSE_LINEAIRE_MAX)+gHeight/4);
Guillaume Buret
committed
//p.drawEllipse(QRectF(i -diameter / 2.0, (gHeight/2)*(vLinear[i]/VITESSE_LINEAIRE_MAX)+gHeight/2 -diameter / 2.0, diameter, diameter));
Xavier Corbillon
committed
}
for (int i=0; i+1 < vLinear.size(); i++)
{
p.drawLine(i,-(gHeight/4)*(vAngular[i]/VITESSE_ANGULAIRE_MAX)+3*gHeight/4,i+1,-(gHeight/4)*(vAngular[i+1]/VITESSE_ANGULAIRE_MAX)+3*gHeight/4);
Guillaume Buret
committed
//p.drawEllipse(QRectF(i -diameter / 2.0, (gHeight/2)*(vLinear[i]/VITESSE_LINEAIRE_MAX)+gHeight/2 -diameter / 2.0, diameter, diameter));