54 QColor indexColorForID (qint32 id) const; |
54 QColor indexColorForID (qint32 id) const; |
55 void needMerge(); |
55 void needMerge(); |
56 Q_SLOT void recompile(); |
56 Q_SLOT void recompile(); |
57 void dropObjectInfo (const QModelIndex &index); |
57 void dropObjectInfo (const QModelIndex &index); |
58 Q_SLOT void forgetObject(QModelIndex index); |
58 Q_SLOT void forgetObject(QModelIndex index); |
59 void stageForCompilation(QModelIndex index); |
59 void stageForCompilation(const QModelIndex &index); |
60 void unstage (QModelIndex index); |
60 void unstage (const QModelIndex &index); |
61 LDObject* resolveObject(const QModelIndex& index); |
|
62 |
61 |
63 QMap<QPersistentModelIndex, ObjectVboData> m_objectInfo; |
62 QMap<QPersistentModelIndex, ObjectVboData> m_objectInfo; |
64 QSet<QPersistentModelIndex> m_staged; // Objects that need to be compiled |
63 QSet<QPersistentModelIndex> m_staged; // Objects that need to be compiled |
65 GLuint m_vbo[NumVbos]; |
64 GLuint m_vbo[NumVbos]; |
66 bool m_vboChanged[NumVbos] = {true}; |
65 bool m_vboChanged[NumVbos] = {true}; |
67 int m_vboSizes[NumVbos] = {0}; |
66 int m_vboSizes[NumVbos] = {0}; |
68 GLRenderer* m_renderer; |
67 GLRenderer* m_renderer; |
|
68 |
|
69 private slots: |
|
70 void handleRowInsertion(const QModelIndex&, int first, int last); |
|
71 void handleRowRemoval(const QModelIndex&, int first, int last); |
|
72 void handleDataChange(const QModelIndex& topLeft, const QModelIndex &bottomRight); |
69 }; |
73 }; |
70 |
74 |
71 #define CHECK_GL_ERROR() { checkGLError(this, __FILE__, __LINE__); } |
75 #define CHECK_GL_ERROR() { checkGLError(this, __FILE__, __LINE__); } |
72 void checkGLError (HierarchyElement* element, QString file, int line); |
76 void checkGLError (HierarchyElement* element, QString file, int line); |