Files
Rennbahn/qvectorhelper.cpp
2018-11-30 16:14:45 +01:00

133 lines
3.2 KiB
C++

#include "qvectorhelper.h"
#include <qvector.h>
int QVectorHelper::minSec1; // set by database
int QVectorHelper::minSec2; // set by database
int QVectorHelper::minSec3; // set by database
int QVectorHelper::minTrackTime; // set by database
QVectorHelper::QVectorHelper() {
}
int QVectorHelper::getCurTime(const QVector<int> x) {
if (x.size() >= 3) {
return x.at(0) + x.at(1) + x.at(2);
}
else {
return 9999;
}
}
int QVectorHelper::getMinSec1(const QVector<QVector<int>> x) {
int min = 9999;
if (x.size() > 0) {
if (x.at(0).size() >= 3) {
if (x.at(0).at(0) >= minSec1) {
min = x.at(0).at(0);
}
}
else {
return 9999;
}
}
else {
return 9999;
}
for (int i = 1; i < x.size(); i++) {
if (x.at(i).size() >= 1) {
if (x.at(i).at(0) < min) {
if (x.at(i).at(0) >= minSec1) {
min = x.at(i).at(0);
}
}
}
}
return min;
}
int QVectorHelper::getMinSec2(const QVector<QVector<int>> x) {
int min = 9999;
if (x.size() > 0) {
if (x.at(0).size() >= 3) {
if (x.at(0).at(1) >= minSec2) {
min = x.at(0).at(1);
}
}
else {
return 9999;
}
}
else {
return 9999;
}
for (int i = 1; i < x.size(); i++) {
if (x.at(0).size() >= 2) {
if (x.at(i).at(1) < min) {
if (x.at(0).at(1) >= minSec2) {
min = x.at(i).at(1);
}
}
}
}
return min;
}
int QVectorHelper::getMinSec3(const QVector<QVector<int>> x) {
int min = 9999;
if (x.size() > 0) {
if (x.at(0).size() >= 3) {
if (x.at(0).at(2) >= minSec3) {
min = x.at(0).at(2);
}
}
else {
return 9999;
}
}
else {
return 9999;
}
for (int i = 1; i < x.size(); i++) {
if (x.at(i).size() >= 3) {
if (x.at(i).at(2) < min) {
if (x.at(0).at(2) >= minSec3) {
min = x.at(i).at(2);
}
}
}
}
return min;
}
int QVectorHelper::getMin(const QVector<QVector<int>> x) {
int min = 9999;
if (x.size() > 0) {
if (x.at(0).size() >= 3) {
if (getCurTime(x.at(0)) >= minTrackTime &&
x.at(0).at(0) > QVectorHelper::minSec1 &&
x.at(0).at(1) > QVectorHelper::minSec2 &&
x.at(0).at(2) > QVectorHelper::minSec3) {
min = getCurTime(x.at(0));
}
}
else {
return 9999;
}
}
else {
return 9999;
}
for (int i = 1; i < x.size(); i++) {
if (getCurTime(x.at(i)) < min) {
if (getCurTime(x.at(i)) >= minTrackTime &&
x.at(i).at(0) > QVectorHelper::minSec1 &&
x.at(i).at(1) > QVectorHelper::minSec2 &&
x.at(i).at(2) > QVectorHelper::minSec3) {
min = getCurTime(x.at(i));
}
}
}
return min;
}