#include <vtkGraphLayoutFilter.h>
vtkGraphLayoutFilter will reposition a network of nodes, connected by lines or polylines, into a more pleasing arrangement. The class implements a simple force-directed placement algorithm (Fruchterman & Reingold "Graph Drawing by Force-directed Placement" Software-Practice and Experience 21(11) 1991).
The input to the filter is a vtkPolyData representing the undirected graphs. A graph is represented by a set of polylines and/or lines. The output is also a vtkPolyData, where the point positions have been modified. To use the filter, specify whether you wish the layout to occur in 2D or 3D; the bounds in which the graph should lie (note that you can just use automatic bounds computation); and modify the cool down rate (controls the final process of simulated annealing).
Definition at line 41 of file vtkGraphLayoutFilter.h.
Public Types | |
typedef vtkPolyDataAlgorithm | Superclass |
Public Member Functions | |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) |
virtual void | SetThreeDimensionalLayout (int) |
virtual int | GetThreeDimensionalLayout () |
virtual void | ThreeDimensionalLayoutOn () |
virtual void | ThreeDimensionalLayoutOff () |
virtual void | SetGraphBounds (double, double, double, double, double, double) |
virtual void | SetGraphBounds (double[6]) |
virtual double * | GetGraphBounds () |
virtual void | GetGraphBounds (double data[6]) |
virtual void | SetAutomaticBoundsComputation (int) |
virtual int | GetAutomaticBoundsComputation () |
virtual void | AutomaticBoundsComputationOn () |
virtual void | AutomaticBoundsComputationOff () |
virtual void | SetMaxNumberOfIterations (int) |
virtual int | GetMaxNumberOfIterations () |
virtual void | SetCoolDownRate (double) |
virtual double | GetCoolDownRate () |
Static Public Member Functions | |
static vtkGraphLayoutFilter * | New () |
static int | IsTypeOf (const char *type) |
static vtkGraphLayoutFilter * | SafeDownCast (vtkObject *o) |
Protected Member Functions | |
vtkGraphLayoutFilter () | |
~vtkGraphLayoutFilter () | |
int | RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *) |
Protected Attributes | |
double | GraphBounds [6] |
int | AutomaticBoundsComputation |
int | MaxNumberOfIterations |
double | CoolDownRate |
int | ThreeDimensionalLayout |
vtkGraphLayoutFilter::vtkGraphLayoutFilter | ( | ) | [protected] |
vtkGraphLayoutFilter::~vtkGraphLayoutFilter | ( | ) | [inline, protected] |
Definition at line 91 of file vtkGraphLayoutFilter.h.
static vtkGraphLayoutFilter* vtkGraphLayoutFilter::New | ( | ) | [static] |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
Reimplemented from vtkPolyDataAlgorithm.
virtual const char* vtkGraphLayoutFilter::GetClassName | ( | ) | [virtual] |
Reimplemented from vtkPolyDataAlgorithm.
static int vtkGraphLayoutFilter::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 vtkPolyDataAlgorithm.
virtual int vtkGraphLayoutFilter::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 vtkPolyDataAlgorithm.
static vtkGraphLayoutFilter* vtkGraphLayoutFilter::SafeDownCast | ( | vtkObject * | o | ) | [static] |
Reimplemented from vtkPolyDataAlgorithm.
void vtkGraphLayoutFilter::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 vtkPolyDataAlgorithm.
virtual void vtkGraphLayoutFilter::SetGraphBounds | ( | double | , | |
double | , | |||
double | , | |||
double | , | |||
double | , | |||
double | ||||
) | [virtual] |
Set / get the region in space in which to place the final graph. The GraphBounds only affects the results if AutomaticBoundsComputation is off.
virtual void vtkGraphLayoutFilter::SetGraphBounds | ( | double | [6] | ) | [virtual] |
Set / get the region in space in which to place the final graph. The GraphBounds only affects the results if AutomaticBoundsComputation is off.
virtual double* vtkGraphLayoutFilter::GetGraphBounds | ( | ) | [virtual] |
Set / get the region in space in which to place the final graph. The GraphBounds only affects the results if AutomaticBoundsComputation is off.
virtual void vtkGraphLayoutFilter::GetGraphBounds | ( | double | data[6] | ) | [virtual] |
Set / get the region in space in which to place the final graph. The GraphBounds only affects the results if AutomaticBoundsComputation is off.
virtual void vtkGraphLayoutFilter::SetAutomaticBoundsComputation | ( | int | ) | [virtual] |
Turn on/off automatic graph bounds calculation. If this boolean is off, then the manually specified GraphBounds is used. If on, then the input's bounds us used as the graph bounds.
virtual int vtkGraphLayoutFilter::GetAutomaticBoundsComputation | ( | ) | [virtual] |
Turn on/off automatic graph bounds calculation. If this boolean is off, then the manually specified GraphBounds is used. If on, then the input's bounds us used as the graph bounds.
virtual void vtkGraphLayoutFilter::AutomaticBoundsComputationOn | ( | ) | [virtual] |
Turn on/off automatic graph bounds calculation. If this boolean is off, then the manually specified GraphBounds is used. If on, then the input's bounds us used as the graph bounds.
virtual void vtkGraphLayoutFilter::AutomaticBoundsComputationOff | ( | ) | [virtual] |
Turn on/off automatic graph bounds calculation. If this boolean is off, then the manually specified GraphBounds is used. If on, then the input's bounds us used as the graph bounds.
virtual void vtkGraphLayoutFilter::SetMaxNumberOfIterations | ( | int | ) | [virtual] |
Set/Get the maximum number of iterations to be used. The higher this number, the more iterations through the algorithm is possible, and thus, the more the graph gets modified.
virtual int vtkGraphLayoutFilter::GetMaxNumberOfIterations | ( | ) | [virtual] |
Set/Get the maximum number of iterations to be used. The higher this number, the more iterations through the algorithm is possible, and thus, the more the graph gets modified.
virtual void vtkGraphLayoutFilter::SetCoolDownRate | ( | double | ) | [virtual] |
Set/Get the Cool-down rate. The higher this number is, the longer it will take to "cool-down", and thus, the more the graph will be modified.
virtual double vtkGraphLayoutFilter::GetCoolDownRate | ( | ) | [virtual] |
Set/Get the Cool-down rate. The higher this number is, the longer it will take to "cool-down", and thus, the more the graph will be modified.
virtual void vtkGraphLayoutFilter::SetThreeDimensionalLayout | ( | int | ) | [virtual] |
virtual int vtkGraphLayoutFilter::GetThreeDimensionalLayout | ( | ) | [virtual] |
virtual void vtkGraphLayoutFilter::ThreeDimensionalLayoutOn | ( | ) | [virtual] |
virtual void vtkGraphLayoutFilter::ThreeDimensionalLayoutOff | ( | ) | [virtual] |
int vtkGraphLayoutFilter::RequestData | ( | vtkInformation * | request, | |
vtkInformationVector ** | inputVector, | |||
vtkInformationVector * | outputVector | |||
) | [protected, virtual] |
This is called by the superclass. This is the method you should override.
Reimplemented from vtkPolyDataAlgorithm.
double vtkGraphLayoutFilter::GraphBounds[6] [protected] |
Definition at line 95 of file vtkGraphLayoutFilter.h.
int vtkGraphLayoutFilter::AutomaticBoundsComputation [protected] |
Definition at line 96 of file vtkGraphLayoutFilter.h.
int vtkGraphLayoutFilter::MaxNumberOfIterations [protected] |
Definition at line 97 of file vtkGraphLayoutFilter.h.
double vtkGraphLayoutFilter::CoolDownRate [protected] |
Definition at line 98 of file vtkGraphLayoutFilter.h.
int vtkGraphLayoutFilter::ThreeDimensionalLayout [protected] |
Definition at line 99 of file vtkGraphLayoutFilter.h.