[vtkusers] converting vtkGraph to boostGraph to use with OpenGraphFixedTracking from D. Doria
Dr. Roman Grothausmann
grothausmann.roman at mh-hannover.de
Wed Feb 6 09:30:19 EST 2013
Dear mailing list members,
How can I use a vtkGraph as a boostGraph which is needed for
OpenGraphFixedTracking from D. Doria
(http://www.midasjournal.org/browse/publication/828)?
I looked at vtkBoostBreadthFirstSearch.cxx and included vtkBoostGraphAdapter.h
(see below) and copied it to the project dir (seems this header-file is not
installed with VTK, why?) but I still get an error:
error: invalid user-defined conversion from ‘vtkGraph*’ to ‘const Graph& {aka
const boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS,
boost::no_property, EdgeVisibility>&}’ [-fpermissive]
What am I missing?
Any help or hints are very much appreciated
Roman
______________________________________
#include "vtkBoostGraphAdapter.h"
#include <vtkXMLPolyDataReader.h>//for vtp-files (cannot contain 3D cells?)
#include <vtkPolyDataToGraph.h>
#include <vtkGraphToPolyData.h>
#include <vtkXMLPolyDataWriter.h>//for vtp-files
...
// Read the graph
//Graph graph = ReadGraph(inputFileName);
vtkSmartPointer<vtkXMLPolyDataReader> reader =
vtkSmartPointer<vtkXMLPolyDataReader>::New();
//reader->SetFileName(inputFileName);
reader->SetFileName(argv[1]);
reader->Update();
vtkSmartPointer<vtkPolyDataToGraph> polyDataToGraphFilter=
vtkSmartPointer<vtkPolyDataToGraph>::New();
polyDataToGraphFilter->SetInputConnection(reader->GetOutputPort());
polyDataToGraphFilter->Update();
vtkGraph* graph= polyDataToGraphFilter->GetOutput();
//vtkBoostUndirectedGraph g(graph);
//vtkUndirectedGraph *g = vtkUndirectedGraph::SafeDownCast(graph);
//Graph openedGraph = OpenGraphFixedTracking(g, numberOfIterations);
//Graph openedGraph = OpenGraphFixedTracking(boost::graph_traits<graph>,
numberOfIterations);
Graph openedGraph = OpenGraphFixedTracking(graph, numberOfIterations);
//WriteGraph(openedGraph, outputFileName);
vtkSmartPointer<vtkGraphToPolyData> graphToPolyData=
vtkSmartPointer<vtkGraphToPolyData>::New();
graphToPolyData->SetInput(openedGraph);
graphToPolyData->Update();
vtkSmartPointer<vtkXMLPolyDataWriter> writer=
vtkSmartPointer<vtkXMLPolyDataWriter>::New();
//writer->SetFileName(outputFileName);
writer->SetFileName(argv[2]);
writer->SetInputConnection(graphToPolyData->GetOutputPort());
writer->Write();
--
Dr. Roman Grothausmann
Tomographie und Digitale Bildverarbeitung
Tomography and Digital Image Analysis
Institut für Funktionelle und Angewandte Anatomie, OE 4120
Medizinische Hochschule Hannover
Carl-Neuberg-Str. 1
D-30625 Hannover
Tel. +49 511 532-9574
-------------- next part --------------
A non-text attachment was scrubbed...
Name: GraphOpeningTrackingExample_01.cxx
Type: text/x-c++src
Size: 3412 bytes
Desc: not available
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20130206/895258ce/attachment.cxx>
More information about the vtkusers
mailing list