Hi Doug, thanks for your reply. I do need to remove vertices/edges, hence the listS. There is the issue of dot not parsing hex addresses properly and I understand the reason for changing the code in this respect. I can add the additional property to all my graphs but that is overhead for me since I use the graphviz stuff for debugging only. Rather than incurring that overhead I would prefer to filter the hex addresses to dot-readable names and not print any labels. If people want to see their vertices indexed and printed like this they can add the vertex_index property and write their own label writers. Is there any chance for a graphviz code change that filters the hex addresses ? Jean
The GraphViz writer needs to be able to generate unique labels for each of the nodes. The easiest way to do that is to use the indices of the vertices. This is required because descriptors don't necessarily make good labels... it worked before for some graph types by accident.
To fix this, you would need to add a "vertex_index_t" property to the vertices in your graph and set them to values in [0, num_vertices(g)), usually like this:
vertex_iterator vi, vi_end; int i = 0; for(tie(vi, vi_end) = vertices(g); vi != vi_end; ++vi, ++i) put(vertex_index, g, *vi, i);
Actually, you'll probably find that using BGL algorithms becomes a lot easier after you've done this :)
The alternative suggested by Jeffrey Holle is easier, but only if you don't need to remove vertices from your graph.
Doug
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
-- Jean Utke Argonne National Lab./MCS utke@mcs.anl.gov phone: 630 252 4552 cell: 630 363 5753