VTK
dox/Infovis/Layout/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 "vtkInfovisLayoutModule.h" // For export macro
00035 #include "vtkGraphAlgorithm.h"
00036 
00037 class vtkEdgeLayoutStrategy;
00038 class vtkEventForwarderCommand;
00039 
00040 class VTKINFOVISLAYOUT_EXPORT vtkEdgeLayout : public vtkGraphAlgorithm
00041 {
00042 public:
00043   static vtkEdgeLayout *New();
00044   vtkTypeMacro(vtkEdgeLayout, vtkGraphAlgorithm);
00045   void PrintSelf(ostream& os, vtkIndent indent);
00046 
00048 
00049   void SetLayoutStrategy(vtkEdgeLayoutStrategy *strategy);
00050   vtkGetObjectMacro(LayoutStrategy, vtkEdgeLayoutStrategy);
00052 
00054   virtual unsigned long GetMTime();
00055 
00056 protected:
00057   vtkEdgeLayout();
00058   ~vtkEdgeLayout();
00059 
00060   vtkEdgeLayoutStrategy* LayoutStrategy;
00061 
00063 
00065   vtkEventForwarderCommand *EventForwarder;
00066   unsigned long ObserverTag;
00068 
00069   int RequestData(
00070     vtkInformation *,
00071     vtkInformationVector **,
00072     vtkInformationVector *);
00073 
00074 private:
00075 
00076   vtkGraph *InternalGraph;
00077 
00078   vtkEdgeLayout(const vtkEdgeLayout&);  // Not implemented.
00079   void operator=(const vtkEdgeLayout&);  // Not implemented.
00080 };
00081 
00082 #endif