00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00055
#ifndef __vtkLabeledDataMapper_h
00056
#define __vtkLabeledDataMapper_h
00057
00058
#include "vtkMapper2D.h"
00059
00060
class vtkDataSet;
00061
class vtkTextMapper;
00062
class vtkTextProperty;
00063
00064 #define VTK_LABEL_IDS 0
00065 #define VTK_LABEL_SCALARS 1
00066 #define VTK_LABEL_VECTORS 2
00067 #define VTK_LABEL_NORMALS 3
00068 #define VTK_LABEL_TCOORDS 4
00069 #define VTK_LABEL_TENSORS 5
00070 #define VTK_LABEL_FIELD_DATA 6
00071
00072 class VTK_RENDERING_EXPORT vtkLabeledDataMapper :
public vtkMapper2D
00073 {
00074
public:
00077
static vtkLabeledDataMapper *
New();
00078
00079 vtkTypeRevisionMacro(vtkLabeledDataMapper,
vtkMapper2D);
00080
void PrintSelf(ostream& os,
vtkIndent indent);
00081
00083
00089 vtkSetStringMacro(LabelFormat);
00090 vtkGetStringMacro(LabelFormat);
00092
00094
00099 vtkSetMacro(LabeledComponent,
int);
00100 vtkGetMacro(LabeledComponent,
int);
00102
00104
00106 vtkSetClampMacro(FieldDataArray,
int,0,VTK_LARGE_INTEGER);
00107 vtkGetMacro(FieldDataArray,
int);
00109
00111
00112
virtual void SetInput(
vtkDataSet*);
00113 vtkGetObjectMacro(Input,
vtkDataSet);
00115
00117
00121 vtkSetMacro(LabelMode,
int);
00122 vtkGetMacro(LabelMode,
int);
00123 void SetLabelModeToLabelIds() {this->SetLabelMode(
VTK_LABEL_IDS);};
00124 void SetLabelModeToLabelScalars() {this->SetLabelMode(
VTK_LABEL_SCALARS);};
00125 void SetLabelModeToLabelVectors() {this->SetLabelMode(
VTK_LABEL_VECTORS);};
00126 void SetLabelModeToLabelNormals() {this->SetLabelMode(
VTK_LABEL_NORMALS);};
00127 void SetLabelModeToLabelTCoords() {this->SetLabelMode(
VTK_LABEL_TCOORDS);};
00128 void SetLabelModeToLabelTensors() {this->SetLabelMode(
VTK_LABEL_TENSORS);};
00129 void SetLabelModeToLabelFieldData()
00130 {this->SetLabelMode(
VTK_LABEL_FIELD_DATA);};
00132
00134
00135
virtual void SetLabelTextProperty(
vtkTextProperty *p);
00136 vtkGetObjectMacro(LabelTextProperty,
vtkTextProperty);
00138
00139
#ifndef VTK_REMOVE_LEGACY_CODE
00140
00141
00145
virtual void SetFontFamily(
int val);
00146
virtual int GetFontFamily();
00147 void SetFontFamilyToArial() { this->SetFontFamily(
VTK_ARIAL); };
00148 void SetFontFamilyToCourier() { this->SetFontFamily(
VTK_COURIER);};
00149 void SetFontFamilyToTimes() { this->SetFontFamily(
VTK_TIMES); };
00151
#endif
00152
00153
#ifndef VTK_REMOVE_LEGACY_CODE
00154
00155
00158
virtual void SetFontSize(
int size);
00159
virtual int GetFontSize();
00161
#endif
00162
00163
#ifndef VTK_REMOVE_LEGACY_CODE
00164
00165
00168
virtual void SetBold(
int val);
00169
virtual int GetBold();
00170 vtkBooleanMacro(Bold,
int);
00172
#endif
00173
00174
#ifndef VTK_REMOVE_LEGACY_CODE
00175
00176
00179
virtual void SetItalic(
int val);
00180
virtual int GetItalic();
00181 vtkBooleanMacro(Italic,
int);
00183
#endif
00184
00185
#ifndef VTK_REMOVE_LEGACY_CODE
00186
00187
00190
virtual void SetShadow(
int val);
00191
virtual int GetShadow();
00192 vtkBooleanMacro(Shadow,
int);
00194
#endif
00195
00197
00198
void RenderOpaqueGeometry(
vtkViewport* viewport,
vtkActor2D* actor);
00199
void RenderOverlay(
vtkViewport* viewport,
vtkActor2D* actor);
00201
00205
virtual void ReleaseGraphicsResources(
vtkWindow *);
00206
00207
protected:
00208 vtkLabeledDataMapper();
00209 ~vtkLabeledDataMapper();
00210
00211 vtkDataSet *Input;
00212 vtkTextProperty *LabelTextProperty;
00213
00214 char *LabelFormat;
00215 int LabelMode;
00216 int LabeledComponent;
00217 int FieldDataArray;
00218
00219 vtkTimeStamp BuildTime;
00220
00221
private:
00222
int NumberOfLabels;
00223
int NumberOfLabelsAllocated;
00224
vtkTextMapper **TextMappers;
00225
00226
private:
00227 vtkLabeledDataMapper(
const vtkLabeledDataMapper&);
00228
void operator=(
const vtkLabeledDataMapper&);
00229 };
00230
00231
#endif
00232