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