summaryrefslogtreecommitdiff
path: root/community-staging/vtk/fix-boost-graph-api-changes.diff
blob: 2162e7a283876e270eee0fb9d071fa9ef4f3f0cb (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
40
41
42
commit d3ecc2c459dd1df937fc97887581ace1036da533
Author: Marcus D. Hanwell <marcus.hanwell@kitware.com>
Date:   Tue Dec 13 15:36:06 2011 -0500

    BUG: 12772 fixes for change in Boost graph API
    
    This fixes bug 12772, where an API change in Boost was causing
    compilation failures using Boost 1.38. Thanks to Orion Poplawski for
    reporting the issue and posting the patch.
    
    Change-Id: I491b0f1650c0be19319533306eb10597dc96fa06

diff --git a/Infovis/vtkBoostBreadthFirstSearchTree.cxx b/Infovis/vtkBoostBreadthFirstSearchTree.cxx
index c789f6b..cf7cd47 100644
--- a/Infovis/vtkBoostBreadthFirstSearchTree.cxx
+++ b/Infovis/vtkBoostBreadthFirstSearchTree.cxx
@@ -47,6 +47,15 @@ using namespace boost;
 vtkStandardNewMacro(vtkBoostBreadthFirstSearchTree);
 
 
+namespace {
+  vtkIdType unwrap_edge_id(vtkEdgeType const &e) {
+    return e.Id;
+  }
+  vtkIdType unwrap_edge_id(boost::detail::reverse_graph_edge_descriptor<vtkEdgeType> const &e) {
+    return e.underlying_desc.Id;
+  }
+}
+
 // Redefine the bfs visitor, the only visitor we
 // are using is the tree_edge visitor.
 template <typename IdMap>
@@ -95,7 +104,8 @@ public:
 
     // Copy the vertex and edge data from the graph to the tree.
     tree->GetVertexData()->CopyData(graph->GetVertexData(), v, tree_v);
-    tree->GetEdgeData()->CopyData(graph->GetEdgeData(), e.Id, tree_e.Id);
+    tree->GetEdgeData()->CopyData(graph->GetEdgeData(),
+                                  unwrap_edge_id(e), tree_e.Id);
   }
 
 private: