00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkSpanTreeLayoutStrategy.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 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 00064 #ifndef __vtkSpanTreeLayoutStrategy_h 00065 #define __vtkSpanTreeLayoutStrategy_h 00066 00067 #include "vtkGraphLayoutStrategy.h" 00068 00069 class VTK_INFOVIS_EXPORT vtkSpanTreeLayoutStrategy : public vtkGraphLayoutStrategy 00070 { 00071 public: 00072 static vtkSpanTreeLayoutStrategy *New(); 00073 00074 vtkTypeMacro(vtkSpanTreeLayoutStrategy, vtkGraphLayoutStrategy); 00075 void PrintSelf(ostream& os, vtkIndent indent); 00076 00078 00082 vtkSetMacro(DepthFirstSpanningTree, bool); 00083 vtkGetMacro(DepthFirstSpanningTree, bool); 00084 vtkBooleanMacro(DepthFirstSpanningTree, bool); 00086 00088 void Layout(); 00089 00090 protected: 00091 vtkSpanTreeLayoutStrategy(); 00092 ~vtkSpanTreeLayoutStrategy(); 00093 00094 vtkGraphLayoutStrategy *TreeLayout; 00095 bool DepthFirstSpanningTree; 00096 00097 private: 00098 vtkSpanTreeLayoutStrategy(const vtkSpanTreeLayoutStrategy&); // Not implemented. 00099 void operator=(const vtkSpanTreeLayoutStrategy&); // Not implemented. 00100 }; 00101 00102 #endif 00103