diff -r 121a40d5e34c -r 8e1c9f18ae15 src/vertexmap.h --- a/src/vertexmap.h Tue Jul 27 13:23:34 2021 +0300 +++ b/src/vertexmap.h Tue Jul 27 16:29:00 2021 +0300 @@ -4,14 +4,22 @@ #include "main.h" #include "model.h" +/** + * @brief Collects a map of all vertices in a model to all objects that use the specified vertex. + */ class VertexMap : public QObject { Q_OBJECT public: + using ApplyFunction = std::function&)>; VertexMap(const Model *model); Q_SLOT void build(); + void apply(ApplyFunction fn) const; +Q_SIGNALS: + Q_SIGNAL void verticesChanged(); private: const Model* const model; + std::map vertices; std::map> map; };