diff options
author | Jarek Kobus <jaroslaw.kobus@qt.io> | 2020-06-24 10:25:01 +0200 |
---|---|---|
committer | Jarek Kobus <jaroslaw.kobus@qt.io> | 2020-06-25 10:11:51 +0200 |
commit | 3c7d4de151d0d87b687644381c5d8aaef06f21b2 (patch) | |
tree | 12c688048acac5f817b68dfbef088544a8ae946a /examples/datavisualization/volumetric | |
parent | fcb44309e4cd228245d310bdbd622e7a2ff98283 (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.cpp | 31 | ||||
-rw-r--r-- | examples/datavisualization/volumetric/volumetric.h | 29 |
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 |