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 Language: C++ 00006 00007 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 00008 All rights reserved. 00009 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00010 00011 This software is distributed WITHOUT ANY WARRANTY; without even 00012 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00013 PURPOSE. See the above copyright notice for more information. 00014 00015 =========================================================================*/ 00063 #ifndef __vtkParallelCoordinatesActor_h 00064 #define __vtkParallelCoordinatesActor_h 00065 00066 #include "vtkActor2D.h" 00067 00068 class vtkAxisActor2D; 00069 class vtkDataObject; 00070 class vtkPolyData; 00071 class vtkPolyDataMapper2D; 00072 class vtkTextMapper; 00073 class vtkTextProperty; 00074 00075 #define VTK_IV_COLUMN 0 00076 #define VTK_IV_ROW 1 00077 00078 class VTK_RENDERING_EXPORT vtkParallelCoordinatesActor : public vtkActor2D 00079 { 00080 public: 00081 vtkTypeRevisionMacro(vtkParallelCoordinatesActor,vtkActor2D); 00082 void PrintSelf(ostream& os, vtkIndent indent); 00083 00087 static vtkParallelCoordinatesActor *New(); 00088 00090 00093 vtkSetClampMacro(IndependentVariables,int,VTK_IV_COLUMN, VTK_IV_ROW); 00094 vtkGetMacro(IndependentVariables,int); 00095 void SetIndependentVariablesToColumns() 00096 {this->SetIndependentVariables(VTK_IV_COLUMN);}; 00097 void SetIndependentVariablesToRows() 00098 {this->SetIndependentVariables(VTK_IV_ROW);}; 00100 00102 00103 vtkSetStringMacro(Title); 00104 vtkGetStringMacro(Title); 00106 00108 00111 vtkSetClampMacro(NumberOfLabels, int, 0, 50); 00112 vtkGetMacro(NumberOfLabels, int); 00114 00116 00117 vtkSetStringMacro(LabelFormat); 00118 vtkGetStringMacro(LabelFormat); 00120 00122 00123 virtual void SetTitleTextProperty(vtkTextProperty *p); 00124 vtkGetObjectMacro(TitleTextProperty,vtkTextProperty); 00126 00128 00129 virtual void SetLabelTextProperty(vtkTextProperty *p); 00130 vtkGetObjectMacro(LabelTextProperty,vtkTextProperty); 00132 00133 #ifndef VTK_REMOVE_LEGACY_CODE 00134 00135 00140 virtual void SetFontFamily(int val); 00141 virtual int GetFontFamily(); 00142 void SetFontFamilyToArial() { this->SetFontFamily(VTK_ARIAL); }; 00143 void SetFontFamilyToCourier() { this->SetFontFamily(VTK_COURIER);}; 00144 void SetFontFamilyToTimes() { this->SetFontFamily(VTK_TIMES); }; 00146 #endif 00147 00148 #ifndef VTK_REMOVE_LEGACY_CODE 00149 00150 00153 virtual void SetBold(int val); 00154 virtual int GetBold(); 00155 vtkBooleanMacro(Bold, int); 00157 #endif 00158 00159 #ifndef VTK_REMOVE_LEGACY_CODE 00160 00161 00164 virtual void SetItalic(int val); 00165 virtual int GetItalic(); 00166 vtkBooleanMacro(Italic, int); 00168 #endif 00169 00170 #ifndef VTK_REMOVE_LEGACY_CODE 00171 00172 00175 virtual void SetShadow(int val); 00176 virtual int GetShadow(); 00177 vtkBooleanMacro(Shadow, int); 00179 #endif 00180 00182 00183 int RenderOpaqueGeometry(vtkViewport*); 00184 int RenderOverlay(vtkViewport*); 00185 int RenderTranslucentGeometry(vtkViewport *) {return 0;} 00187 00189 virtual void SetInput(vtkDataObject*); 00190 00192 00193 vtkGetObjectMacro(Input,vtkDataObject); 00195 00199 void ReleaseGraphicsResources(vtkWindow *); 00200 00201 protected: 00202 vtkParallelCoordinatesActor(); 00203 ~vtkParallelCoordinatesActor(); 00204 00205 private: 00206 vtkDataObject *Input; // List of data sets to plot 00207 00208 int IndependentVariables; // Use column or row 00209 vtkIdType N; // The number of independent variables 00210 float *Mins; // Minimum data value along this row/column 00211 float *Maxs; // Maximum data value along this row/column 00212 int *Xs; // Axes x-values (in viewport coordinates) 00213 int YMin; // Axes y-min-value (in viewport coordinates) 00214 int YMax; // Axes y-max-value (in viewport coordinates) 00215 int NumberOfLabels; // Along each axis 00216 char *LabelFormat; 00217 char *Title; 00218 00219 vtkAxisActor2D **Axes; 00220 vtkTextMapper *TitleMapper; 00221 vtkActor2D *TitleActor; 00222 00223 vtkTextProperty *TitleTextProperty; 00224 vtkTextProperty *LabelTextProperty; 00225 00226 vtkPolyData *PlotData; // The lines drawn within the axes 00227 vtkPolyDataMapper2D *PlotMapper; 00228 vtkActor2D *PlotActor; 00229 00230 vtkTimeStamp BuildTime; 00231 00232 int LastPosition[2]; 00233 int LastPosition2[2]; 00234 00235 void Initialize(); 00236 int PlaceAxes(vtkViewport *viewport, int *size); 00237 00238 private: 00239 vtkParallelCoordinatesActor(const vtkParallelCoordinatesActor&); // Not implemented. 00240 void operator=(const vtkParallelCoordinatesActor&); // Not implemented. 00241 }; 00242 00243 00244 #endif 00245