00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkChart2DHistogram.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 00023 #ifndef __vtkChart2DHistogram_h 00024 #define __vtkChart2DHistogram_h 00025 00026 #include "vtkChartXY.h" 00027 #include "vtkSmartPointer.h" // For SP ivars 00028 00029 class vtkColorLegend; 00030 class vtkPlotHistogram2D; 00031 class vtkImageData; 00032 class vtkScalarsToColors; 00033 00034 class VTK_CHARTS_EXPORT vtkChartHistogram2D : public vtkChartXY 00035 { 00036 public: 00037 vtkTypeMacro(vtkChartHistogram2D, vtkChartXY); 00038 virtual void PrintSelf(ostream &os, vtkIndent indent); 00039 00041 static vtkChartHistogram2D* New(); 00042 00046 virtual void Update(); 00047 00048 virtual void SetInput(vtkImageData *data, vtkIdType z = 0); 00049 virtual void SetTransferFunction(vtkScalarsToColors *function); 00050 00052 virtual bool Hit(const vtkContextMouseEvent &mouse); 00053 00054 protected: 00055 vtkChartHistogram2D(); 00056 ~vtkChartHistogram2D(); 00057 00058 vtkSmartPointer<vtkPlotHistogram2D> Histogram; 00059 00061 vtkTimeStamp BuildTime; 00062 00063 class Private; 00064 Private* Storage; 00065 00066 virtual bool UpdateLayout(vtkContext2D *painter); 00067 00068 private: 00069 vtkChartHistogram2D(const vtkChartHistogram2D &); // Not implemented. 00070 void operator=(const vtkChartHistogram2D &); // Not implemented. 00071 }; 00072 00073 #endif //__vtkChart2DHistogram_h