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

dox/Rendering/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