32 lines
1.0 KiB
C++
32 lines
1.0 KiB
C++
#include <QFile>
|
|
#include <sstream>
|
|
#include "Renderable_Core.h"
|
|
#include "psc_global_include/Fail_Fast.h"
|
|
#include "psc_global_include/export.h"
|
|
namespace YSG {
|
|
QVector<QRgb> get_turbo_color_gradient() {
|
|
QVector<QRgb> colors;
|
|
QFile file(":/turbo.colorMap");
|
|
if (!file.open(QIODevice::ReadOnly)) {
|
|
std::ostringstream oss;
|
|
oss << file.errorString().toStdString() << " getTurboColorGradient2: Failed to open file" << LOG_POS_SIMPLE << std::endl;
|
|
Psc::fail_fast(oss.str());
|
|
return colors;
|
|
}
|
|
QByteArray fileData = file.readAll();
|
|
file.close();
|
|
if (fileData.size() != 768) {
|
|
qDebug() << "getTurboColorGradient2: File size is not as expected (768 bytes), got" << fileData.size();
|
|
return colors;
|
|
}
|
|
colors.reserve(256);
|
|
for (int i = 0; i < 256; ++i) {
|
|
uchar r = fileData[i * 3];
|
|
uchar g = fileData[i * 3 + 1];
|
|
uchar b = fileData[i * 3 + 2];
|
|
colors.push_back(qRgb(r, g, b));
|
|
}
|
|
return colors;
|
|
}
|
|
} // namespace YSG
|