VTK
dox/Charts/vtkPlotParallelCoordinates.h
Go to the documentation of this file.
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