VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkPlotFunctionalBag.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 00034 #ifndef __vtkPlotFunctionalBag_h 00035 #define __vtkPlotFunctionalBag_h 00036 00037 #include "vtkChartsCoreModule.h" // For export macro 00038 #include "vtkPlot.h" 00039 #include "vtkNew.h" // Needed to hold SP ivars 00040 00041 class vtkDataArray; 00042 class vtkPlotFuntionalBagInternal; 00043 class vtkPlotLine; 00044 class vtkPoints2D; 00045 class vtkScalarsToColors; 00046 00047 class VTKCHARTSCORE_EXPORT vtkPlotFunctionalBag : public vtkPlot 00048 { 00049 public: 00050 vtkTypeMacro(vtkPlotFunctionalBag, vtkPlot); 00051 virtual void PrintSelf(ostream &os, vtkIndent indent); 00052 00054 static vtkPlotFunctionalBag *New(); 00055 00059 virtual void Update(); 00060 00063 virtual bool Paint(vtkContext2D *painter); 00064 00066 00071 virtual bool PaintLegend(vtkContext2D *painter, const vtkRectf& rect, 00072 int legendIndex); 00074 00076 virtual void GetBounds(double bounds[4]); 00077 00080 virtual void GetUnscaledInputBounds(double bounds[4]); 00081 00083 00084 void SetLookupTable(vtkScalarsToColors *lut); 00085 vtkScalarsToColors *GetLookupTable(); 00087 00090 virtual void CreateDefaultLookupTable(); 00091 00092 //BTX 00094 00097 virtual vtkIdType GetNearestPoint(const vtkVector2f& point, 00098 const vtkVector2f& tolerance, 00099 vtkVector2f* location); 00100 //ETX 00102 00103 protected: 00104 vtkPlotFunctionalBag(); 00105 ~vtkPlotFunctionalBag(); 00106 00108 bool GetDataArrays(vtkTable *table, vtkDataArray *array[2]); 00109 00111 bool UpdateTableCache(vtkTable*); 00112 00114 vtkTimeStamp BuildTime; 00115 00117 vtkScalarsToColors *LookupTable; 00118 00120 vtkNew<vtkPlotLine> Line; 00121 00123 vtkNew<vtkPoints2D> BagPoints; 00124 00125 bool LogX, LogY; 00126 00127 private: 00128 vtkPlotFunctionalBag(const vtkPlotFunctionalBag &); // Not implemented. 00129 void operator=(const vtkPlotFunctionalBag &); // Not implemented. 00130 }; 00131 00132 #endif //__vtkPlotFunctionalBag_h