summaryrefslogtreecommitdiffstats
path: root/src/datavis3d/utils/meshloader.cpp
diff options
context:
space:
mode:
authorTomi Korpipää <tomi.korpipaa@digia.com>2013-09-10 11:42:13 +0300
committerTomi Korpipää <tomi.korpipaa@digia.com>2013-09-10 12:04:24 +0300
commita28cdb72a4ea768a898ca07f0df0fa3c17c073a8 (patch)
tree0bafdcfa99fc783e9f5204539a8242bf6128d795 /src/datavis3d/utils/meshloader.cpp
parentf3e38983d77c72f3121c33a149a58fdf9c64158c (diff)
Module renamed
Task-number: QTRD-2224 Change-Id: Iec18b6121809300b11d85445281d3c626c434f35 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Diffstat (limited to 'src/datavis3d/utils/meshloader.cpp')
-rw-r--r--src/datavis3d/utils/meshloader.cpp125
1 files changed, 0 insertions, 125 deletions
diff --git a/src/datavis3d/utils/meshloader.cpp b/src/datavis3d/utils/meshloader.cpp
deleted file mode 100644
index ee2f12a6..00000000
--- a/src/datavis3d/utils/meshloader.cpp
+++ /dev/null
@@ -1,125 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc
-** All rights reserved.
-** For any questions to Digia, please use contact form at http://qt.digia.com
-**
-** This file is part of the QtDataVis3D module.
-**
-** Licensees holding valid Qt Enterprise licenses may use this file in
-** accordance with the Qt Enterprise License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.
-**
-** If you have questions regarding the use of this file, please use
-** contact form at http://qt.digia.com
-**
-****************************************************************************/
-
-#include "meshloader_p.h"
-
-#include <QFile>
-#include <QStringList>
-#include <QVector>
-#include <QVector2D>
-#include <QVector3D>
-
-#include <QDebug>
-
-QT_DATAVIS3D_BEGIN_NAMESPACE
-
-QString slashTag = QStringLiteral("/");
-
-bool MeshLoader::loadOBJ(const QString &path,
- QVector<QVector3D> &out_vertices,
- QVector<QVector2D> &out_uvs,
- QVector<QVector3D> &out_normals)
-{
- //qDebug() << "Loading OBJ file" << path;
-
- QVector<unsigned int> vertexIndices, uvIndices, normalIndices;
- QVector<QVector3D> temp_vertices;
- QVector<QVector2D> temp_uvs;
- QVector<QVector3D> temp_normals;
-
- QFile file(path);
- if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
- qWarning("Cannot open the file");
- return false;
- }
-
- QTextStream textIn(&file);
- while (!textIn.atEnd()) {
- QString line = textIn.readLine();
- QStringList lineContents = line.split(QStringLiteral(" "));
- if (!lineContents.at(0).compare(QStringLiteral("v"))) {
- QVector3D vertex;
- vertex.setX(lineContents.at(1).toFloat());
- vertex.setY(lineContents.at(2).toFloat());
- vertex.setZ(lineContents.at(3).toFloat());
- temp_vertices.append(vertex);
- }
- else if (!lineContents.at(0).compare(QStringLiteral("vt"))) {
- QVector2D uv;
- uv.setX(lineContents.at(1).toFloat());
- uv.setY(lineContents.at(2).toFloat()); // invert this if using DDS textures
- temp_uvs.append(uv);
- }
- else if (!lineContents.at(0).compare(QStringLiteral("vn"))) {
- QVector3D normal;
- normal.setX(lineContents.at(1).toFloat());
- normal.setY(lineContents.at(2).toFloat());
- normal.setZ(lineContents.at(3).toFloat());
- temp_normals.append(normal);
- }
- else if (!lineContents.at(0).compare(QStringLiteral("f"))) {
- unsigned int vertexIndex[3], uvIndex[3], normalIndex[3];
- QStringList set1 = lineContents.at(1).split(slashTag);
- QStringList set2 = lineContents.at(2).split(slashTag);
- QStringList set3 = lineContents.at(3).split(slashTag);
- vertexIndex[0] = set1.at(0).toUInt();
- vertexIndex[1] = set2.at(0).toUInt();
- vertexIndex[2] = set3.at(0).toUInt();
- uvIndex[0] = set1.at(1).toUInt();
- uvIndex[1] = set2.at(1).toUInt();
- uvIndex[2] = set3.at(1).toUInt();
- normalIndex[0] = set1.at(2).toUInt();
- normalIndex[1] = set2.at(2).toUInt();
- normalIndex[2] = set3.at(2).toUInt();
- vertexIndices.append(vertexIndex[0]);
- vertexIndices.append(vertexIndex[1]);
- vertexIndices.append(vertexIndex[2]);
- uvIndices.append(uvIndex[0]);
- uvIndices.append(uvIndex[1]);
- uvIndices.append(uvIndex[2]);
- normalIndices.append(normalIndex[0]);
- normalIndices.append(normalIndex[1]);
- normalIndices.append(normalIndex[2]);
- }
- else {
- //qWarning("Line did not contain usable data");
- }
- }
-
- // For each vertex of each triangle
- for (int i = 0; i < vertexIndices.size(); i++) {
- // Get the indices of its attributes
- unsigned int vertexIndex = vertexIndices[i];
- unsigned int uvIndex = uvIndices[i];
- unsigned int normalIndex = normalIndices[i];
-
- // Get the attributes thanks to the index
- QVector3D vertex = temp_vertices[vertexIndex - 1];
- QVector2D uv = temp_uvs[uvIndex - 1];
- QVector3D normal = temp_normals[normalIndex - 1];
-
- // Put the attributes in buffers
- out_vertices.append(vertex);
- out_uvs.append(uv);
- out_normals.append(normal);
- }
-
- return true;
-}
-
-QT_DATAVIS3D_END_NAMESPACE