On Tue, Jan 18, 2011 at 10:41 AM, Steffen Oeltze <span dir="ltr"><<a href="mailto:stoeltze@isg.cs.uni-magdeburg.de" target="_blank">stoeltze@isg.cs.uni-magdeburg.de</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
DearAll,<br>
<br>
I plan to evaluate VTK for graph visualization and I wonder whether it provides the features listed below.<br>
For some features, I already found information online.<br>
<br>
- handle ~100 vertices and ~10000 edges (ok)<br>
- circular layout strategy (ok)<br>
- edge bundling (ok)<br>
- vertex/edge labeling (ok)<br>
<br>
- interactive selection of multiple vertices and edges by picking (???)<br></blockquote><div><br></div><div>Yes. See for example Views/Testing/Cxx/TestGraphLayoutView.cxx (run "bin/ViewsCxxTests TestGraphLayoutView -I") with VTK testing on). If you want to do something with the selection you need to implement a callback.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
- modifying the edge thickness/width according to some edge weight (???)<br></blockquote><div><br></div><div>Not currently possible. To stress certain edges I normally use a color map for edges that changes their opacity based on the weight.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
- filtering vertices according to their degree (???)<br></blockquote><div><br></div><div>Yes. Use vtkVertexDegree followed by vtkThresholdGraph.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
- filtering edges according to their weight (???)<br></blockquote><div><br></div><div>Yes, again vtkThresholdGraph.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
- fast update when the set of vertices remains fixed but the set of connecting edges changes (???)<br></blockquote><div><br></div><div>Depends what you mean by fast. If you add them via VTK's pipeline, the topology structure and edge data arrays would be copied for any change, while the vertex data arrays would remain the same. If you perform "out of band" processing, where you directly manipulate the graph data structure outside the pipeline, it would be faster and would have less memory overhead.</div>
<div><br></div><div>Jeff</div>
<div><br></div></div>