summaryrefslogtreecommitdiffstats
path: root/examples/datavisualization/volumetric
diff options
context:
space:
mode:
authorJarek Kobus <jaroslaw.kobus@qt.io>2020-06-24 10:25:01 +0200
committerJarek Kobus <jaroslaw.kobus@qt.io>2020-06-25 10:11:51 +0200
commit3c7d4de151d0d87b687644381c5d8aaef06f21b2 (patch)
tree12c688048acac5f817b68dfbef088544a8ae946a /examples/datavisualization/volumetric
parentfcb44309e4cd228245d310bdbd622e7a2ff98283 (diff)
Use QList instead of QVector
Task-number: QTBUG-84469 Change-Id: I4dc064b70adb054ca4add2dd662e7227255ff970 Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'examples/datavisualization/volumetric')
-rw-r--r--examples/datavisualization/volumetric/volumetric.cpp31
-rw-r--r--examples/datavisualization/volumetric/volumetric.h29
2 files changed, 29 insertions, 31 deletions
diff --git a/examples/datavisualization/volumetric/volumetric.cpp b/examples/datavisualization/volumetric/volumetric.cpp
index 702103b0..781081d1 100644
--- a/examples/datavisualization/volumetric/volumetric.cpp
+++ b/examples/datavisualization/volumetric/volumetric.cpp
@@ -117,9 +117,10 @@ VolumetricModifier::VolumetricModifier(Q3DScatter *scatter)
toggleAreaAll(true);
if (!isOpenGLES()) {
- m_lowDetailData = new QVector<uchar>(lowDetailSize * lowDetailSize * lowDetailSize / 2);
- m_mediumDetailData = new QVector<uchar>(mediumDetailSize * mediumDetailSize * mediumDetailSize / 2);
- m_highDetailData = new QVector<uchar>(highDetailSize * highDetailSize * highDetailSize / 2);
+ m_lowDetailData = new QList<uchar>(lowDetailSize * lowDetailSize * lowDetailSize / 2);
+ m_mediumDetailData =
+ new QList<uchar>(mediumDetailSize * mediumDetailSize * mediumDetailSize / 2);
+ m_highDetailData = new QList<uchar>(highDetailSize * highDetailSize * highDetailSize / 2);
initHeightMap(QStringLiteral(":/heightmaps/layer_ground.png"), m_groundLayer);
initHeightMap(QStringLiteral(":/heightmaps/layer_water.png"), m_waterLayer);
@@ -149,7 +150,7 @@ VolumetricModifier::VolumetricModifier(Q3DScatter *scatter)
m_volumeItem->setTextureHeight(lowDetailSize / 2);
m_volumeItem->setTextureDepth(lowDetailSize);
m_volumeItem->setTextureFormat(QImage::Format_Indexed8);
- m_volumeItem->setTextureData(new QVector<uchar>(*m_lowDetailData));
+ m_volumeItem->setTextureData(new QList<uchar>(*m_lowDetailData));
//! [1]
// Generate color tables.
@@ -372,7 +373,7 @@ void VolumetricModifier::handleTimeout()
void VolumetricModifier::toggleLowDetail(bool enabled)
{
if (enabled && m_volumeItem) {
- m_volumeItem->setTextureData(new QVector<uchar>(*m_lowDetailData));
+ m_volumeItem->setTextureData(new QList<uchar>(*m_lowDetailData));
m_volumeItem->setTextureDimensions(lowDetailSize, lowDetailSize / 2, lowDetailSize);
adjustSliceX(m_sliceSliderX->value());
adjustSliceY(m_sliceSliderY->value());
@@ -383,7 +384,7 @@ void VolumetricModifier::toggleLowDetail(bool enabled)
void VolumetricModifier::toggleMediumDetail(bool enabled)
{
if (enabled && m_volumeItem) {
- m_volumeItem->setTextureData(new QVector<uchar>(*m_mediumDetailData));
+ m_volumeItem->setTextureData(new QList<uchar>(*m_mediumDetailData));
m_volumeItem->setTextureDimensions(mediumDetailSize, mediumDetailSize / 2, mediumDetailSize);
adjustSliceX(m_sliceSliderX->value());
adjustSliceY(m_sliceSliderY->value());
@@ -394,7 +395,7 @@ void VolumetricModifier::toggleMediumDetail(bool enabled)
void VolumetricModifier::toggleHighDetail(bool enabled)
{
if (enabled && m_volumeItem) {
- m_volumeItem->setTextureData(new QVector<uchar>(*m_highDetailData));
+ m_volumeItem->setTextureData(new QList<uchar>(*m_highDetailData));
m_volumeItem->setTextureDimensions(highDetailSize, highDetailSize / 2, highDetailSize);
adjustSliceX(m_sliceSliderX->value());
adjustSliceY(m_sliceSliderY->value());
@@ -550,14 +551,14 @@ void VolumetricModifier::setDrawSliceFrames(int enabled)
m_volumeItem->setDrawSliceFrames(enabled);
}
-void VolumetricModifier::initHeightMap(QString fileName, QVector<uchar> &layerData)
+void VolumetricModifier::initHeightMap(QString fileName, QList<uchar> &layerData)
{
QImage heightImage(fileName);
layerData.resize(layerDataSize * layerDataSize);
const uchar *bits = heightImage.bits();
int index = 0;
- QVector<QRgb> colorTable = heightImage.colorTable();
+ QList<QRgb> colorTable = heightImage.colorTable();
for (int i = 0; i < layerDataSize; i++) {
for (int j = 0; j < layerDataSize; j++) {
layerData[index] = qRed(colorTable.at(bits[index]));
@@ -567,16 +568,16 @@ void VolumetricModifier::initHeightMap(QString fileName, QVector<uchar> &layerDa
}
int VolumetricModifier::createVolume(int textureSize, int startIndex, int count,
- QVector<uchar> *textureData)
+ QList<uchar> *textureData)
{
// Generate volume from layer data.
int index = startIndex * textureSize * textureSize / 2.0f;
int endIndex = startIndex + count;
if (endIndex > textureSize)
endIndex = textureSize;
- QVector<uchar> magmaHeights(textureSize);
- QVector<uchar> waterHeights(textureSize);
- QVector<uchar> groundHeights(textureSize);
+ QList<uchar> magmaHeights(textureSize);
+ QList<uchar> waterHeights(textureSize);
+ QList<uchar> groundHeights(textureSize);
float multiplier = float(layerDataSize) / float(textureSize);
for (int i = startIndex; i < endIndex; i++) {
// Generate layer height arrays
@@ -620,7 +621,7 @@ int VolumetricModifier::createVolume(int textureSize, int startIndex, int count,
}
int VolumetricModifier::excavateMineShaft(int textureSize, int startIndex, int count,
- QVector<uchar> *textureData)
+ QList<uchar> *textureData)
{
int endIndex = startIndex + count;
if (endIndex > m_mineShaftArray.size())
@@ -658,7 +659,7 @@ int VolumetricModifier::excavateMineShaft(int textureSize, int startIndex, int c
}
void VolumetricModifier::excavateMineBlock(int textureSize, int dataIndex, int size,
- QVector<uchar> *textureData)
+ QList<uchar> *textureData)
{
for (int k = 0; k < size; k++) {
int curIndex = dataIndex + (k * textureSize * textureSize / 2);
diff --git a/examples/datavisualization/volumetric/volumetric.h b/examples/datavisualization/volumetric/volumetric.h
index f9db6df7..f76884d6 100644
--- a/examples/datavisualization/volumetric/volumetric.h
+++ b/examples/datavisualization/volumetric/volumetric.h
@@ -78,14 +78,11 @@ public Q_SLOTS:
void setDrawSliceFrames(int enabled);
private:
-
- void initHeightMap(QString fileName, QVector<uchar> &layerData);
+ void initHeightMap(QString fileName, QList<uchar> &layerData);
void initMineShaftArray();
- int createVolume(int textureSize, int startIndex, int count,
- QVector<uchar> *textureData);
- int excavateMineShaft(int textureSize, int startIndex, int count,
- QVector<uchar> *textureData);
- void excavateMineBlock(int textureSize, int dataIndex, int size, QVector<uchar> *textureData);
+ int createVolume(int textureSize, int startIndex, int count, QList<uchar> *textureData);
+ int excavateMineShaft(int textureSize, int startIndex, int count, QList<uchar> *textureData);
+ void excavateMineBlock(int textureSize, int dataIndex, int size, QList<uchar> *textureData);
void handleSlicingChanges();
Q3DScatter *m_graph;
@@ -99,9 +96,9 @@ private:
QLabel *m_fpsLabel;
QRadioButton *m_mediumDetailRB;
QRadioButton *m_highDetailRB;
- QVector<uchar> *m_lowDetailData;
- QVector<uchar> *m_mediumDetailData;
- QVector<uchar> *m_highDetailData;
+ QList<uchar> *m_lowDetailData;
+ QList<uchar> *m_mediumDetailData;
+ QList<uchar> *m_highDetailData;
QTimer m_timer;
int m_mediumDetailIndex;
int m_highDetailIndex;
@@ -110,17 +107,17 @@ private:
QSlider *m_sliceSliderX;
QSlider *m_sliceSliderY;
QSlider *m_sliceSliderZ;
- QVector<QRgb> m_colorTable1;
- QVector<QRgb> m_colorTable2;
+ QList<QRgb> m_colorTable1;
+ QList<QRgb> m_colorTable2;
bool m_usingPrimaryTable;
QLabel *m_sliceLabelX;
QLabel *m_sliceLabelY;
QLabel *m_sliceLabelZ;
QLabel *m_alphaMultiplierLabel;
- QVector<uchar> m_magmaLayer;
- QVector<uchar> m_waterLayer;
- QVector<uchar> m_groundLayer;
- QVector<QPair<QVector3D, QVector3D> > m_mineShaftArray;
+ QList<uchar> m_magmaLayer;
+ QList<uchar> m_waterLayer;
+ QList<uchar> m_groundLayer;
+ QList<QPair<QVector3D, QVector3D>> m_mineShaftArray;
};
#endif