dox/Hybrid/vtkLegendBoxActor.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00041 #ifndef __vtkLegendBoxActor_h
00042 #define __vtkLegendBoxActor_h
00043
00044 #include "vtkActor2D.h"
00045
00046 class vtkActor;
00047 class vtkFloatArray;
00048 class vtkPolyData;
00049 class vtkPolyDataMapper2D;
00050 class vtkPolyDataMapper;
00051 class vtkTextMapper;
00052 class vtkTextProperty;
00053 class vtkTransform;
00054 class vtkTransformPolyDataFilter;
00055 class vtkProperty2D;
00056
00057 class VTK_HYBRID_EXPORT vtkLegendBoxActor : public vtkActor2D
00058 {
00059 public:
00060 vtkTypeRevisionMacro(vtkLegendBoxActor,vtkActor2D);
00061 void PrintSelf(ostream& os, vtkIndent indent);
00062
00065 static vtkLegendBoxActor *New();
00066
00068
00069 void SetNumberOfEntries(int num);
00070 int GetNumberOfEntries()
00071 {return this->NumberOfEntries;}
00073
00075
00083 void SetEntry(int i, vtkPolyData *symbol, const char* string, float color[3]);
00084 void SetEntrySymbol(int i, vtkPolyData *symbol);
00085 void SetEntryString(int i, const char* string);
00086 void SetEntryColor(int i, float color[3]);
00087 void SetEntryColor(int i, float r, float g, float b);
00088 vtkPolyData *GetEntrySymbol(int i);
00089 const char* GetEntryString(int i);
00090 float *GetEntryColor(int i);
00092
00094
00095 virtual void SetEntryTextProperty(vtkTextProperty *p);
00096 vtkGetObjectMacro(EntryTextProperty,vtkTextProperty);
00098
00099 #ifndef VTK_REMOVE_LEGACY_CODE
00100
00101
00105 virtual void SetFontFamily(int val);
00106 virtual int GetFontFamily();
00107 void SetFontFamilyToArial() { this->SetFontFamily(VTK_ARIAL); };
00108 void SetFontFamilyToCourier() { this->SetFontFamily(VTK_COURIER);};
00109 void SetFontFamilyToTimes() { this->SetFontFamily(VTK_TIMES); };
00111 #endif
00112
00113 #ifndef VTK_REMOVE_LEGACY_CODE
00114
00115
00118 virtual void SetBold(int val);
00119 virtual int GetBold();
00120 vtkBooleanMacro(Bold, int);
00122 #endif
00123
00124 #ifndef VTK_REMOVE_LEGACY_CODE
00125
00126
00129 virtual void SetItalic(int val);
00130 virtual int GetItalic();
00131 vtkBooleanMacro(Italic, int);
00133 #endif
00134
00135 #ifndef VTK_REMOVE_LEGACY_CODE
00136
00137
00140 virtual void SetShadow(int val);
00141 virtual int GetShadow();
00142 vtkBooleanMacro(Shadow, int);
00144 #endif
00145
00147
00149 vtkSetMacro(Border, int);
00150 vtkGetMacro(Border, int);
00151 vtkBooleanMacro(Border, int);
00153
00155
00161 vtkSetMacro(LockBorder, int);
00162 vtkGetMacro(LockBorder, int);
00163 vtkBooleanMacro(LockBorder, int);
00165
00167
00169 vtkSetMacro(Box, int);
00170 vtkGetMacro(Box, int);
00171 vtkBooleanMacro(Box, int);
00173
00175 vtkProperty2D* GetBoxProperty() { return this->BoxActor->GetProperty(); };
00176
00178
00180 vtkSetClampMacro(Padding, int, 0, 50);
00181 vtkGetMacro(Padding, int);
00183
00185
00188 vtkSetMacro(ScalarVisibility,int);
00189 vtkGetMacro(ScalarVisibility,int);
00190 vtkBooleanMacro(ScalarVisibility,int);
00192
00195 void ShallowCopy(vtkProp *prop);
00196
00197
00202 virtual void ReleaseGraphicsResources(vtkWindow *);
00203
00205
00208 int RenderOpaqueGeometry(vtkViewport* viewport);
00209 int RenderTranslucentGeometry(vtkViewport* ) {return 0;};
00210 int RenderOverlay(vtkViewport* viewport);
00212
00213
00214 protected:
00215 vtkLegendBoxActor();
00216 ~vtkLegendBoxActor();
00217
00218 void InitializeEntries();
00219
00220
00221 int Border;
00222 int Box;
00223 int Padding;
00224 int LockBorder;
00225 int ScalarVisibility;
00226 float BoxOpacity;
00227
00228
00229 int NumberOfEntries;
00230 int Size;
00231 vtkFloatArray *Colors;
00232 vtkTextMapper **TextMapper;
00233 vtkActor2D **TextActor;
00234 vtkPolyData **Symbol;
00235 vtkTransform **Transform;
00236 vtkTransformPolyDataFilter **SymbolTransform;
00237 vtkPolyDataMapper2D **SymbolMapper;
00238 vtkActor2D **SymbolActor;
00239 vtkPolyData *BorderPolyData;
00240 vtkPolyDataMapper2D *BorderMapper;
00241 vtkActor2D *BorderActor;
00242 vtkPolyData *BoxPolyData;
00243 vtkPolyDataMapper2D *BoxMapper;
00244 vtkActor2D *BoxActor;
00245 vtkTextProperty *EntryTextProperty;
00246
00247
00248 int LegendEntriesVisible;
00249 int CachedSize[2];
00250 vtkTimeStamp BuildTime;
00251
00252 private:
00253 vtkLegendBoxActor(const vtkLegendBoxActor&);
00254 void operator=(const vtkLegendBoxActor&);
00255 };
00256
00257
00258 #endif
00259