Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

dox/Rendering/vtkScalarBarActor.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkScalarBarActor.h,v $ 00005 Language: C++ 00006 00007 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 00008 All rights reserved. 00009 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00010 00011 This software is distributed WITHOUT ANY WARRANTY; without even 00012 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00013 PURPOSE. See the above copyright notice for more information. 00014 00015 =========================================================================*/ 00062 #ifndef __vtkScalarBarActor_h 00063 #define __vtkScalarBarActor_h 00064 00065 #include "vtkActor2D.h" 00066 00067 class vtkPolyData; 00068 class vtkPolyDataMapper2D; 00069 class vtkScalarsToColors; 00070 class vtkTextMapper; 00071 class vtkTextProperty; 00072 00073 #define VTK_ORIENT_HORIZONTAL 0 00074 #define VTK_ORIENT_VERTICAL 1 00075 00076 class VTK_RENDERING_EXPORT vtkScalarBarActor : public vtkActor2D 00077 { 00078 public: 00079 vtkTypeRevisionMacro(vtkScalarBarActor,vtkActor2D); 00080 void PrintSelf(ostream& os, vtkIndent indent); 00081 00085 static vtkScalarBarActor *New(); 00086 00088 00089 int RenderOpaqueGeometry(vtkViewport* viewport); 00090 int RenderTranslucentGeometry(vtkViewport*) { return 0; }; 00091 int RenderOverlay(vtkViewport* viewport); 00093 00097 virtual void ReleaseGraphicsResources(vtkWindow *); 00098 00100 00103 virtual void SetLookupTable(vtkScalarsToColors*); 00104 vtkGetObjectMacro(LookupTable,vtkScalarsToColors); 00106 00108 00111 vtkSetClampMacro(MaximumNumberOfColors, int, 2, VTK_LARGE_INTEGER); 00112 vtkGetMacro(MaximumNumberOfColors, int); 00114 00116 00117 vtkSetClampMacro(NumberOfLabels, int, 0, 64); 00118 vtkGetMacro(NumberOfLabels, int); 00120 00122 00123 vtkSetClampMacro(Orientation,int,VTK_ORIENT_HORIZONTAL, VTK_ORIENT_VERTICAL); 00124 vtkGetMacro(Orientation, int); 00125 void SetOrientationToHorizontal() 00126 {this->SetOrientation(VTK_ORIENT_HORIZONTAL);}; 00127 void SetOrientationToVertical() {this->SetOrientation(VTK_ORIENT_VERTICAL);}; 00129 00131 00132 virtual void SetTitleTextProperty(vtkTextProperty *p); 00133 vtkGetObjectMacro(TitleTextProperty,vtkTextProperty); 00135 00137 00138 virtual void SetLabelTextProperty(vtkTextProperty *p); 00139 vtkGetObjectMacro(LabelTextProperty,vtkTextProperty); 00141 00142 #ifndef VTK_REMOVE_LEGACY_CODE 00143 00144 00149 virtual void SetFontFamily(int val); 00150 virtual int GetFontFamily(); 00151 void SetFontFamilyToArial() { this->SetFontFamily(VTK_ARIAL); }; 00152 void SetFontFamilyToCourier() { this->SetFontFamily(VTK_COURIER);}; 00153 void SetFontFamilyToTimes() { this->SetFontFamily(VTK_TIMES); }; 00155 #endif 00156 00157 #ifndef VTK_REMOVE_LEGACY_CODE 00158 00159 00162 virtual void SetBold(int val); 00163 virtual int GetBold(); 00164 vtkBooleanMacro(Bold, int); 00166 #endif 00167 00168 #ifndef VTK_REMOVE_LEGACY_CODE 00169 00170 00173 virtual void SetItalic(int val); 00174 virtual int GetItalic(); 00175 vtkBooleanMacro(Italic, int); 00177 #endif 00178 00179 #ifndef VTK_REMOVE_LEGACY_CODE 00180 00181 00184 virtual void SetShadow(int val); 00185 virtual int GetShadow(); 00186 vtkBooleanMacro(Shadow, int); 00188 #endif 00189 00191 00192 vtkSetStringMacro(LabelFormat); 00193 vtkGetStringMacro(LabelFormat); 00195 00197 00198 vtkSetStringMacro(Title); 00199 vtkGetStringMacro(Title); 00201 00204 void ShallowCopy(vtkProp *prop); 00205 00206 protected: 00207 vtkScalarBarActor(); 00208 ~vtkScalarBarActor(); 00209 00210 vtkScalarsToColors *LookupTable; 00211 vtkTextProperty *TitleTextProperty; 00212 vtkTextProperty *LabelTextProperty; 00213 00214 int MaximumNumberOfColors; 00215 int NumberOfLabels; 00216 int NumberOfLabelsBuilt; 00217 int Orientation; 00218 char *Title; 00219 char *LabelFormat; 00220 00221 vtkTextMapper **TextMappers; 00222 virtual void AllocateAndSizeLabels(int *labelSize, int *size, 00223 vtkViewport *viewport, float *range); 00224 00225 private: 00226 vtkTextMapper *TitleMapper; 00227 vtkActor2D *TitleActor; 00228 00229 vtkActor2D **TextActors; 00230 00231 vtkPolyData *ScalarBar; 00232 vtkPolyDataMapper2D *ScalarBarMapper; 00233 vtkActor2D *ScalarBarActor; 00234 00235 vtkTimeStamp BuildTime; 00236 int LastSize[2]; 00237 int LastOrigin[2]; 00238 00239 void SizeTitle(int *titleSize, int *size, vtkViewport *viewport); 00240 00241 private: 00242 vtkScalarBarActor(const vtkScalarBarActor&); // Not implemented. 00243 void operator=(const vtkScalarBarActor&); // Not implemented. 00244 }; 00245 00246 00247 #endif 00248