VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions
vtkBoostDividedEdgeBundling Class Reference

layout graph edges in directed edge bundles More...

#include <vtkBoostDividedEdgeBundling.h>

Inheritance diagram for vtkBoostDividedEdgeBundling:
Inheritance graph
[legend]
Collaboration diagram for vtkBoostDividedEdgeBundling:
Collaboration graph
[legend]

List of all members.

Public Types

typedef vtkDirectedGraphAlgorithm Superclass

Public Member Functions

virtual int IsA (const char *type)
vtkBoostDividedEdgeBundlingNewInstance () const
void PrintSelf (ostream &os, vtkIndent indent)

Static Public Member Functions

static
vtkBoostDividedEdgeBundling
New ()
static int IsTypeOf (const char *type)
static
vtkBoostDividedEdgeBundling
SafeDownCast (vtkObjectBase *o)

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 vtkBoostDividedEdgeBundling ()
 ~vtkBoostDividedEdgeBundling ()
int RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *)

Detailed Description

layout graph edges in directed edge bundles

Uses the technique by Selassie, Heller, and Heer to route graph edges into directed bundles, with "lanes" for bundled edges moving in each direction. This technique works best for networks whose vertices have been positioned already (geospatial graphs, for example). Note that this scales to a few thousand edges in a reasonable period of time (~1 minute). The time complexity comes mainly from the doubling of edge control points each cycle and the complex set of forces between many pairs of edge points.

The algorithm depends on the Boost graph library for its implementation of all-pairs shortest paths, needed here for determining connectivity compatibility.

Thanks:
This algorithm was developed in the paper: David Selassie, Brandon Heller, Jeffrey Heer. Divided Edge Bundling for Directional Network Data. Proceedings of IEEE InfoVis 2011.
Tests:
vtkBoostDividedEdgeBundling (Tests)

Definition at line 50 of file vtkBoostDividedEdgeBundling.h.


Member Typedef Documentation

Reimplemented from vtkDirectedGraphAlgorithm.

Definition at line 55 of file vtkBoostDividedEdgeBundling.h.


Constructor & Destructor Documentation

Definition at line 60 of file vtkBoostDividedEdgeBundling.h.


Member Function Documentation

Create an object with Debug turned off, modified time initialized to zero, and reference counting on.

Reimplemented from vtkDirectedGraphAlgorithm.

static int vtkBoostDividedEdgeBundling::IsTypeOf ( const char *  name) [static]

Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkDirectedGraphAlgorithm.

virtual int vtkBoostDividedEdgeBundling::IsA ( const char *  name) [virtual]

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkDirectedGraphAlgorithm.

Reimplemented from vtkDirectedGraphAlgorithm.

virtual vtkObjectBase* vtkBoostDividedEdgeBundling::NewInstanceInternal ( ) const [protected, virtual]

Reimplemented from vtkDirectedGraphAlgorithm.

Reimplemented from vtkDirectedGraphAlgorithm.

void vtkBoostDividedEdgeBundling::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkDirectedGraphAlgorithm.

int vtkBoostDividedEdgeBundling::RequestData ( vtkInformation request,
vtkInformationVector **  inputVector,
vtkInformationVector outputVector 
) [protected, virtual]

This is called by the superclass. This is the method you should override.

Reimplemented from vtkDirectedGraphAlgorithm.


The documentation for this class was generated from the following file: