VTK
|
layout graph edges in directed edge bundles More...
#include <vtkBoostDividedEdgeBundling.h>
Public Types | |
typedef vtkDirectedGraphAlgorithm | Superclass |
Public Member Functions | |
virtual int | IsA (const char *type) |
vtkBoostDividedEdgeBundling * | NewInstance () 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 *) |
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.
Definition at line 50 of file vtkBoostDividedEdgeBundling.h.
Reimplemented from vtkDirectedGraphAlgorithm.
Definition at line 55 of file vtkBoostDividedEdgeBundling.h.
vtkBoostDividedEdgeBundling::vtkBoostDividedEdgeBundling | ( | ) | [protected] |
vtkBoostDividedEdgeBundling::~vtkBoostDividedEdgeBundling | ( | ) | [inline, protected] |
Definition at line 60 of file vtkBoostDividedEdgeBundling.h.
static vtkBoostDividedEdgeBundling* vtkBoostDividedEdgeBundling::New | ( | ) | [static] |
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.
static vtkBoostDividedEdgeBundling* vtkBoostDividedEdgeBundling::SafeDownCast | ( | vtkObjectBase * | o | ) | [static] |
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.