-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsrcmodel.cpp
42 lines (37 loc) · 1.26 KB
/
srcmodel.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
#include "srcmodel.h"
SrcModel::SrcModel()
{
}
void SrcModel::addSrcData(QString dataString) {
int id = dataString.section(":",4,4).toInt();
double staticT = dataString.section(":",11,11).toDouble();
double staticEn = dataString.section(":",12,12).toDouble();
double dynT = dataString.section(":",13,13).toDouble();
double dynEn = dataString.section(":",14,14).toDouble();
srcData.insertMulti(id, new Data(dynEn, staticEn, dynT, staticT, id));
addAssociation(id, dataString.section(":",6,6).toInt());
}
void SrcModel::addAssociation(int id, int blockid) {
QList<int> list;
if(bbList.contains(id)) {
list = bbList.value(id);
}
list.append(blockid);
bbList.insert(id, list);
}
QList<int> SrcModel::getBb(int line) {
QList<int> list;
list = bbList.value(line);
return list;
}
Data* SrcModel::getData(int line){
double staticT = 0, staticEn = 0, dynT = 0, dynE = 0;
QList<Data *> dataList = srcData.values(line);
for(int i=0;i<dataList.size();i++) {
staticT += dataList.at(i)->getStaticT();
staticEn += dataList.at(i)->getStaticE();
dynT += dataList.at(i)->getDynamicT();
dynE += dataList.at(i)->getDynamicE();
}
return new Data(dynE, staticEn, dynT, staticT, line);
}