|     64 		QVector<GLfloat> data[NumVbos]; | 
    64 		QVector<GLfloat> data[NumVbos]; | 
|     65 	}; | 
    65 	}; | 
|     66  | 
    66  | 
|     67 	void compileStaged(); | 
    67 	void compileStaged(); | 
|     68 	void compilePolygon(LDPolygon& poly, const QModelIndex& polygonOwnerIndex, ObjectVboData& objectInfo); | 
    68 	void compilePolygon(LDPolygon& poly, const QModelIndex& polygonOwnerIndex, ObjectVboData& objectInfo); | 
|     69 	Q_SLOT void compileObject(const QModelIndex &index); | 
    69 	Q_SLOT void compileObject(const Uuid& index); | 
|     70 	QColor getColorForPolygon(const LDPolygon& polygon, const QModelIndex& polygonOwnerIndex, VboSubclass complement); | 
    70 	QColor getColorForPolygon(const LDPolygon& polygon, const QModelIndex& polygonOwnerIndex, VboSubclass complement); | 
|     71 	QColor indexColorForID (qint32 id) const; | 
    71 	QColor indexColorForID (qint32 id) const; | 
|     72 	void needMerge(); | 
    72 	void needMerge(); | 
|     73 	Q_SLOT void recompile(); | 
    73 	Q_SLOT void recompile(); | 
|     74 	void dropObjectInfo (const QModelIndex &index); | 
    74 	void dropObjectInfo (const Uuid& index); | 
|     75 	Q_SLOT void forgetObject(QModelIndex index); | 
    75 	Q_SLOT void forgetObject(const Uuid& index); | 
|     76 	void stageForCompilation(const QModelIndex &index); | 
    76 	void stageForCompilation(const Uuid& index); | 
|     77 	void unstage (const QModelIndex &index); | 
    77 	void unstage (const Uuid& index); | 
|     78  | 
    78  | 
|     79 	QMap<QPersistentModelIndex, ObjectVboData> m_objectInfo; | 
    79 	QMap<Uuid, ObjectVboData> m_objectInfo; | 
|     80 	QSet<QPersistentModelIndex> m_staged; // Objects that need to be compiled | 
    80 	QSet<Uuid> m_staged; // Objects that need to be compiled | 
|     81 	GLuint m_vbo[NumVbos]; | 
    81 	GLuint m_vbo[NumVbos]; | 
|     82 	bool m_vboChanged[NumVbos] = {true}; | 
    82 	bool m_vboChanged[NumVbos] = {true}; | 
|     83 	bool needBoundingBoxRebuild = true; | 
    83 	bool needBoundingBoxRebuild = true; | 
|     84 	int m_vboSizes[NumVbos] = {0}; | 
    84 	int m_vboSizes[NumVbos] = {0}; | 
|     85 	gl::Renderer* m_renderer; | 
    85 	gl::Renderer* m_renderer; | 
|     90 	void handleRowInsertion(const QModelIndex&, int first, int last); | 
    90 	void handleRowInsertion(const QModelIndex&, int first, int last); | 
|     91 	void handleRowRemoval(const QModelIndex&, int first, int last); | 
    91 	void handleRowRemoval(const QModelIndex&, int first, int last); | 
|     92 	void handleDataChange(const QModelIndex& topLeft, const QModelIndex &bottomRight); | 
    92 	void handleDataChange(const QModelIndex& topLeft, const QModelIndex &bottomRight); | 
|     93 	void handleObjectHighlightingChanged(const QModelIndex& oldIndex, const QModelIndex& newIndex); | 
    93 	void handleObjectHighlightingChanged(const QModelIndex& oldIndex, const QModelIndex& newIndex); | 
|     94 	void clearSelectionModel(); | 
    94 	void clearSelectionModel(); | 
|         | 
    95 	void objectRemoved(const Uuid &id); | 
|     95 }; | 
    96 }; | 
|     96  | 
    97  | 
|     97 #define CHECK_GL_ERROR() { checkGLError(__FILE__, __LINE__); } | 
    98 #define CHECK_GL_ERROR() { checkGLError(__FILE__, __LINE__); } | 
|     98 void checkGLError (QString file, int line); | 
    99 void checkGLError (QString file, int line); |