--- a/src/glcompiler.h Fri Dec 28 00:03:47 2018 +0200 +++ b/src/glcompiler.h Thu Jun 20 08:54:35 2019 +0300 @@ -66,18 +66,18 @@ void compileStaged(); void compilePolygon(LDPolygon& poly, const QModelIndex& polygonOwnerIndex, ObjectVboData& objectInfo); - Q_SLOT void compileObject(const QModelIndex &index); + Q_SLOT void compileObject(const Uuid& index); QColor getColorForPolygon(const LDPolygon& polygon, const QModelIndex& polygonOwnerIndex, VboSubclass complement); QColor indexColorForID (qint32 id) const; void needMerge(); Q_SLOT void recompile(); - void dropObjectInfo (const QModelIndex &index); - Q_SLOT void forgetObject(QModelIndex index); - void stageForCompilation(const QModelIndex &index); - void unstage (const QModelIndex &index); + void dropObjectInfo (const Uuid& index); + Q_SLOT void forgetObject(const Uuid& index); + void stageForCompilation(const Uuid& index); + void unstage (const Uuid& index); - QMap<QPersistentModelIndex, ObjectVboData> m_objectInfo; - QSet<QPersistentModelIndex> m_staged; // Objects that need to be compiled + QMap<Uuid, ObjectVboData> m_objectInfo; + QSet<Uuid> m_staged; // Objects that need to be compiled GLuint m_vbo[NumVbos]; bool m_vboChanged[NumVbos] = {true}; bool needBoundingBoxRebuild = true; @@ -92,6 +92,7 @@ void handleDataChange(const QModelIndex& topLeft, const QModelIndex &bottomRight); void handleObjectHighlightingChanged(const QModelIndex& oldIndex, const QModelIndex& newIndex); void clearSelectionModel(); + void objectRemoved(const Uuid &id); }; #define CHECK_GL_ERROR() { checkGLError(__FILE__, __LINE__); }