blob: 1ad46b7d85e74df8bc502112a90a03b921045a24 [file] [log] [blame]
Jose Fonseca9653f952015-05-19 16:32:43 +01001#pragma once
Zack Rusin8e7a4ff2011-04-07 01:15:48 -04002
3#include <QObject>
4
5class QListWidget;
6
José Fonseca933070e2011-05-10 20:27:00 +01007enum DataType {
8 DT_INT8,
9 DT_UINT8,
10 DT_INT16,
11 DT_UINT16,
12 DT_INT32,
13 DT_UINT32,
14 DT_FLOAT,
15 DT_DOUBLE,
16};
17
Zack Rusin8e7a4ff2011-04-07 01:15:48 -040018class VertexDataInterpreter : public QObject
19{
20 Q_OBJECT
21public:
22 VertexDataInterpreter(QObject *parent=0);
23
24 QByteArray data() const;
25
26 int type() const;
27 int stride() const;
28 int components() const;
Zack Rusin1b917052011-04-07 19:38:40 -040029 int startingOffset() const;
Zack Rusin8e7a4ff2011-04-07 01:15:48 -040030
31 void setListWidget(QListWidget *listWidget);
32
33public slots:
34 void interpretData();
35
36 void setData(const QByteArray &data);
37 void setTypeFromString(const QString &str);
38 void setStride(int stride);
39 void setComponents(int num);
40 void setType(int type);
Zack Rusin1b917052011-04-07 19:38:40 -040041 void setStartingOffset(int offset);
Zack Rusin8e7a4ff2011-04-07 01:15:48 -040042
43private:
44 QListWidget *m_listWidget;
45 QByteArray m_data;
46 int m_type;
47 int m_stride;
48 int m_components;
Zack Rusin1b917052011-04-07 19:38:40 -040049 int m_startingOffset;
Zack Rusin8e7a4ff2011-04-07 01:15:48 -040050};