diff options
Diffstat (limited to 'src/datavisualization/utils')
-rw-r--r-- | src/datavisualization/utils/meshloader.cpp | 16 | ||||
-rw-r--r-- | src/datavisualization/utils/meshloader_p.h | 6 | ||||
-rw-r--r-- | src/datavisualization/utils/objecthelper.cpp | 6 | ||||
-rw-r--r-- | src/datavisualization/utils/objecthelper_p.h | 16 | ||||
-rw-r--r-- | src/datavisualization/utils/scatterobjectbufferhelper.cpp | 34 | ||||
-rw-r--r-- | src/datavisualization/utils/scatterobjectbufferhelper_p.h | 8 | ||||
-rw-r--r-- | src/datavisualization/utils/scatterpointbufferhelper.cpp | 6 | ||||
-rw-r--r-- | src/datavisualization/utils/scatterpointbufferhelper_p.h | 5 | ||||
-rw-r--r-- | src/datavisualization/utils/surfaceobject.cpp | 14 | ||||
-rw-r--r-- | src/datavisualization/utils/surfaceobject_p.h | 8 | ||||
-rw-r--r-- | src/datavisualization/utils/texturehelper.cpp | 2 | ||||
-rw-r--r-- | src/datavisualization/utils/texturehelper_p.h | 2 | ||||
-rw-r--r-- | src/datavisualization/utils/vertexindexer.cpp | 11 | ||||
-rw-r--r-- | src/datavisualization/utils/vertexindexer_p.h | 13 |
14 files changed, 67 insertions, 80 deletions
diff --git a/src/datavisualization/utils/meshloader.cpp b/src/datavisualization/utils/meshloader.cpp index 29c20210..2069b444 100644 --- a/src/datavisualization/utils/meshloader.cpp +++ b/src/datavisualization/utils/meshloader.cpp @@ -31,22 +31,20 @@ #include <QtCore/QFile> #include <QtCore/QStringList> -#include <QtCore/QVector> +#include <QtCore/QList> #include <QtGui/QVector2D> QT_BEGIN_NAMESPACE_DATAVISUALIZATION QString slashTag = QStringLiteral("/"); -bool MeshLoader::loadOBJ(const QString &path, - QVector<QVector3D> &out_vertices, - QVector<QVector2D> &out_uvs, - QVector<QVector3D> &out_normals) +bool MeshLoader::loadOBJ(const QString &path, QList<QVector3D> &out_vertices, + QList<QVector2D> &out_uvs, QList<QVector3D> &out_normals) { - QVector<unsigned int> vertexIndices, uvIndices, normalIndices; - QVector<QVector3D> temp_vertices; - QVector<QVector2D> temp_uvs; - QVector<QVector3D> temp_normals; + QList<unsigned int> vertexIndices, uvIndices, normalIndices; + QList<QVector3D> temp_vertices; + QList<QVector2D> temp_uvs; + QList<QVector3D> temp_normals; QFile file(path); if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { diff --git a/src/datavisualization/utils/meshloader_p.h b/src/datavisualization/utils/meshloader_p.h index 2ecf47f0..e8f60ffc 100644 --- a/src/datavisualization/utils/meshloader_p.h +++ b/src/datavisualization/utils/meshloader_p.h @@ -48,10 +48,8 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION class MeshLoader { public: - static bool loadOBJ(const QString &path, - QVector<QVector3D> &out_vertices, - QVector<QVector2D> &out_uvs, - QVector<QVector3D> &out_normals); + static bool loadOBJ(const QString &path, QList<QVector3D> &out_vertices, + QList<QVector2D> &out_uvs, QList<QVector3D> &out_normals); }; QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/utils/objecthelper.cpp b/src/datavisualization/utils/objecthelper.cpp index 38ffe928..410a22d7 100644 --- a/src/datavisualization/utils/objecthelper.cpp +++ b/src/datavisualization/utils/objecthelper.cpp @@ -136,9 +136,9 @@ void ObjectHelper::load() m_normalbuffer = 0; m_elementbuffer = 0; } - QVector<QVector3D> vertices; - QVector<QVector2D> uvs; - QVector<QVector3D> normals; + QList<QVector3D> vertices; + QList<QVector2D> uvs; + QList<QVector3D> normals; bool loadOk = MeshLoader::loadOBJ(m_objectFile, vertices, uvs, normals); if (!loadOk) qFatal("loading failed"); diff --git a/src/datavisualization/utils/objecthelper_p.h b/src/datavisualization/utils/objecthelper_p.h index 10820b52..d1c2ea78 100644 --- a/src/datavisualization/utils/objecthelper_p.h +++ b/src/datavisualization/utils/objecthelper_p.h @@ -59,10 +59,10 @@ public: static void releaseObjectHelper(const Abstract3DRenderer *cacheId, ObjectHelper *&obj); inline const QString &objectFile() { return m_objectFile; } - inline const QVector<GLuint> &indices() const { return m_indices; } - inline const QVector<QVector3D> &indexedvertices() const { return m_indexedVertices; } - inline const QVector<QVector2D> &indexedUVs() const { return m_indexedUVs; } - inline const QVector<QVector3D> &indexedNormals() const { return m_indexedNormals; } + inline const QList<GLuint> &indices() const { return m_indices; } + inline const QList<QVector3D> &indexedvertices() const { return m_indexedVertices; } + inline const QList<QVector2D> &indexedUVs() const { return m_indexedUVs; } + inline const QList<QVector3D> &indexedNormals() const { return m_indexedNormals; } private: static ObjectHelper *getObjectHelper(const Abstract3DRenderer *cacheId, @@ -70,10 +70,10 @@ private: void load(); QString m_objectFile; - QVector<GLuint> m_indices; - QVector<QVector3D> m_indexedVertices; - QVector<QVector2D> m_indexedUVs; - QVector<QVector3D> m_indexedNormals; + QList<GLuint> m_indices; + QList<QVector3D> m_indexedVertices; + QList<QVector2D> m_indexedUVs; + QList<QVector3D> m_indexedNormals; }; QT_END_NAMESPACE_DATAVISUALIZATION diff --git a/src/datavisualization/utils/scatterobjectbufferhelper.cpp b/src/datavisualization/utils/scatterobjectbufferhelper.cpp index 579eff98..8e06617b 100644 --- a/src/datavisualization/utils/scatterobjectbufferhelper.cpp +++ b/src/datavisualization/utils/scatterobjectbufferhelper.cpp @@ -74,10 +74,10 @@ void ScatterObjectBufferHelper::fullLoad(ScatterSeriesRenderCache *cache, qreal } // Index vertices - const QVector<GLuint> indices = dotObj->indices(); - const QVector<QVector3D> indexed_vertices = dotObj->indexedvertices(); - const QVector<QVector2D> indexed_uvs = dotObj->indexedUVs(); - const QVector<QVector3D> indexed_normals = dotObj->indexedNormals(); + const QList<GLuint> indices = dotObj->indices(); + const QList<QVector3D> indexed_vertices = dotObj->indexedvertices(); + const QList<QVector2D> indexed_uvs = dotObj->indexedUVs(); + const QList<QVector3D> indexed_normals = dotObj->indexedNormals(); const int indicesCount = indices.count(); const int verticeCount = indexed_vertices.count(); const int uvsCount = indexed_uvs.count(); @@ -95,15 +95,15 @@ void ScatterObjectBufferHelper::fullLoad(ScatterSeriesRenderCache *cache, qreal } modelMatrix.scale(modelScaler); - QVector<QVector3D> scaled_vertices; + QList<QVector3D> scaled_vertices; scaled_vertices.resize(verticeCount); for (int i = 0; i < verticeCount; i++) scaled_vertices[i] = indexed_vertices[i] * modelMatrix; - QVector<GLuint> buffered_indices; - QVector<QVector3D> buffered_vertices; - QVector<QVector2D> buffered_uvs; - QVector<QVector3D> buffered_normals; + QList<GLuint> buffered_indices; + QList<QVector3D> buffered_vertices; + QList<QVector2D> buffered_uvs; + QList<QVector3D> buffered_normals; buffered_indices.resize(indicesCount * renderArraySize); buffered_vertices.resize(verticeCount * renderArraySize); @@ -204,14 +204,14 @@ void ScatterObjectBufferHelper::updateUVs(ScatterSeriesRenderCache *cache) if (!updateSize) return; - QVector<QVector2D> buffered_uvs; + QList<QVector2D> buffered_uvs; buffered_uvs.resize(uvsCount * updateSize); uint itemCount = 0; if (cache->colorStyle() == Q3DTheme::ColorStyleRangeGradient) { itemCount = createRangeGradientUVs(cache, buffered_uvs); } else if (cache->colorStyle() == Q3DTheme::ColorStyleObjectGradient) { - const QVector<QVector3D> indexed_vertices = dotObj->indexedvertices(); + const QList<QVector3D> indexed_vertices = dotObj->indexedvertices(); itemCount = createObjectGradientUVs(cache, buffered_uvs, indexed_vertices); } @@ -234,7 +234,7 @@ void ScatterObjectBufferHelper::updateUVs(ScatterSeriesRenderCache *cache) } uint ScatterObjectBufferHelper::createRangeGradientUVs(ScatterSeriesRenderCache *cache, - QVector<QVector2D> &buffered_uvs) + QList<QVector2D> &buffered_uvs) { ObjectHelper *dotObj = cache->object(); const int uvsCount = dotObj->indexedUVs().count(); @@ -276,8 +276,8 @@ uint ScatterObjectBufferHelper::createRangeGradientUVs(ScatterSeriesRenderCache } uint ScatterObjectBufferHelper::createObjectGradientUVs(ScatterSeriesRenderCache *cache, - QVector<QVector2D> &buffered_uvs, - const QVector<QVector3D> &indexed_vertices) + QList<QVector2D> &buffered_uvs, + const QList<QVector3D> &indexed_vertices) { ObjectHelper *dotObj = cache->object(); const int uvsCount = dotObj->indexedUVs().count(); @@ -316,7 +316,7 @@ void ScatterObjectBufferHelper::update(ScatterSeriesRenderCache *cache, qreal do return; // Index vertices - const QVector<QVector3D> indexed_vertices = dotObj->indexedvertices(); + const QList<QVector3D> indexed_vertices = dotObj->indexedvertices(); int verticeCount = indexed_vertices.count(); float itemSize = cache->itemSize() / itemScaler; @@ -331,12 +331,12 @@ void ScatterObjectBufferHelper::update(ScatterSeriesRenderCache *cache, qreal do } modelMatrix.scale(modelScaler); - QVector<QVector3D> scaled_vertices; + QList<QVector3D> scaled_vertices; scaled_vertices.resize(verticeCount); for (int i = 0; i < verticeCount; i++) scaled_vertices[i] = indexed_vertices[i] * modelMatrix; - QVector<QVector3D> buffered_vertices; + QList<QVector3D> buffered_vertices; buffered_vertices.resize(verticeCount * updateSize); int itemCount = 0; diff --git a/src/datavisualization/utils/scatterobjectbufferhelper_p.h b/src/datavisualization/utils/scatterobjectbufferhelper_p.h index 48b9ea99..fac5e922 100644 --- a/src/datavisualization/utils/scatterobjectbufferhelper_p.h +++ b/src/datavisualization/utils/scatterobjectbufferhelper_p.h @@ -58,11 +58,9 @@ public: void setScaleY(float scale) { m_scaleY = scale; } private: - uint createRangeGradientUVs(ScatterSeriesRenderCache *cache, - QVector<QVector2D> &buffered_uvs); - uint createObjectGradientUVs(ScatterSeriesRenderCache *cache, - QVector<QVector2D> &buffered_uvs, - const QVector<QVector3D> &indexed_vertices); + uint createRangeGradientUVs(ScatterSeriesRenderCache *cache, QList<QVector2D> &buffered_uvs); + uint createObjectGradientUVs(ScatterSeriesRenderCache *cache, QList<QVector2D> &buffered_uvs, + const QList<QVector3D> &indexed_vertices); float m_scaleY; }; diff --git a/src/datavisualization/utils/scatterpointbufferhelper.cpp b/src/datavisualization/utils/scatterpointbufferhelper.cpp index 860a2b88..d3621423 100644 --- a/src/datavisualization/utils/scatterpointbufferhelper.cpp +++ b/src/datavisualization/utils/scatterpointbufferhelper.cpp @@ -111,7 +111,7 @@ void ScatterPointBufferHelper::load(ScatterSeriesRenderCache *cache) } } - QVector<QVector2D> buffered_uvs; + QList<QVector2D> buffered_uvs; if (itemsVisible) m_indexCount = renderArraySize; @@ -169,7 +169,7 @@ void ScatterPointBufferHelper::updateUVs(ScatterSeriesRenderCache *cache) // It may be that the buffer hasn't yet been initialized, in case the entire series was // hidden items. No need to update in that case. if (m_indexCount > 0) { - QVector<QVector2D> buffered_uvs; + QList<QVector2D> buffered_uvs; createRangeGradientUVs(cache, buffered_uvs); if (buffered_uvs.size()) { @@ -196,7 +196,7 @@ void ScatterPointBufferHelper::updateUVs(ScatterSeriesRenderCache *cache) } void ScatterPointBufferHelper::createRangeGradientUVs(ScatterSeriesRenderCache *cache, - QVector<QVector2D> &buffered_uvs) + QList<QVector2D> &buffered_uvs) { const ScatterRenderItemArray &renderArray = cache->renderArray(); const bool updateAll = (cache->updateIndices().size() == 0); diff --git a/src/datavisualization/utils/scatterpointbufferhelper_p.h b/src/datavisualization/utils/scatterpointbufferhelper_p.h index 2b5ee4cc..d1e8f5b0 100644 --- a/src/datavisualization/utils/scatterpointbufferhelper_p.h +++ b/src/datavisualization/utils/scatterpointbufferhelper_p.h @@ -65,11 +65,10 @@ public: GLuint m_pointbuffer; private: - void createRangeGradientUVs(ScatterSeriesRenderCache *cache, - QVector<QVector2D> &buffered_uvs); + void createRangeGradientUVs(ScatterSeriesRenderCache *cache, QList<QVector2D> &buffered_uvs); private: - QVector<QVector3D> m_bufferedPoints; + QList<QVector3D> m_bufferedPoints; int m_oldRemoveIndex; float m_scaleY; }; diff --git a/src/datavisualization/utils/surfaceobject.cpp b/src/datavisualization/utils/surfaceobject.cpp index f9e4181e..96a75422 100644 --- a/src/datavisualization/utils/surfaceobject.cpp +++ b/src/datavisualization/utils/surfaceobject.cpp @@ -77,7 +77,7 @@ void SurfaceObject::setUpSmoothData(const QSurfaceDataArray &dataArray, const QR if (changeGeometry) m_vertices.resize(totalSize); - QVector<QVector2D> uvs; + QList<QVector2D> uvs; if (changeGeometry) uvs.resize(totalSize); int totalIndex = 0; @@ -315,7 +315,7 @@ void SurfaceObject::smoothUVs(const QSurfaceDataArray &dataArray, const bool zDescending = m_dataDimension.testFlag(SurfaceObject::ZDescending); const bool xDescending = m_dataDimension.testFlag(SurfaceObject::XDescending); - QVector<QVector2D> uvs; + QList<QVector2D> uvs; uvs.resize(m_rows * m_columns); int index = 0; for (int i = 0; i < m_rows; i++) { @@ -534,7 +534,7 @@ void SurfaceObject::setUpData(const QSurfaceDataArray &dataArray, const QRect &s if (changeGeometry) m_vertices.resize(totalSize); - QVector<QVector2D> uvs; + QList<QVector2D> uvs; if (changeGeometry) uvs.resize(totalSize); @@ -620,7 +620,7 @@ void SurfaceObject::coarseUVs(const QSurfaceDataArray &dataArray, const bool zDescending = m_dataDimension.testFlag(SurfaceObject::ZDescending); const bool xDescending = m_dataDimension.testFlag(SurfaceObject::XDescending); - QVector<QVector2D> uvs; + QList<QVector2D> uvs; uvs.resize(m_rows * m_columns * 2); int index = 0; int colLimit = m_columns - 1; @@ -802,12 +802,12 @@ void SurfaceObject::createCoarseGridlineIndices(int x, int y, int endX, int endY void SurfaceObject::uploadBuffers() { - QVector<QVector2D> uvs; // Empty dummy + QList<QVector2D> uvs; // Empty dummy createBuffers(m_vertices, uvs, m_normals, 0); } -void SurfaceObject::createBuffers(const QVector<QVector3D> &vertices, const QVector<QVector2D> &uvs, - const QVector<QVector3D> &normals, const GLint *indices) +void SurfaceObject::createBuffers(const QList<QVector3D> &vertices, const QList<QVector2D> &uvs, + const QList<QVector3D> &normals, const GLint *indices) { // Move to buffers glBindBuffer(GL_ARRAY_BUFFER, m_vertexbuffer); diff --git a/src/datavisualization/utils/surfaceobject_p.h b/src/datavisualization/utils/surfaceobject_p.h index 41b6ad5f..532f7692 100644 --- a/src/datavisualization/utils/surfaceobject_p.h +++ b/src/datavisualization/utils/surfaceobject_p.h @@ -104,8 +104,8 @@ private: QVector3D createSmoothNormalBodyLineItem(int x, int y); QVector3D createSmoothNormalUpperLineItem(int x, int y); QVector3D normal(const QVector3D &a, const QVector3D &b, const QVector3D &c); - void createBuffers(const QVector<QVector3D> &vertices, const QVector<QVector2D> &uvs, - const QVector<QVector3D> &normals, const GLint *indices); + void createBuffers(const QList<QVector3D> &vertices, const QList<QVector2D> &uvs, + const QList<QVector3D> &normals, const GLint *indices); void checkDirections(const QSurfaceDataArray &array); inline void getNormalizedVertex(const QSurfaceDataItem &data, QVector3D &vertex, bool polar, bool flipXZ); @@ -116,8 +116,8 @@ private: int m_rows = 0; GLuint m_gridElementbuffer; GLuint m_gridIndexCount = 0; - QVector<QVector3D> m_vertices; - QVector<QVector3D> m_normals; + QList<QVector3D> m_vertices; + QList<QVector3D> m_normals; // Caches are not owned AxisRenderCache &m_axisCacheX; AxisRenderCache &m_axisCacheY; diff --git a/src/datavisualization/utils/texturehelper.cpp b/src/datavisualization/utils/texturehelper.cpp index fb7b099a..b1371610 100644 --- a/src/datavisualization/utils/texturehelper.cpp +++ b/src/datavisualization/utils/texturehelper.cpp @@ -108,7 +108,7 @@ GLuint TextureHelper::create2DTexture(const QImage &image, bool useTrilinearFilt return textureId; } -GLuint TextureHelper::create3DTexture(const QVector<uchar> *data, int width, int height, int depth, +GLuint TextureHelper::create3DTexture(const QList<uchar> *data, int width, int height, int depth, QImage::Format dataFormat) { if (Utils::isOpenGLES() || !width || !height || !depth) diff --git a/src/datavisualization/utils/texturehelper_p.h b/src/datavisualization/utils/texturehelper_p.h index 962e27e9..fac32a42 100644 --- a/src/datavisualization/utils/texturehelper_p.h +++ b/src/datavisualization/utils/texturehelper_p.h @@ -59,7 +59,7 @@ class TextureHelper : protected QOpenGLFunctions // Ownership of created texture is transferred to caller GLuint create2DTexture(const QImage &image, bool useTrilinearFiltering = false, bool convert = true, bool smoothScale = true, bool clampY = false); - GLuint create3DTexture(const QVector<uchar> *data, int width, int height, int depth, + GLuint create3DTexture(const QList<uchar> *data, int width, int height, int depth, QImage::Format dataFormat); GLuint createCubeMapTexture(const QImage &image, bool useTrilinearFiltering = false); // Returns selection texture and inserts generated framebuffers to framebuffer parameters diff --git a/src/datavisualization/utils/vertexindexer.cpp b/src/datavisualization/utils/vertexindexer.cpp index 36d93563..5b770366 100644 --- a/src/datavisualization/utils/vertexindexer.cpp +++ b/src/datavisualization/utils/vertexindexer.cpp @@ -48,13 +48,10 @@ bool VertexIndexer::getSimilarVertexIndex_fast(const PackedVertex &packed, } } -void VertexIndexer::indexVBO(const QVector<QVector3D> &in_vertices, - const QVector<QVector2D> &in_uvs, - const QVector<QVector3D> &in_normals, - QVector<GLuint> &out_indices, - QVector<QVector3D> &out_vertices, - QVector<QVector2D> &out_uvs, - QVector<QVector3D> &out_normals) +void VertexIndexer::indexVBO(const QList<QVector3D> &in_vertices, const QList<QVector2D> &in_uvs, + const QList<QVector3D> &in_normals, QList<GLuint> &out_indices, + QList<QVector3D> &out_vertices, QList<QVector2D> &out_uvs, + QList<QVector3D> &out_normals) { unique_vertices = 0; QMap<PackedVertex, GLuint> VertexToOutIndex; diff --git a/src/datavisualization/utils/vertexindexer_p.h b/src/datavisualization/utils/vertexindexer_p.h index 030b781b..42a48465 100644 --- a/src/datavisualization/utils/vertexindexer_p.h +++ b/src/datavisualization/utils/vertexindexer_p.h @@ -42,7 +42,7 @@ #include "datavisualizationglobal_p.h" -#include <QtCore/QVector> +#include <QtCore/QList> #include <QtGui/QVector2D> QT_BEGIN_NAMESPACE_DATAVISUALIZATION @@ -59,13 +59,10 @@ public: } }; - static void indexVBO(const QVector<QVector3D> &in_vertices, - const QVector<QVector2D> &in_uvs, - const QVector<QVector3D> &in_normals, - QVector<GLuint> &out_indices, - QVector<QVector3D> &out_vertices, - QVector<QVector2D> &out_uvs, - QVector<QVector3D> &out_normals); + static void indexVBO(const QList<QVector3D> &in_vertices, const QList<QVector2D> &in_uvs, + const QList<QVector3D> &in_normals, QList<GLuint> &out_indices, + QList<QVector3D> &out_vertices, QList<QVector2D> &out_uvs, + QList<QVector3D> &out_normals); private: static bool getSimilarVertexIndex_fast(const PackedVertex &packed, |