00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00058
#ifndef __vtkScalarBarActor_h
00059
#define __vtkScalarBarActor_h
00060
00061
#include "vtkActor2D.h"
00062
00063
class vtkPolyData;
00064
class vtkPolyDataMapper2D;
00065
class vtkScalarsToColors;
00066
class vtkTextMapper;
00067
class vtkTextProperty;
00068
00069 #define VTK_ORIENT_HORIZONTAL 0
00070 #define VTK_ORIENT_VERTICAL 1
00071
00072 class VTK_RENDERING_EXPORT vtkScalarBarActor :
public vtkActor2D
00073 {
00074
public:
00075 vtkTypeRevisionMacro(vtkScalarBarActor,
vtkActor2D);
00076
void PrintSelf(ostream& os,
vtkIndent indent);
00077
00081
static vtkScalarBarActor *
New();
00082
00084
00085
int RenderOpaqueGeometry(
vtkViewport* viewport);
00086 int RenderTranslucentGeometry(
vtkViewport*) {
return 0; };
00087
int RenderOverlay(
vtkViewport* viewport);
00089
00093
virtual void ReleaseGraphicsResources(
vtkWindow *);
00094
00096
00099
virtual void SetLookupTable(
vtkScalarsToColors*);
00100 vtkGetObjectMacro(LookupTable,
vtkScalarsToColors);
00102
00104
00107 vtkSetClampMacro(MaximumNumberOfColors,
int, 2, VTK_LARGE_INTEGER);
00108 vtkGetMacro(MaximumNumberOfColors,
int);
00110
00112
00113 vtkSetClampMacro(NumberOfLabels,
int, 0, 64);
00114 vtkGetMacro(NumberOfLabels,
int);
00116
00118
00119 vtkSetClampMacro(Orientation,
int,VTK_ORIENT_HORIZONTAL, VTK_ORIENT_VERTICAL);
00120 vtkGetMacro(Orientation,
int);
00121 void SetOrientationToHorizontal()
00122 {this->SetOrientation(
VTK_ORIENT_HORIZONTAL);};
00123 void SetOrientationToVertical() {this->SetOrientation(
VTK_ORIENT_VERTICAL);};
00125
00127
00128
virtual void SetTitleTextProperty(
vtkTextProperty *p);
00129 vtkGetObjectMacro(TitleTextProperty,
vtkTextProperty);
00131
00133
00134
virtual void SetLabelTextProperty(
vtkTextProperty *p);
00135 vtkGetObjectMacro(LabelTextProperty,
vtkTextProperty);
00137
00139
00140 vtkSetStringMacro(LabelFormat);
00141 vtkGetStringMacro(LabelFormat);
00143
00145
00146 vtkSetStringMacro(Title);
00147 vtkGetStringMacro(Title);
00149
00152
void ShallowCopy(
vtkProp *prop);
00153
00154
protected:
00155 vtkScalarBarActor();
00156 ~vtkScalarBarActor();
00157
00158 vtkScalarsToColors *LookupTable;
00159 vtkTextProperty *TitleTextProperty;
00160 vtkTextProperty *LabelTextProperty;
00161
00162 int MaximumNumberOfColors;
00163 int NumberOfLabels;
00164 int NumberOfLabelsBuilt;
00165 int Orientation;
00166 char *Title;
00167 char *LabelFormat;
00168
00169 vtkTextMapper **TextMappers;
00170
virtual void AllocateAndSizeLabels(
int *labelSize,
int *size,
00171
vtkViewport *viewport,
double *range);
00172
00173
private:
00174
vtkTextMapper *TitleMapper;
00175
vtkActor2D *TitleActor;
00176
00177
vtkActor2D **TextActors;
00178
00179
vtkPolyData *ScalarBar;
00180
vtkPolyDataMapper2D *ScalarBarMapper;
00181
vtkActor2D *ScalarBarActor;
00182
00183
vtkTimeStamp BuildTime;
00184
int LastSize[2];
00185
int LastOrigin[2];
00186
00187
void SizeTitle(
int *titleSize,
int *size,
vtkViewport *viewport);
00188
00189
private:
00190 vtkScalarBarActor(
const vtkScalarBarActor&);
00191
void operator=(
const vtkScalarBarActor&);
00192 };
00193
00194
00195
#endif
00196