-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathworkerthread.h
More file actions
36 lines (32 loc) · 1.03 KB
/
Copy pathworkerthread.h
File metadata and controls
36 lines (32 loc) · 1.03 KB
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
#ifndef WORKERTHREAD_H
#define WORKERTHREAD_H
#include <QThread>
#include <QReadWriteLock>
#include <QWaitCondition>
#include "data.h"
class WorkerThread : public QThread
{
Q_OBJECT
public:
WorkerThread(QObject *parent = nullptr, QReadWriteLock *locker = nullptr, QWaitCondition *condition = nullptr, int station = 0);
void run() override;
double convection(int k, int l, int i, int j);
double internal_convection(int k, int l, int i, int j);
double ember_radiation(int k, int l, int i, int j);
double radiation_loss(int k, int l);
double flame_radiation(int k, int l, int i, int j);
void requestStop();
signals:
void calculusEnded();
void done();
private:
bool stopRequested;
QReadWriteLock* lock;
QWaitCondition* cond;
double grid_energy[Data::grid_size][Data::grid_size] ={{0}};
int grid_state[Data::grid_size][Data::grid_size] = {{0}};
int grid_to_burn[Data::grid_size][Data::grid_size] = {{0}};
int action;
int* data[][Data::grid_size];
};
#endif // WORKERTHREAD_H