00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkTreeMapLayoutStrategy.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 -------------------------------------------------------------------------*/ 00040 #ifndef __vtkTreeMapLayoutStrategy_h 00041 #define __vtkTreeMapLayoutStrategy_h 00042 00043 00044 #include "vtkObject.h" 00045 00046 class vtkTree; 00047 class vtkDataArray; 00048 00049 class VTK_INFOVIS_EXPORT vtkTreeMapLayoutStrategy : public vtkObject 00050 { 00051 public: 00052 vtkTypeRevisionMacro(vtkTreeMapLayoutStrategy,vtkObject); 00053 void PrintSelf(ostream& os, vtkIndent indent); 00054 00058 virtual void Layout(vtkTree *inputTree, vtkDataArray *rectArray) = 0; 00059 00061 00063 vtkSetMacro(BorderPercentage, double); 00064 vtkGetMacro(BorderPercentage, double); 00066 00067 protected: 00068 vtkTreeMapLayoutStrategy(); 00069 ~vtkTreeMapLayoutStrategy(); 00070 double BorderPercentage; 00071 void AddBorder( float *boxInfo); 00072 private: 00073 vtkTreeMapLayoutStrategy(const vtkTreeMapLayoutStrategy&); // Not implemented. 00074 void operator=(const vtkTreeMapLayoutStrategy&); // Not implemented. 00075 }; 00076 00077 #endif 00078