Rendering/vtkParallelCoordinatesActor.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
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;
00207
00208 int IndependentVariables;
00209 vtkIdType N;
00210 float *Mins;
00211 float *Maxs;
00212 int *Xs;
00213 int YMin;
00214 int YMax;
00215 int NumberOfLabels;
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;
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&);
00240 void operator=(const vtkParallelCoordinatesActor&);
00241 };
00242
00243
00244 #endif
00245