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 "vtkChartsCoreModule.h" // For export macro 00028 #include "vtkPlot.h" 00029 #include "vtkScalarsToColors.h" // For VTK_COLOR_MODE_DEFAULT and _MAP_SCALARS 00030 #include "vtkStdString.h" // For vtkStdString ivars 00031 00032 class vtkChartParallelCoordinates; 00033 class vtkTable; 00034 class vtkStdString; 00035 class vtkScalarsToColors; 00036 class vtkUnsignedCharArray; 00037 00038 class VTKCHARTSCORE_EXPORT vtkPlotParallelCoordinates : public vtkPlot 00039 { 00040 public: 00041 vtkTypeMacro(vtkPlotParallelCoordinates, vtkPlot); 00042 virtual void PrintSelf(ostream &os, vtkIndent indent); 00043 00045 static vtkPlotParallelCoordinates* New(); 00046 00050 virtual void Update(); 00051 00054 virtual bool Paint(vtkContext2D *painter); 00055 00057 00062 virtual bool PaintLegend(vtkContext2D *painter, const vtkRectf& rect, 00063 int legendIndex); 00065 00067 virtual void GetBounds(double bounds[4]); 00068 00071 bool SetSelectionRange(int Axis, float low, float high); 00072 00074 bool ResetSelectionRange(); 00075 00077 00078 virtual void SetInputData(vtkTable *table); 00079 virtual void SetInputData(vtkTable *table, const vtkStdString&, 00080 const vtkStdString&) 00081 { 00082 this->SetInputData(table); 00083 } 00085 00087 00088 void SetLookupTable(vtkScalarsToColors *lut); 00089 vtkScalarsToColors *GetLookupTable(); 00091 00094 virtual void CreateDefaultLookupTable(); 00095 00097 00099 vtkSetMacro(ScalarVisibility,int); 00100 vtkGetMacro(ScalarVisibility,int); 00101 vtkBooleanMacro(ScalarVisibility,int); 00103 00105 00108 void SelectColorArray(vtkIdType arrayNum); 00109 void SelectColorArray(const vtkStdString &arrayName); 00111 00113 vtkStdString GetColorArrayName(); 00114 00115 //BTX 00116 protected: 00117 vtkPlotParallelCoordinates(); 00118 ~vtkPlotParallelCoordinates(); 00119 00121 bool UpdateTableCache(vtkTable *table); 00122 00124 00125 class Private; 00126 Private* Storage; 00128 00130 vtkTimeStamp BuildTime; 00131 00133 00134 vtkScalarsToColors *LookupTable; 00135 vtkUnsignedCharArray *Colors; 00136 int ScalarVisibility; 00137 vtkStdString ColorArrayName; 00139 00140 private: 00141 vtkPlotParallelCoordinates(const vtkPlotParallelCoordinates &); // Not implemented. 00142 void operator=(const vtkPlotParallelCoordinates &); // Not implemented. 00143 00144 //ETX 00145 }; 00146 00147 #endif //__vtkPlotParallelCoordinates_h