vtkGraphLayoutStrategy Class Reference

#include <vtkGraphLayoutStrategy.h>

Inheritance diagram for vtkGraphLayoutStrategy:

Inheritance graph
[legend]
Collaboration diagram for vtkGraphLayoutStrategy:

Collaboration graph
[legend]

List of all members.


Detailed Description

abstract superclass for all graph layout strategies

All graph layouts should subclass from this class. vtkGraphLayoutStrategy works as a plug-in to the vtkGraphLayout algorithm. The Layout() function should perform some reasonable "chunk" of the layout. This allows the user to be able to see the progress of the layout. Use IsLayoutComplete() to tell the user when there is no more layout to perform.

Thanks:
Thanks to Brian Wylie from Sandia National Laboratories for adding incremental layout capabilities.

Definition at line 43 of file vtkGraphLayoutStrategy.h.


Public Types

typedef vtkObject Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
virtual void SetGraph (vtkGraph *graph)
virtual void Initialize ()
virtual void Layout ()=0
virtual int IsLayoutComplete ()
virtual void SetEdgeWeightField (const char *)
virtual char * GetEdgeWeightField ()

Static Public Member Functions

static int IsTypeOf (const char *type)
static vtkGraphLayoutStrategySafeDownCast (vtkObject *o)

Protected Member Functions

 vtkGraphLayoutStrategy ()
 ~vtkGraphLayoutStrategy ()

Protected Attributes

vtkGraphGraph
char * EdgeWeightField

Member Typedef Documentation


Constructor & Destructor Documentation

vtkGraphLayoutStrategy::vtkGraphLayoutStrategy (  )  [protected]

vtkGraphLayoutStrategy::~vtkGraphLayoutStrategy (  )  [protected]


Member Function Documentation

virtual const char* vtkGraphLayoutStrategy::GetClassName (  )  [virtual]

static int vtkGraphLayoutStrategy::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 vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkObject.

Reimplemented in vtkCircularLayoutStrategy, vtkClustering2DLayoutStrategy, vtkCommunity2DLayoutStrategy, vtkConstrained2DLayoutStrategy, vtkFast2DLayoutStrategy, vtkForceDirectedLayoutStrategy, vtkPassThroughLayoutStrategy, vtkRandomLayoutStrategy, vtkSimple2DLayoutStrategy, vtkTreeLayoutStrategy, and vtkTreeOrbitLayoutStrategy.

virtual int vtkGraphLayoutStrategy::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 vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkObject.

Reimplemented in vtkCircularLayoutStrategy, vtkClustering2DLayoutStrategy, vtkCommunity2DLayoutStrategy, vtkConstrained2DLayoutStrategy, vtkFast2DLayoutStrategy, vtkForceDirectedLayoutStrategy, vtkPassThroughLayoutStrategy, vtkRandomLayoutStrategy, vtkSimple2DLayoutStrategy, vtkTreeLayoutStrategy, and vtkTreeOrbitLayoutStrategy.

static vtkGraphLayoutStrategy* vtkGraphLayoutStrategy::SafeDownCast ( vtkObject o  )  [static]

void vtkGraphLayoutStrategy::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 vtkObject.

Reimplemented in vtkCircularLayoutStrategy, vtkClustering2DLayoutStrategy, vtkCommunity2DLayoutStrategy, vtkConstrained2DLayoutStrategy, vtkFast2DLayoutStrategy, vtkForceDirectedLayoutStrategy, vtkPassThroughLayoutStrategy, vtkRandomLayoutStrategy, vtkSimple2DLayoutStrategy, vtkTreeLayoutStrategy, and vtkTreeOrbitLayoutStrategy.

virtual void vtkGraphLayoutStrategy::SetGraph ( vtkGraph graph  )  [virtual]

Setting the graph for the layout strategy

Reimplemented in vtkRandomLayoutStrategy.

virtual void vtkGraphLayoutStrategy::Initialize (  )  [inline, virtual]

This method allows the layout strategy to do initialization of data structures or whatever else it might want to do.

Reimplemented in vtkClustering2DLayoutStrategy, vtkCommunity2DLayoutStrategy, vtkConstrained2DLayoutStrategy, vtkFast2DLayoutStrategy, vtkForceDirectedLayoutStrategy, vtkPassThroughLayoutStrategy, and vtkSimple2DLayoutStrategy.

Definition at line 54 of file vtkGraphLayoutStrategy.h.

virtual void vtkGraphLayoutStrategy::Layout (  )  [pure virtual]

This is the layout method where the graph that was set in SetGraph() is laid out. The method can either entirely layout the graph or iteratively lay out the graph. If you have an iterative layout please implement the IsLayoutComplete() method.

Implemented in vtkCircularLayoutStrategy, vtkClustering2DLayoutStrategy, vtkCommunity2DLayoutStrategy, vtkConstrained2DLayoutStrategy, vtkFast2DLayoutStrategy, vtkForceDirectedLayoutStrategy, vtkPassThroughLayoutStrategy, vtkRandomLayoutStrategy, vtkSimple2DLayoutStrategy, vtkTreeLayoutStrategy, and vtkTreeOrbitLayoutStrategy.

virtual int vtkGraphLayoutStrategy::IsLayoutComplete (  )  [inline, virtual]

If your concrete class is iterative than you should overload IsLayoutComplete() otherwise it simply returns 1 by default;

Reimplemented in vtkClustering2DLayoutStrategy, vtkCommunity2DLayoutStrategy, vtkConstrained2DLayoutStrategy, vtkFast2DLayoutStrategy, vtkForceDirectedLayoutStrategy, vtkPassThroughLayoutStrategy, and vtkSimple2DLayoutStrategy.

Definition at line 64 of file vtkGraphLayoutStrategy.h.

virtual void vtkGraphLayoutStrategy::SetEdgeWeightField ( const char *   )  [virtual]

Set/Get the field to use for the edge weights.

virtual char* vtkGraphLayoutStrategy::GetEdgeWeightField (  )  [virtual]

Set/Get the field to use for the edge weights.


Member Data Documentation

Definition at line 77 of file vtkGraphLayoutStrategy.h.

Definition at line 78 of file vtkGraphLayoutStrategy.h.


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

Generated on Sat Dec 27 13:27:12 2008 for VTK by  doxygen 1.5.6