Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages

# Graphics/vtkGraphLayoutFilter.h

Go to the documentation of this file.

    00001 /*=========================================================================
    00002
    00003   Program:   Visualization Toolkit
    00004   Module:    $RCSfile: vtkGraphLayoutFilter.h,v $
    00005   Language:  C++
    00006
    00007   Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen
    00008   All rights reserved.
    00009   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
    00010
    00011      This software is distributed WITHOUT ANY WARRANTY; without even
    00012      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
    00013      PURPOSE.  See the above copyright notice for more information.
    00014
    00015 =========================================================================*/
    00050 #ifndef __vtkGraphLayoutFilter_h
    00051 #define __vtkGraphLayoutFilter_h
    00052
    00053 #include "vtkPolyDataToPolyDataFilter.h"
    00054
    00055 class VTK_GRAPHICS_EXPORT vtkGraphLayoutFilter : public vtkPolyDataToPolyDataFilter
    00056 {
    00057 public:
    00058   static vtkGraphLayoutFilter *New();
    00059
    00060   vtkTypeRevisionMacro(vtkGraphLayoutFilter,vtkPolyDataToPolyDataFilter);
    00061   void PrintSelf(ostream& os, vtkIndent indent);
    00062
    00064
    00067   vtkSetVector6Macro(GraphBounds,float);
    00068   vtkGetVectorMacro(GraphBounds,float,6);
    00070
    00072
    00075   vtkSetMacro(AutomaticBoundsComputation, int);
    00076   vtkGetMacro(AutomaticBoundsComputation, int);
    00077   vtkBooleanMacro(AutomaticBoundsComputation, int);
    00079
    00081
    00084   vtkSetClampMacro(MaxNumberOfIterations, int, 0, VTK_LARGE_INTEGER);
    00085   vtkGetMacro(MaxNumberOfIterations, int);
    00087
    00089
    00092   vtkSetClampMacro(CoolDownRate, float, 0.01, VTK_LARGE_FLOAT);
    00093   vtkGetMacro(CoolDownRate, float);
    00095
    00096   // Turn on/off layout of graph in three dimensions. If off, graph
    00097   // layout occurs in two dimensions. By default, three dimensional
    00098   // layout is on.
    00099   vtkSetMacro(ThreeDimensionalLayout, int);
    00100   vtkGetMacro(ThreeDimensionalLayout, int);
    00101   vtkBooleanMacro(ThreeDimensionalLayout, int);
    00102
    00103 protected:
    00104   vtkGraphLayoutFilter();
    00105   ~vtkGraphLayoutFilter() {}
    00106
    00107   void Execute();
    00108
    00109   float GraphBounds[6];
    00110   int   AutomaticBoundsComputation;  //Boolean controls automatic bounds calc.
    00111   int   MaxNumberOfIterations;  //Maximum number of iterations.
    00112   float CoolDownRate;  //Cool-down rate.  Note:  Higher # = Slower rate.
    00113   int   ThreeDimensionalLayout;  //Boolean for a third dimension.
    00114 private:
    00115   vtkGraphLayoutFilter(const vtkGraphLayoutFilter&);  // Not implemented.
    00116   void operator=(const vtkGraphLayoutFilter&);  // Not implemented.
    00117 };
    00118
    00119 #endif