Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

vtkParallelCoordinatesActor.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkParallelCoordinatesActor.h,v $
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 =========================================================================*/
00059 #ifndef __vtkParallelCoordinatesActor_h
00060 #define __vtkParallelCoordinatesActor_h
00061 
00062 #include "vtkActor2D.h"
00063 
00064 class vtkAxisActor2D;
00065 class vtkDataObject;
00066 class vtkPolyData;
00067 class vtkPolyDataMapper2D;
00068 class vtkTextMapper;
00069 class vtkTextProperty;
00070 
00071 #define VTK_IV_COLUMN 0
00072 #define VTK_IV_ROW    1
00073 
00074 class VTK_RENDERING_EXPORT vtkParallelCoordinatesActor : public vtkActor2D
00075 {
00076 public:
00077   vtkTypeRevisionMacro(vtkParallelCoordinatesActor,vtkActor2D);
00078   void PrintSelf(ostream& os, vtkIndent indent);
00079 
00083   static vtkParallelCoordinatesActor *New();
00084 
00086 
00089   vtkSetClampMacro(IndependentVariables,int,VTK_IV_COLUMN, VTK_IV_ROW);
00090   vtkGetMacro(IndependentVariables,int);
00091   void SetIndependentVariablesToColumns()
00092     {this->SetIndependentVariables(VTK_IV_COLUMN);};
00093   void SetIndependentVariablesToRows()
00094     {this->SetIndependentVariables(VTK_IV_ROW);};
00096 
00098 
00099   vtkSetStringMacro(Title);
00100   vtkGetStringMacro(Title);
00102 
00104 
00107   vtkSetClampMacro(NumberOfLabels, int, 0, 50);
00108   vtkGetMacro(NumberOfLabels, int);
00110   
00112 
00113   vtkSetStringMacro(LabelFormat);
00114   vtkGetStringMacro(LabelFormat);
00116 
00118 
00119   virtual void SetTitleTextProperty(vtkTextProperty *p);
00120   vtkGetObjectMacro(TitleTextProperty,vtkTextProperty);
00122   
00124 
00125   virtual void SetLabelTextProperty(vtkTextProperty *p);
00126   vtkGetObjectMacro(LabelTextProperty,vtkTextProperty);
00128       
00130 
00131   int RenderOpaqueGeometry(vtkViewport*);
00132   int RenderOverlay(vtkViewport*);
00133   int RenderTranslucentGeometry(vtkViewport *) {return 0;}
00135 
00137   virtual void SetInput(vtkDataObject*);
00138 
00140 
00141   vtkGetObjectMacro(Input,vtkDataObject);
00143 
00147   void ReleaseGraphicsResources(vtkWindow *);
00148 
00149 protected:
00150   vtkParallelCoordinatesActor();
00151   ~vtkParallelCoordinatesActor();
00152 
00153 private:
00154   vtkDataObject *Input;        // List of data sets to plot
00155 
00156   int IndependentVariables;    // Use column or row
00157   vtkIdType N;                 // The number of independent variables
00158   double *Mins;                 // Minimum data value along this row/column
00159   double *Maxs;                 // Maximum data value along this row/column
00160   int   *Xs;                   // Axes x-values (in viewport coordinates)
00161   int   YMin;                  // Axes y-min-value (in viewport coordinates)
00162   int   YMax;                  // Axes y-max-value (in viewport coordinates)
00163   int   NumberOfLabels;        // Along each axis
00164   char  *LabelFormat;
00165   char  *Title;
00166 
00167   vtkAxisActor2D **Axes;       
00168   vtkTextMapper  *TitleMapper;
00169   vtkActor2D     *TitleActor;
00170 
00171   vtkTextProperty *TitleTextProperty;
00172   vtkTextProperty *LabelTextProperty;
00173 
00174   vtkPolyData         *PlotData;    // The lines drawn within the axes
00175   vtkPolyDataMapper2D *PlotMapper;
00176   vtkActor2D          *PlotActor;
00177   
00178   vtkTimeStamp  BuildTime;
00179 
00180   int   LastPosition[2];
00181   int   LastPosition2[2];
00182 
00183   void Initialize();
00184   int PlaceAxes(vtkViewport *viewport, int *size);
00185 
00186 private:
00187   vtkParallelCoordinatesActor(const vtkParallelCoordinatesActor&);  // Not implemented.
00188   void operator=(const vtkParallelCoordinatesActor&);  // Not implemented.
00189 };
00190 
00191 
00192 #endif
00193 

Generated on Mon Jan 21 23:07:35 2008 for VTK by  doxygen 1.4.3-20050530