00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkSpanTreeLayoutStrategy.h,v $ 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 2008 Sandia Corporation. 00017 //Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, 00018 //the U.S. Government retains certain rights in this software. 00019 //------------------------------------------------------------------------- 00020 00061 #ifndef __vtkSpanTreeLayoutStrategy_h 00062 #define __vtkSpanTreeLayoutStrategy_h 00063 00064 #include "vtkGraphLayoutStrategy.h" 00065 00066 class VTK_INFOVIS_EXPORT vtkSpanTreeLayoutStrategy : public vtkGraphLayoutStrategy 00067 { 00068 public: 00069 static vtkSpanTreeLayoutStrategy *New(); 00070 00071 vtkTypeRevisionMacro(vtkSpanTreeLayoutStrategy, vtkGraphLayoutStrategy); 00072 void PrintSelf(ostream& os, vtkIndent indent); 00073 00075 00079 vtkSetMacro(DepthFirstSpanningTree, bool); 00080 vtkGetMacro(DepthFirstSpanningTree, bool); 00081 vtkBooleanMacro(DepthFirstSpanningTree, bool); 00083 00085 void Layout(); 00086 00087 protected: 00088 vtkSpanTreeLayoutStrategy(); 00089 ~vtkSpanTreeLayoutStrategy(); 00090 00091 vtkGraphLayoutStrategy *TreeLayout; 00092 bool DepthFirstSpanningTree; 00093 00094 private: 00095 vtkSpanTreeLayoutStrategy(const vtkSpanTreeLayoutStrategy&); // Not implemented. 00096 void operator=(const vtkSpanTreeLayoutStrategy&); // Not implemented. 00097 }; 00098 00099 #endif 00100