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 
00029 class vtkChartParallelCoordinates;
00030 class vtkTable;
00031 class vtkPoints2D;
00032 class vtkStdString;
00033 
00034 class VTK_CHARTS_EXPORT vtkPlotParallelCoordinates : public vtkPlot
00035 {
00036 public:
00037   vtkTypeMacro(vtkPlotParallelCoordinates, vtkPlot);
00038   virtual void PrintSelf(ostream &os, vtkIndent indent);
00039 
00041   static vtkPlotParallelCoordinates* New();
00042 
00046   virtual void Update();
00047 
00050   virtual bool Paint(vtkContext2D *painter);
00051 
00057   virtual bool PaintLegend(vtkContext2D *painter, float rect[4]);
00058 
00060   virtual void GetBounds(double bounds[4]);
00061 
00062 //BTX
00064 
00066   virtual bool GetNearestPoint(const vtkVector2f& point,
00067                                const vtkVector2f& tolerance,
00068                                vtkVector2f* location);
00070 //ETX
00071 
00073   virtual void SetParent(vtkChartParallelCoordinates* parent);
00074 
00077   bool SetSelectionRange(int Axis, float low, float high);
00078 
00080   bool ResetSelectionRange();
00081 
00083 
00084   virtual void SetInput(vtkTable *table);
00085   virtual void SetInput(vtkTable *table, const char*, const char*)
00086   {
00087     this->SetInput(table);
00088   }
00090 
00091 //BTX
00092 protected:
00093   vtkPlotParallelCoordinates();
00094   ~vtkPlotParallelCoordinates();
00095 
00097   bool UpdateTableCache(vtkTable *table);
00098 
00100 
00101   class Private;
00102   Private* Storage;
00103   vtkPoints2D* Points;
00105 
00106   vtkChartParallelCoordinates* Parent;
00107 
00109   vtkTimeStamp BuildTime;
00110 
00111 private:
00112   vtkPlotParallelCoordinates(const vtkPlotParallelCoordinates &); // Not implemented.
00113   void operator=(const vtkPlotParallelCoordinates &); // Not implemented.
00114 
00115 //ETX
00116 };
00117 
00118 #endif //__vtkPlotParallelCoordinates_h