00001
00036 #ifndef __vtkStringDataMapper_h
00037 #define __vtkStringDataMapper_h
00038
00039 #include "vtkMapper2D.h"
00040 #include "vtkTextMapper.h"
00041 #include "vtkDataSet.h"
00042
00043 #define VTK_LABEL_IDS 0
00044 #define VTK_LABEL_SCALARS 1
00045 #define VTK_LABEL_VECTORS 2
00046 #define VTK_LABEL_NORMALS 3
00047 #define VTK_LABEL_TCOORDS 4
00048 #define VTK_LABEL_TENSORS 5
00049 #define VTK_LABEL_FIELD_DATA 6
00050
00051 class VTK_EXPORT vtkStringDataMapper : public vtkMapper2D
00052 {
00053 public:
00057 static vtkStringDataMapper *New();
00058
00059 vtkTypeMacro(vtkStringDataMapper,vtkMapper2D);
00060 void PrintSelf(ostream& os, vtkIndent indent);
00061
00063 void RenderOpaqueGeometry(vtkViewport* viewport, vtkActor2D* actor);
00064 void RenderOverlay(vtkViewport* viewport, vtkActor2D* actor);
00065
00067 vtkSetObjectMacro(Input, vtkDataSet);
00068 vtkGetObjectMacro(Input, vtkDataSet);
00069
00073 virtual void ReleaseGraphicsResources(vtkWindow *);
00074
00079 vtkSetMacro(LabelMode, int);
00080 vtkGetMacro(LabelMode, int);
00081 void SetLabelModeToLabelIds() {this->SetLabelMode(VTK_LABEL_IDS);};
00082 void SetLabelModeToLabelScalars() {this->SetLabelMode(VTK_LABEL_SCALARS);};
00083 void SetLabelModeToLabelVectors() {this->SetLabelMode(VTK_LABEL_VECTORS);};
00084 void SetLabelModeToLabelNormals() {this->SetLabelMode(VTK_LABEL_NORMALS);};
00085 void SetLabelModeToLabelTCoords() {this->SetLabelMode(VTK_LABEL_TCOORDS);};
00086 void SetLabelModeToLabelTensors() {this->SetLabelMode(VTK_LABEL_TENSORS);};
00087 void SetLabelModeToLabelFieldData()
00088 {this->SetLabelMode(VTK_LABEL_FIELD_DATA);};
00089
00093 vtkSetClampMacro(FontSize,int,0,VTK_LARGE_INTEGER);
00094 vtkGetMacro(FontSize,int);
00095
00097 vtkSetMacro(Bold, int);
00098 vtkGetMacro(Bold, int);
00099 vtkBooleanMacro(Bold, int);
00100
00102 vtkSetMacro(Italic, int);
00103 vtkGetMacro(Italic, int);
00104 vtkBooleanMacro(Italic, int);
00105
00108 vtkSetMacro(Shadow, int);
00109 vtkGetMacro(Shadow, int);
00110 vtkBooleanMacro(Shadow, int);
00111
00115 vtkSetMacro(FontFamily, int);
00116 vtkGetMacro(FontFamily, int);
00117 void SetFontFamilyToArial() {this->SetFontFamily(VTK_ARIAL);};
00118 void SetFontFamilyToCourier() {this->SetFontFamily(VTK_COURIER);};
00119 void SetFontFamilyToTimes() {this->SetFontFamily(VTK_TIMES);};
00120
00127 vtkSetStringMacro(LabelFormat);
00128 vtkGetStringMacro(LabelFormat);
00129
00132 vtkSetMacro(LabelAsString, int);
00133 vtkGetMacro(LabelAsString, int);
00134 vtkBooleanMacro(LabelAsString, int);
00135
00141 vtkSetMacro(LabeledComponent,int);
00142 vtkGetMacro(LabeledComponent,int);
00143
00146 vtkSetClampMacro(FieldDataArray,int,0,VTK_LARGE_INTEGER);
00147 vtkGetMacro(FieldDataArray,int);
00148
00149 protected:
00150 vtkStringDataMapper();
00151 ~vtkStringDataMapper();
00152 vtkStringDataMapper(const vtkStringDataMapper&) {};
00153 void operator=(const vtkStringDataMapper&) {};
00154
00155 vtkDataSet *Input;
00156 int LabelMode;
00157
00158 int FontSize;
00159 int Bold;
00160 int Italic;
00161 int Shadow;
00162 int FontFamily;
00163
00164 char *LabelFormat;
00165 int LabelAsString;
00166 int LabeledComponent;
00167 int FieldDataArray;
00168
00169 vtkTimeStamp BuildTime;
00170
00171 private:
00172 int NumberOfLabels;
00173 int NumberOfLabelsAllocated;
00174 vtkTextMapper **TextMappers;
00175
00176 };
00177
00178 #endif // __vtkStringDataMapper_h
00179