Будучи новичком в библиотеке графов надстроек, я часто обнаруживаю, что трудно определить, какие части примеров связаны с конкретным примером, а какие являются универсальными для использования.
В качестве упражнения яЯ пытаюсь создать простой график, назначить свойство цвета вершинам и вывести результат в graphviz, чтобы цвета отображались как цветовые атрибуты, которые отображаются.Любая помощь будет оценена!Вот что у меня есть (более конкретные вопросы использования в комментариях здесь):
#include "fstream"
#include "boost/graph/graphviz.hpp"
#include "boost/graph/adjacency_list.hpp"
struct vertex_info {
int color;
};
typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, vertex_info> Graph;
typedef std::pair<int, int> Edge;
int main(void) {
Graph g;
add_edge(0, 1, g);
add_edge(1, 2, g);
// replace this with some traversing and assigning of colors to the 3 vertices ...
// should I use bundled properties for this?
// it's unclear how I would get write_graphviz to recognize a bundled property as the color attribute
g[0].color = 1;
std::ofstream outf("min.gv");
write_graphviz(outf, g); // how can I make write_graphviz output the vertex colors?
}