-
Notifications
You must be signed in to change notification settings - Fork 0
/
wizard.cpp
executable file
·65 lines (50 loc) · 1.57 KB
/
wizard.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
#include "wizard.h"
#include "wizardpages.h"
#include "algorithm/curve.h"
#include "algorithm/minimosquadrados.h"
#include <QDebug>
Wizard::Wizard(QWidget *parent, std::vector<std::vector<double> > *all_coef, std::vector<double> *all_coef_corr, std::vector<Curve>* curves)
: QWizard(parent)
{
all_coeficientes = all_coef;
all_coef_correlacao = all_coef_corr;
_curves = curves;
setAttribute(Qt::WA_DeleteOnClose);
configInitialPage = new ConfigInitialPage;
addPage(new IntroPage);
addPage(configInitialPage);
setWindowTitle(tr("Mínimos Quadrados"));
setWizardStyle(QWizard::ClassicStyle);
}
Wizard::~Wizard()
{
}
void Wizard::accept()
{
int graupolin = configInitialPage->getGrauPolin();
std::vector<Curve> curves = configInitialPage->getCurves();
if (!curves.empty())
{
all_coeficientes->clear();
all_coef_correlacao->clear();
_curves->clear();
try {
for (unsigned int i = 0; i < curves.size(); i++)
{
_curves->push_back(curves[i]);
MinimosQuadrados minQuad;
minQuad.setGrauPolin(graupolin);
Curve crv = curves[i];
minQuad.setExperimentalData(crv);
std::vector<double> c(graupolin+1);
c = minQuad.calcular();
all_coeficientes->push_back(c);
all_coef_correlacao->push_back(minQuad.getCoefCorrelacao());
}
} catch (std::string e)
{
qDebug() << "ERRO";
}
}
QDialog::accept();
}