VTK
dox/Views/vtkHierarchicalGraphView.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkHierarchicalGraphView.h
00005   
00006 -------------------------------------------------------------------------
00007   Copyright 2008 Sandia Corporation.
00008   Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
00009   the U.S. Government retains certain rights in this software.
00010 -------------------------------------------------------------------------
00011 
00012   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00013   All rights reserved.
00014   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00015 
00016      This software is distributed WITHOUT ANY WARRANTY; without even
00017      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00018      PURPOSE.  See the above copyright notice for more information.
00019 
00020 =========================================================================*/
00021 
00046 #ifndef __vtkHierarchicalGraphView_h
00047 #define __vtkHierarchicalGraphView_h
00048 
00049 #include "vtkGraphLayoutView.h"
00050 
00051 class vtkRenderedHierarchyRepresentation;
00052 
00053 class VTK_VIEWS_EXPORT vtkHierarchicalGraphView : public vtkGraphLayoutView
00054 {
00055 public:
00056   static vtkHierarchicalGraphView *New();
00057   vtkTypeMacro(vtkHierarchicalGraphView, vtkGraphLayoutView);
00058   void PrintSelf(ostream& os, vtkIndent indent);
00059   
00061 
00063   vtkDataRepresentation* SetHierarchyFromInputConnection(vtkAlgorithmOutput* conn);
00064   vtkDataRepresentation* SetHierarchyFromInput(vtkDataObject* input);
00065   vtkDataRepresentation* SetGraphFromInputConnection(vtkAlgorithmOutput* conn);
00066   vtkDataRepresentation* SetGraphFromInput(vtkDataObject* input);
00068   
00070 
00071   virtual void SetGraphEdgeLabelArrayName(const char* name);
00072   virtual const char* GetGraphEdgeLabelArrayName();
00074   
00076 
00077   virtual void SetGraphEdgeLabelVisibility(bool vis);
00078   virtual bool GetGraphEdgeLabelVisibility();
00079   vtkBooleanMacro(GraphEdgeLabelVisibility, bool);
00081   
00083 
00084   virtual void SetGraphEdgeColorArrayName(const char* name);
00085   virtual const char* GetGraphEdgeColorArrayName();
00087   
00089   virtual void SetGraphEdgeColorToSplineFraction();
00090   
00092 
00093   virtual void SetColorGraphEdgesByArray(bool vis);
00094   virtual bool GetColorGraphEdgesByArray();
00095   vtkBooleanMacro(ColorGraphEdgesByArray, bool);
00097   
00099 
00100   virtual void SetBundlingStrength(double strength);
00101   virtual double GetBundlingStrength();
00103    
00105 
00106   virtual void SetGraphVisibility(bool b);
00107   virtual bool GetGraphVisibility();
00108   vtkBooleanMacro(GraphVisibility, bool);
00110   
00112 
00113   virtual void SetGraphEdgeLabelFontSize(const int size);
00114   virtual int GetGraphEdgeLabelFontSize();
00116 
00117 protected:
00118   vtkHierarchicalGraphView();
00119   ~vtkHierarchicalGraphView();
00120 
00122 
00124   virtual vtkDataRepresentation* CreateDefaultRepresentation(vtkAlgorithmOutput* conn);
00125   virtual vtkRenderedGraphRepresentation* GetGraphRepresentation();
00126   virtual vtkRenderedHierarchyRepresentation* GetHierarchyRepresentation();
00128 
00129 private:
00130   vtkHierarchicalGraphView(const vtkHierarchicalGraphView&);  // Not implemented.
00131   void operator=(const vtkHierarchicalGraphView&);  // Not implemented.
00132 };
00133 
00134 #endif