-
Notifications
You must be signed in to change notification settings - Fork 0
/
Robo.cpp
68 lines (53 loc) · 1.12 KB
/
Robo.cpp
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
// Robo.cpp
#define _USE_MATH_DEFINES
#include "Robo.h"
#include <string>
using std::string;
#include <fstream>
using std::ofstream;
#include <iostream>
using std::cout;
using std::endl;
#include <cmath> // Para usar M_PI_2 (número pi/2)
Robo::Robo(
string _robo,
double _raioRoda,
double _largura,
string arquivoEscrita)
: robo(_robo),
raioRoda(_raioRoda),
largura(_largura),
velocidadeLinearX(.0),
velocidadeLinearY(.0),
velocidadeAngular(.0)
{
escrevePosicao.open(arquivoEscrita.c_str());
posicao[POS_X] = .0;
posicao[POS_Y] = .0;
posicao[POS_O] = M_PI_2; // M_PI_2 é o mesmo que pi/2
}
std::string Robo::getRobo() {
return robo;
}
double* Robo::getPosicao() {
cout << "\t<Robo::getPosicao>" << endl;
return posicao;
}
double Robo::getVelocidadeLinearX() {
return velocidadeLinearX;
}
double Robo::getVelocidadeLinearY() {
return velocidadeLinearY;
}
double Robo::getVelocidadeAngular() {
return velocidadeAngular;
}
void Robo::print() {
double *p = getPosicao();
cout
<< "[" << robo << "] "
<< "Posição: X(" << p[POS_X]
<< "), Y(" << p[POS_Y]
<< "), O(" << p[POS_O]
<< ")" << endl;
}