VTK
dox/Infovis/vtkEdgeLayout.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkEdgeLayout.h
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00015 /*----------------------------------------------------------------------------
00016  Copyright (c) Sandia Corporation
00017  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
00018 ----------------------------------------------------------------------------*/
00031 #ifndef __vtkEdgeLayout_h
00032 #define __vtkEdgeLayout_h
00033 
00034 #include "vtkGraphAlgorithm.h"
00035 
00036 class vtkEdgeLayoutStrategy;
00037 class vtkEventForwarderCommand;
00038 
00039 class VTK_INFOVIS_EXPORT vtkEdgeLayout : public vtkGraphAlgorithm 
00040 {
00041 public:
00042   static vtkEdgeLayout *New();
00043   vtkTypeMacro(vtkEdgeLayout, vtkGraphAlgorithm);
00044   void PrintSelf(ostream& os, vtkIndent indent);
00045 
00047 
00048   void SetLayoutStrategy(vtkEdgeLayoutStrategy *strategy);
00049   vtkGetObjectMacro(LayoutStrategy, vtkEdgeLayoutStrategy);
00051   
00053   virtual unsigned long GetMTime();
00054 
00055 protected:
00056   vtkEdgeLayout();
00057   ~vtkEdgeLayout();
00058 
00059   vtkEdgeLayoutStrategy* LayoutStrategy;
00060 
00062 
00064   vtkEventForwarderCommand *EventForwarder;
00065   unsigned long ObserverTag;
00067 
00068   int RequestData(
00069     vtkInformation *, 
00070     vtkInformationVector **, 
00071     vtkInformationVector *);
00072   
00073 private:
00074 
00075   vtkGraph *InternalGraph;
00076 
00077   vtkEdgeLayout(const vtkEdgeLayout&);  // Not implemented.
00078   void operator=(const vtkEdgeLayout&);  // Not implemented.
00079 };
00080 
00081 #endif