00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00077 #ifndef __vtkParallelCoordinatesActor_h
00078 #define __vtkParallelCoordinatesActor_h
00079
00080 #include "vtkAxisActor2D.h"
00081 #include "vtkDataObject.h"
00082
00083 #define VTK_IV_COLUMN 0
00084 #define VTK_IV_ROW 1
00085
00086 class VTK_EXPORT vtkParallelCoordinatesActor : public vtkActor2D
00087 {
00088 public:
00089 vtkTypeMacro(vtkParallelCoordinatesActor,vtkActor2D);
00090 void PrintSelf(ostream& os, vtkIndent indent);
00091
00096 static vtkParallelCoordinatesActor *New();
00097
00101 vtkSetClampMacro(IndependentVariables,int,VTK_IV_COLUMN, VTK_IV_ROW);
00102 vtkGetMacro(IndependentVariables,int);
00103 void SetIndependentVariablesToColumns()
00104 {this->SetIndependentVariables(VTK_IV_COLUMN);};
00105 void SetIndependentVariablesToRows()
00106 {this->SetIndependentVariables(VTK_IV_ROW);};
00107
00109 vtkSetStringMacro(Title);
00110 vtkGetStringMacro(Title);
00111
00115 vtkSetClampMacro(NumberOfLabels, int, 0, 50);
00116 vtkGetMacro(NumberOfLabels, int);
00117
00119 vtkSetMacro(Bold, int);
00120 vtkGetMacro(Bold, int);
00121 vtkBooleanMacro(Bold, int);
00122
00124 vtkSetMacro(Italic, int);
00125 vtkGetMacro(Italic, int);
00126 vtkBooleanMacro(Italic, int);
00127
00130 vtkSetMacro(Shadow, int);
00131 vtkGetMacro(Shadow, int);
00132 vtkBooleanMacro(Shadow, int);
00133
00137 vtkSetMacro(FontFamily, int);
00138 vtkGetMacro(FontFamily, int);
00139 void SetFontFamilyToArial() {this->SetFontFamily(VTK_ARIAL);};
00140 void SetFontFamilyToCourier() {this->SetFontFamily(VTK_COURIER);};
00141 void SetFontFamilyToTimes() {this->SetFontFamily(VTK_TIMES);};
00142
00144 vtkSetStringMacro(LabelFormat);
00145 vtkGetStringMacro(LabelFormat);
00146
00148 int RenderOpaqueGeometry(vtkViewport*);
00149 int RenderOverlay(vtkViewport*);
00150 int RenderTranslucentGeometry(vtkViewport *) {return 0;}
00151
00153 vtkSetObjectMacro(Input,vtkDataObject);
00154
00156 vtkGetObjectMacro(Input,vtkDataObject);
00157
00161 void ReleaseGraphicsResources(vtkWindow *);
00162
00163 protected:
00164 vtkParallelCoordinatesActor();
00165 ~vtkParallelCoordinatesActor();
00166 vtkParallelCoordinatesActor(const vtkParallelCoordinatesActor&) {};
00167 void operator=(const vtkParallelCoordinatesActor&) {};
00168
00169 private:
00170 vtkDataObject *Input;
00171
00172 int IndependentVariables;
00173 int N;
00174 vtkAxisActor2D **Axes;
00175 float *Mins;
00176 float *Maxs;
00177 int *Xs;
00178 int YMin;
00179 int YMax;
00180
00181 char *Title;
00182 vtkTextMapper *TitleMapper;
00183 vtkActor2D *TitleActor;
00184
00185 vtkPolyData *PlotData;
00186 vtkPolyDataMapper2D *PlotMapper;
00187 vtkActor2D *PlotActor;
00188
00189
00190 int NumberOfLabels;
00191 int Bold;
00192 int Italic;
00193 int Shadow;
00194 int FontFamily;
00195 char *LabelFormat;
00196
00197 vtkTimeStamp BuildTime;
00198
00199 void Initialize();
00200 int PlaceAxes(vtkViewport *viewport, int *size);
00201 };
00202
00203
00204 #endif
00205