VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
vtkBoostDividedEdgeBundling Class Reference

layout graph edges in directed edge bundles More...

#include <vtkBoostDividedEdgeBundling.h>

Inherits vtkDirectedGraphAlgorithm.

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 vtkObjectBase * NewInstanceInternal () 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

typedef vtkDirectedGraphAlgorithm vtkBoostDividedEdgeBundling::Superclass

Definition at line 55 of file vtkBoostDividedEdgeBundling.h.

Constructor & Destructor Documentation

vtkBoostDividedEdgeBundling::vtkBoostDividedEdgeBundling ( )
protected
vtkBoostDividedEdgeBundling::~vtkBoostDividedEdgeBundling ( )
inlineprotected

Definition at line 60 of file vtkBoostDividedEdgeBundling.h.

Member Function Documentation

static vtkBoostDividedEdgeBundling* vtkBoostDividedEdgeBundling::New ( )
static
static int vtkBoostDividedEdgeBundling::IsTypeOf ( const char *  type)
static
virtual int vtkBoostDividedEdgeBundling::IsA ( const char *  type)
virtual
static vtkBoostDividedEdgeBundling* vtkBoostDividedEdgeBundling::SafeDownCast ( vtkObjectBase *  o)
static
virtual vtkObjectBase* vtkBoostDividedEdgeBundling::NewInstanceInternal ( ) const
protectedvirtual
vtkBoostDividedEdgeBundling* vtkBoostDividedEdgeBundling::NewInstance ( ) const
void vtkBoostDividedEdgeBundling::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
int vtkBoostDividedEdgeBundling::RequestData ( vtkInformation *  ,
vtkInformationVector **  ,
vtkInformationVector *   
)
protected

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