VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkPlotParallelCoordinates.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 00024 #ifndef __vtkPlotParallelCoordinates_h 00025 #define __vtkPlotParallelCoordinates_h 00026 00027 #include "vtkPlot.h" 00028 #include "vtkScalarsToColors.h" // For VTK_COLOR_MODE_DEFAULT and _MAP_SCALARS 00029 #include "vtkStdString.h" // For vtkStdString ivars 00030 00031 class vtkChartParallelCoordinates; 00032 class vtkTable; 00033 class vtkStdString; 00034 class vtkScalarsToColors; 00035 class vtkUnsignedCharArray; 00036 00037 class VTK_CHARTS_EXPORT vtkPlotParallelCoordinates : public vtkPlot 00038 { 00039 public: 00040 vtkTypeMacro(vtkPlotParallelCoordinates, vtkPlot); 00041 virtual void PrintSelf(ostream &os, vtkIndent indent); 00042 00044 static vtkPlotParallelCoordinates* New(); 00045 00049 virtual void Update(); 00050 00053 virtual bool Paint(vtkContext2D *painter); 00054 00056 00061 virtual bool PaintLegend(vtkContext2D *painter, const vtkRectf& rect, 00062 int legendIndex); 00064 00066 virtual void GetBounds(double bounds[4]); 00067 00070 bool SetSelectionRange(int Axis, float low, float high); 00071 00073 bool ResetSelectionRange(); 00074 00076 00077 virtual void SetInput(vtkTable *table); 00078 virtual void SetInput(vtkTable *table, const vtkStdString&, 00079 const vtkStdString&) 00080 { 00081 this->SetInput(table); 00082 } 00084 00086 00087 void SetLookupTable(vtkScalarsToColors *lut); 00088 vtkScalarsToColors *GetLookupTable(); 00090 00093 virtual void CreateDefaultLookupTable(); 00094 00096 00098 vtkSetMacro(ScalarVisibility,int); 00099 vtkGetMacro(ScalarVisibility,int); 00100 vtkBooleanMacro(ScalarVisibility,int); 00102 00104 00107 void SelectColorArray(vtkIdType arrayNum); 00108 void SelectColorArray(const vtkStdString &arrayName); 00110 00112 vtkStdString GetColorArrayName(); 00113 00114 //BTX 00115 protected: 00116 vtkPlotParallelCoordinates(); 00117 ~vtkPlotParallelCoordinates(); 00118 00120 bool UpdateTableCache(vtkTable *table); 00121 00123 00124 class Private; 00125 Private* Storage; 00127 00129 vtkTimeStamp BuildTime; 00130 00132 00133 vtkScalarsToColors *LookupTable; 00134 vtkUnsignedCharArray *Colors; 00135 int ScalarVisibility; 00136 vtkStdString ColorArrayName; 00138 00139 private: 00140 vtkPlotParallelCoordinates(const vtkPlotParallelCoordinates &); // Not implemented. 00141 void operator=(const vtkPlotParallelCoordinates &); // Not implemented. 00142 00143 //ETX 00144 }; 00145 00146 #endif //__vtkPlotParallelCoordinates_h