00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00024 #ifndef __vtkPlotParallelCoordinates_h
00025 #define __vtkPlotParallelCoordinates_h
00026
00027 #include "vtkPlot.h"
00028 #include "vtkScalarsToColors.h"
00029 #include "vtkStdString.h"
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
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 &);
00141 void operator=(const vtkPlotParallelCoordinates &);
00142
00143
00144 };
00145
00146 #endif //__vtkPlotParallelCoordinates_h