summaryrefslogtreecommitdiffstats
path: root/src/render/io
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire350@gmail.com>2015-08-10 15:26:28 +0200
committerSean Harmer <sean.harmer@kdab.com>2015-08-11 17:29:25 +0000
commit86efa9fe761915d738ba231a5d94c74af3660500 (patch)
tree62176b3200e30bdf4f52ac2e1fd01277c80188ff /src/render/io
parentdfe50678f651f4effd677e4fc9d7b518a5975329 (diff)
Cleanup: remove QAbstractMesh/QMeshData/MeshDataManager
Change-Id: I1f13cea4cf864dcf985d1f487e195509de9006e7 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/io')
-rw-r--r--src/render/io/qmeshdata.cpp225
-rw-r--r--src/render/io/qmeshdata.h113
-rw-r--r--src/render/io/qmeshdata_p.h73
-rw-r--r--src/render/io/render-io.pri3
4 files changed, 0 insertions, 414 deletions
diff --git a/src/render/io/qmeshdata.cpp b/src/render/io/qmeshdata.cpp
deleted file mode 100644
index 0a689257f..000000000
--- a/src/render/io/qmeshdata.cpp
+++ /dev/null
@@ -1,225 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Klaralvdalens Datakonsult AB (KDAB).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the Qt3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qmeshdata.h"
-#include "qmeshdata_p.h"
-#include <Qt3DCore/qabstractattribute.h>
-#include <Qt3DCore/qabstractbuffer.h>
-#include <QOpenGLVertexArrayObject>
-
-QT_BEGIN_NAMESPACE
-
-namespace Qt3D {
-
-/*!
- \class Qt3D::QMeshDataPrivate
- \internal
-*/
-QMeshDataPrivate::QMeshDataPrivate()
- : m_indexAttr(Q_NULLPTR)
- , m_verticesPerPatch(0)
- , m_primitiveType(0)
-{
-}
-
-QMeshDataPrivate::~QMeshDataPrivate()
-{
- delete m_indexAttr;
- qDeleteAll(m_attributes);
-}
-
-QMeshData::QMeshData(PrimitiveType primitiveType)
- : d_ptr(new QMeshDataPrivate)
-{
- setPrimitiveType(primitiveType);
-}
-
-QMeshData::~QMeshData()
-{
-// delete d_ptr;
-}
-
-// TO DO: Be careful is QMeshData is copied to not leak memory
-
-/*! \internal */
-QMeshData::QMeshData(QMeshDataPrivate &dd)
- : d_ptr(&dd)
-{
-}
-
-void QMeshData::addAttribute(const QString &name, QAbstractAttribute *attr)
-{
- Q_D(QMeshData);
- const int i = d->m_attributesNames.indexOf(name);
- if (i != -1) {
- d->m_attributes[i] = attr;
- } else {
- d->m_attributesNames.append(name);
- d->m_attributes.append(attr);
- }
-}
-
-void QMeshData::setIndexAttribute(QAbstractAttribute *attr)
-{
- Q_D(QMeshData);
- d->m_indexAttr = attr;
-}
-
-QStringList QMeshData::attributeNames() const
-{
- Q_D(const QMeshData);
- return d->m_attributesNames;
-}
-
-QAbstractAttribute *QMeshData::attributeByName(const QString &name) const
-{
- Q_D(const QMeshData);
- const int i = d->m_attributesNames.indexOf(name);
- if (i != -1)
- return d->m_attributes[i];
- else
- return Q_NULLPTR;
-}
-
-QAbstractAttribute *QMeshData::indexAttribute() const
-{
- Q_D(const QMeshData);
- return d->m_indexAttr;
-}
-
-QString QMeshData::defaultPositionAttributeName()
-{
- return QStringLiteral("vertexPosition");
-}
-
-QString QMeshData::defaultNormalAttributeName()
-{
- return QStringLiteral("vertexNormal");
-}
-
-QString QMeshData::defaultColorAttributeName()
-{
- return QStringLiteral("vertexColor");
-}
-
-QString QMeshData::defaultTextureCoordinateAttributeName()
-{
- return QStringLiteral("vertexTexCoord");
-}
-
-QString QMeshData::defaultTangentAttributeName()
-{
- return QStringLiteral("vertexTangent");
-}
-
-void QMeshData::setVerticesPerPatch(int verticesPerPatch)
-{
- Q_D(QMeshData);
- d->m_verticesPerPatch = verticesPerPatch;
-}
-
-int QMeshData::verticesPerPatch() const
-{
- Q_D(const QMeshData);
- return d->m_verticesPerPatch;
-}
-
-int QMeshData::primitiveCount() const
-{
- Q_D(const QMeshData);
- if (d->m_indexAttr) {
- return d->m_indexAttr->count();
- } else {
- // assume all attribute arrays have the same size
- // will break with instanced drawing, but probably per-instance
- // arrays aren't coming from this code-path.
- // Maybe.
- return d->m_attributes.first()->count();
- }
-}
-
-QVector<QAbstractBuffer *> QMeshData::buffers() const
-{
- Q_D(const QMeshData);
- QVector<QAbstractBuffer*> r;
- r.reserve(d->m_attributes.count() + 1);
- if (d->m_indexAttr)
- r.push_back(d->m_indexAttr->buffer());
- Q_FOREACH (QAbstractAttribute *attr, d->m_attributes)
- r.push_back(attr->buffer());
-
- return r;
-}
-
-void QMeshData::setBoundingBox(const QAxisAlignedBoundingBox &bbox)
-{
- Q_D(QMeshData);
- d->m_bbox = bbox;
-}
-
-void QMeshData::computeBoundsFromAttribute(const QString &name)
-{
- Q_D(QMeshData);
- QAbstractAttribute *attr = attributeByName(name);
- if (!attr) {
- qWarning() << Q_FUNC_INFO << "unknown attribute:" << name;
- return;
- }
- d->m_bbox.clear();
- d->m_bbox.update(attr->asVector3D());
-}
-
-QAxisAlignedBoundingBox QMeshData::boundingBox() const
-{
- Q_D(const QMeshData);
- return d->m_bbox;
-}
-
-void QMeshData::setPrimitiveType(PrimitiveType primitiveType)
-{
- Q_D(QMeshData);
- d->m_primitiveType = primitiveType;
-}
-
-int QMeshData::primitiveType() const
-{
- Q_D(const QMeshData);
- return d->m_primitiveType;
-}
-
-} // Qt3D
-
-QT_END_NAMESPACE
diff --git a/src/render/io/qmeshdata.h b/src/render/io/qmeshdata.h
deleted file mode 100644
index 23116ec7e..000000000
--- a/src/render/io/qmeshdata.h
+++ /dev/null
@@ -1,113 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Klaralvdalens Datakonsult AB (KDAB).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the Qt3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QT3D_QMESHDATA_H
-#define QT3D_QMESHDATA_H
-
-#include <Qt3DRenderer/qt3drenderer_global.h>
-#include <Qt3DCore/qaxisalignedboundingbox.h>
-#include <QSharedPointer>
-
-QT_BEGIN_NAMESPACE
-
-namespace Qt3D {
-
-class QAbstractAttribute;
-class QAbstractBuffer;
-class QMeshDataPrivate;
-
-class QT3DRENDERERSHARED_EXPORT QMeshData
-{
-public:
- enum PrimitiveType {
- Points = 0x0000,
- Lines = 0x0001,
- LineLoop = 0x0002,
- LineStrip = 0x0003,
- Triangles = 0x0004,
- TriangleStrip = 0x0005,
- TriangleFan = 0x0006,
- LinesAdjacency = 0x000A,
- TrianglesAdjacency = 0x000C,
- LineStripAdjacency = 0x000B,
- TriangleStripAdjacency = 0x000D,
- Patches = 0x000E
- };
-
- explicit QMeshData(PrimitiveType primitiveType = Triangles);
- virtual ~QMeshData();
-
- void addAttribute(const QString &name, QAbstractAttribute *attr);
- void setIndexAttribute(QAbstractAttribute *attr);
-
- QStringList attributeNames() const;
- QAbstractAttribute *attributeByName(const QString &name) const;
- QAbstractAttribute *indexAttribute() const;
-
- static QString defaultPositionAttributeName();
- static QString defaultNormalAttributeName();
- static QString defaultColorAttributeName();
- static QString defaultTextureCoordinateAttributeName();
- static QString defaultTangentAttributeName();
-
- void setPrimitiveType(PrimitiveType primitiveType);
- int primitiveType() const;
-
- void setVerticesPerPatch(int verticesPerPatch);
- int verticesPerPatch() const;
-
- int primitiveCount() const;
-
- QVector<QAbstractBuffer *> buffers() const;
-
- void setBoundingBox(const QAxisAlignedBoundingBox &bbox);
- void computeBoundsFromAttribute(const QString &name);
-
- QAxisAlignedBoundingBox boundingBox() const;
-
-protected:
- Q_DECLARE_PRIVATE(QMeshData)
- QMeshDataPrivate *d_ptr;
- QMeshData(QMeshDataPrivate &dd);
-};
-
-typedef QSharedPointer<QMeshData> QMeshDataPtr;
-
-} // Qt3D
-
-QT_END_NAMESPACE
-
-#endif // QT3D_QMESHDATA_H
diff --git a/src/render/io/qmeshdata_p.h b/src/render/io/qmeshdata_p.h
deleted file mode 100644
index c1722396d..000000000
--- a/src/render/io/qmeshdata_p.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Klaralvdalens Datakonsult AB (KDAB).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the Qt3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QT3D_QMESHDATA_P_H
-#define QT3D_QMESHDATA_P_H
-
-#include <Qt3DCore/qt3dcore_global.h>
-#include <Qt3DCore/qaxisalignedboundingbox.h>
-
-#include <QMap>
-#include <QSharedPointer>
-
-QT_BEGIN_NAMESPACE
-
-namespace Qt3D {
-
-class QAbstractAttribute;
-class QAbstractBuffer;
-
-typedef QSharedPointer<QAbstractAttribute> QAbstractAttributePtr;
-
-class QMeshDataPrivate
-{
-public:
- QMeshDataPrivate();
- ~QMeshDataPrivate();
-
- QStringList m_attributesNames;
- QVector<QAbstractAttribute *> m_attributes;
- QAbstractAttribute *m_indexAttr;
- QAxisAlignedBoundingBox m_bbox;
- int m_verticesPerPatch;
- int m_primitiveType;
-};
-
-} // Qt3D
-
-QT_END_NAMESPACE
-
-#endif // QT3D_QMESHDATA_P_H
diff --git a/src/render/io/render-io.pri b/src/render/io/render-io.pri
index 6ac63d9c5..ababc3cd0 100644
--- a/src/render/io/render-io.pri
+++ b/src/render/io/render-io.pri
@@ -8,8 +8,6 @@ HEADERS += \
$$PWD/qattribute_p.h \
$$PWD/qbuffer.h \
$$PWD/qbuffer_p.h \
- $$PWD/qmeshdata_p.h \
- $$PWD/qmeshdata.h \
$$PWD/uniformbuffer_p.h \
$$PWD/qbufferfunctor.h \
$$PWD/qgeometryfunctor.h
@@ -20,5 +18,4 @@ SOURCES += \
$$PWD/abstractsceneparser.cpp \
$$PWD/qattribute.cpp \
$$PWD/qbuffer.cpp \
- $$PWD/qmeshdata.cpp \
$$PWD/uniformbuffer.cpp