Main Page | Directories | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

vtkGraphLayoutFilter Class Reference

#include <vtkGraphLayoutFilter.h>

Inheritance diagram for vtkGraphLayoutFilter:

Inheritance graph
[legend]
Collaboration diagram for vtkGraphLayoutFilter:

Collaboration graph
[legend]
List of all members.

Detailed Description

nice layout of undirected graphs in 3D

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).

Created by:
  • Schroeder, Will
CVS contributions (if > 5%):
  • Schroeder, Will (88%)
  • Martin, Ken (6%)
CVS logs (CVSweb):
  • .h (/Graphics/vtkGraphLayoutFilter.h)
  • .cxx (/Graphics/vtkGraphLayoutFilter.cxx)
Tests:
vtkGraphLayoutFilter (Tests)

Definition at line 52 of file vtkGraphLayoutFilter.h.

Public Types

typedef vtkPolyDataToPolyDataFilter 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

vtkGraphLayoutFilterNew ()
int IsTypeOf (const char *type)
vtkGraphLayoutFilterSafeDownCast (vtkObject *o)

Protected Member Functions

 vtkGraphLayoutFilter ()
 ~vtkGraphLayoutFilter ()
void Execute ()

Protected Attributes

double GraphBounds [6]
int AutomaticBoundsComputation
int MaxNumberOfIterations
double CoolDownRate
int ThreeDimensionalLayout


Member Typedef Documentation

typedef vtkPolyDataToPolyDataFilter vtkGraphLayoutFilter::Superclass
 

Reimplemented from vtkPolyDataToPolyDataFilter.

Definition at line 57 of file vtkGraphLayoutFilter.h.


Constructor & Destructor Documentation

vtkGraphLayoutFilter::vtkGraphLayoutFilter  )  [protected]
 

vtkGraphLayoutFilter::~vtkGraphLayoutFilter  )  [inline, protected]
 

Definition at line 102 of file vtkGraphLayoutFilter.h.


Member Function Documentation

vtkGraphLayoutFilter* vtkGraphLayoutFilter::New  )  [static]
 

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

Reimplemented from vtkAlgorithm.

virtual const char* vtkGraphLayoutFilter::GetClassName  )  [virtual]
 

Reimplemented from vtkPolyDataToPolyDataFilter.

int vtkGraphLayoutFilter::IsTypeOf const char *  type  )  [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 vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkPolyDataToPolyDataFilter.

virtual int vtkGraphLayoutFilter::IsA const char *  type  )  [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 vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkPolyDataToPolyDataFilter.

vtkGraphLayoutFilter* vtkGraphLayoutFilter::SafeDownCast vtkObject o  )  [static]
 

Reimplemented from vtkPolyDataToPolyDataFilter.

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 vtkPolyDataToPolyDataFilter.

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]
 

void vtkGraphLayoutFilter::Execute  )  [protected, virtual]
 

This method is the old style execute method

Reimplemented from vtkSource.


Member Data Documentation

double vtkGraphLayoutFilter::GraphBounds[6] [protected]
 

Definition at line 106 of file vtkGraphLayoutFilter.h.

int vtkGraphLayoutFilter::AutomaticBoundsComputation [protected]
 

Definition at line 107 of file vtkGraphLayoutFilter.h.

int vtkGraphLayoutFilter::MaxNumberOfIterations [protected]
 

Definition at line 108 of file vtkGraphLayoutFilter.h.

double vtkGraphLayoutFilter::CoolDownRate [protected]
 

Definition at line 109 of file vtkGraphLayoutFilter.h.

int vtkGraphLayoutFilter::ThreeDimensionalLayout [protected]
 

Definition at line 110 of file vtkGraphLayoutFilter.h.


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