68 lines
1.9 KiB
C++
68 lines
1.9 KiB
C++
#ifndef PAINTQWIDGET_H
|
|
#define PAINTQWIDGET_H
|
|
|
|
#include <QWidget>
|
|
#include <QImage>
|
|
#include <QPainter>
|
|
#include <qmath.h>
|
|
#include <QMouseEvent>
|
|
#include <QVector>
|
|
#include <iostream>
|
|
#include "solver.h"
|
|
#include "qcustomplot.h"
|
|
|
|
class PaintQWidget : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit PaintQWidget(QWidget *parent = 0);
|
|
QVector<dataSet> hist;
|
|
|
|
|
|
private slots:
|
|
|
|
void drawAll(float c1, float c2, float c3, float c4, float c5, float sigC1, float sigC2, float sigC3, float sigC4, float sigC5,
|
|
float e, float sigE, float sigX0, float delX0, float sigX, float Xopt, int popSize, int maxSteps, int N,
|
|
int wgt_type, QCustomPlot* pPlot, int count, int modelCount, int model_num);
|
|
void setIters(int flag, int iter);
|
|
void setHistory(QVector<dataSet> history, int iters);
|
|
void drawSelectedModel(int wgt_type, QCustomPlot* pPlot, int model_num);
|
|
void setItersForProgressBar(int iters);
|
|
|
|
signals:
|
|
void sendHistoryToPrint(QVector<dataSet> history);
|
|
void resentItersToProgressBar(int iters);
|
|
|
|
private:
|
|
void paintEvent(QPaintEvent *);
|
|
|
|
void solveModel(int x0, int y0, double a, double b, double c, double d, double h, int t);
|
|
void draw(QCustomPlot *customPlot, int wgt_type, int model_num);
|
|
|
|
QVector<double> withFeed;
|
|
QVector<double> withoutFeed;
|
|
|
|
QVector<double> eMeans;
|
|
QVector<double> fMeans;
|
|
QVector<double> c2Means;
|
|
QVector<double> individ;
|
|
QVector<double> individFeed;
|
|
|
|
|
|
int newIters;
|
|
int itersFlag;
|
|
|
|
double maxWith;
|
|
double maxWithout;
|
|
QVector<double> xVals;
|
|
QImage image;
|
|
|
|
int maxIters;
|
|
int iters;
|
|
Solver solver;
|
|
int runCount;
|
|
};
|
|
|
|
#endif // PAINTQWIDGET_H
|