blob: 30a0e9a4c6064716d1b64f9601a1cbde97483df4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
diff --git a/Infovis/vtkBoostBreadthFirstSearchTree.cxx b/Infovis/vtkBoostBreadthFirstSearchTree.cxx
index c789f6b..13e7cb6 100644
--- a/Infovis/vtkBoostBreadthFirstSearchTree.cxx
+++ b/Infovis/vtkBoostBreadthFirstSearchTree.cxx
@@ -47,6 +47,21 @@ using namespace boost;
vtkStandardNewMacro(vtkBoostBreadthFirstSearchTree);
+#if BOOST_VERSION >= 104800 // Boost 1.48.x
+namespace {
+ vtkIdType unwrap_edge_id(vtkEdgeType const &e) {
+ return e.Id;
+ }
+ vtkIdType unwrap_edge_id(boost::detail::reverse_graph_edge_descriptor<vtkEdgeType> const &e) {
+# if BOOST_VERSION == 104800
+ return e.underlying_desc.Id;
+# else
+ return e.underlying_descx.Id;
+# endif
+ }
+}
+#endif
+
// Redefine the bfs visitor, the only visitor we
// are using is the tree_edge visitor.
template <typename IdMap>
@@ -95,7 +106,12 @@ public:
// Copy the vertex and edge data from the graph to the tree.
tree->GetVertexData()->CopyData(graph->GetVertexData(), v, tree_v);
+#if BOOST_VERSION < 104800 // Boost 1.48.x
tree->GetEdgeData()->CopyData(graph->GetEdgeData(), e.Id, tree_e.Id);
+#else
+ tree->GetEdgeData()->CopyData(graph->GetEdgeData(),
+ unwrap_edge_id(e), tree_e.Id);
+#endif
}
private:
|