Hybrid/vtkCaptionActor2D.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00061 #ifndef __vtkCaptionActor2D_h
00062 #define __vtkCaptionActor2D_h
00063
00064 #include "vtkActor2D.h"
00065
00066 class vtkActor;
00067 class vtkAppendPolyData;
00068 class vtkGlyph2D;
00069 class vtkGlyph3D;
00070 class vtkPolyData;
00071 class vtkPolyDataMapper2D;
00072 class vtkPolyDataMapper;
00073 class vtkTextActor;
00074 class vtkTextMapper;
00075 class vtkTextProperty;
00076
00077 class VTK_HYBRID_EXPORT vtkCaptionActor2D : public vtkActor2D
00078 {
00079 public:
00080 vtkTypeRevisionMacro(vtkCaptionActor2D,vtkActor2D);
00081 void PrintSelf(ostream& os, vtkIndent indent);
00082
00083 static vtkCaptionActor2D *New();
00084
00086
00088 vtkSetStringMacro(Caption);
00089 vtkGetStringMacro(Caption);
00091
00093
00096 vtkWorldCoordinateMacro(AttachmentPoint);
00098
00100
00101 vtkSetMacro(Border,int);
00102 vtkGetMacro(Border,int);
00103 vtkBooleanMacro(Border,int);
00105
00107
00109 vtkSetMacro(Leader,int);
00110 vtkGetMacro(Leader,int);
00111 vtkBooleanMacro(Leader,int);
00113
00115
00117 vtkSetMacro(ThreeDimensionalLeader,int);
00118 vtkGetMacro(ThreeDimensionalLeader,int);
00119 vtkBooleanMacro(ThreeDimensionalLeader,int);
00121
00123
00126 virtual void SetLeaderGlyph(vtkPolyData*);
00127 vtkGetObjectMacro(LeaderGlyph,vtkPolyData);
00129
00131
00136 vtkSetClampMacro(LeaderGlyphSize,float,0.0,0.1);
00137 vtkGetMacro(LeaderGlyphSize,float);
00139
00141
00144 vtkSetClampMacro(MaximumLeaderGlyphSize,int,1,1000);
00145 vtkGetMacro(MaximumLeaderGlyphSize,int);
00147
00149
00151 vtkSetClampMacro(Padding, int, 0, 50);
00152 vtkGetMacro(Padding, int);
00154
00156
00157 virtual void SetCaptionTextProperty(vtkTextProperty *p);
00158 vtkGetObjectMacro(CaptionTextProperty,vtkTextProperty);
00160
00161 #ifndef VTK_REMOVE_LEGACY_CODE
00162
00163
00167 virtual void SetFontFamily(int val);
00168 virtual int GetFontFamily();
00169 void SetFontFamilyToArial() { this->SetFontFamily(VTK_ARIAL); };
00170 void SetFontFamilyToCourier() { this->SetFontFamily(VTK_COURIER);};
00171 void SetFontFamilyToTimes() { this->SetFontFamily(VTK_TIMES); };
00173 #endif
00174
00175 #ifndef VTK_REMOVE_LEGACY_CODE
00176
00177
00180 virtual void SetBold(int val);
00181 virtual int GetBold();
00182 vtkBooleanMacro(Bold, int);
00184 #endif
00185
00186 #ifndef VTK_REMOVE_LEGACY_CODE
00187
00188
00191 virtual void SetItalic(int val);
00192 virtual int GetItalic();
00193 vtkBooleanMacro(Italic, int);
00195 #endif
00196
00197 #ifndef VTK_REMOVE_LEGACY_CODE
00198
00199
00202 virtual void SetShadow(int val);
00203 virtual int GetShadow();
00204 vtkBooleanMacro(Shadow, int);
00206 #endif
00207
00208 #ifndef VTK_REMOVE_LEGACY_CODE
00209
00210
00214 virtual void SetJustification(int val);
00215 virtual int GetJustification();
00216 void SetJustificationToLeft()
00217 { this->SetJustification(VTK_TEXT_LEFT);};
00218 void SetJustificationToCentered()
00219 { this->SetJustification(VTK_TEXT_CENTERED);};
00220 void SetJustificationToRight()
00221 { this->SetJustification(VTK_TEXT_RIGHT);};
00223 #endif
00224
00225 #ifndef VTK_REMOVE_LEGACY_CODE
00226
00227
00231 virtual void SetVerticalJustification(int val);
00232 virtual int GetVerticalJustification();
00233 void SetVerticalJustificationToBottom()
00234 {this->SetVerticalJustification(VTK_TEXT_BOTTOM);};
00235 void SetVerticalJustificationToCentered()
00236 {this->SetVerticalJustification(VTK_TEXT_CENTERED);};
00237 void SetVerticalJustificationToTop()
00238 {this->SetVerticalJustification(VTK_TEXT_TOP);};
00240 #endif
00241
00244 void ShallowCopy(vtkProp *prop);
00245
00246
00251 virtual void ReleaseGraphicsResources(vtkWindow *);
00252
00254
00257 int RenderOpaqueGeometry(vtkViewport* viewport);
00258 int RenderTranslucentGeometry(vtkViewport* ) {return 0;}
00259 int RenderOverlay(vtkViewport* viewport);
00261
00262
00263 protected:
00264 vtkCaptionActor2D();
00265 ~vtkCaptionActor2D();
00266
00267 vtkCoordinate *AttachmentPointCoordinate;
00268
00269 char *Caption;
00270 int Border;
00271 int Leader;
00272 int ThreeDimensionalLeader;
00273 float LeaderGlyphSize;
00274 int MaximumLeaderGlyphSize;
00275
00276 vtkPolyData *LeaderGlyph;
00277
00278 int Padding;
00279
00280 private:
00281 vtkTextActor *CaptionActor;
00282 vtkTextProperty *CaptionTextProperty;
00283
00284 vtkPolyData *BorderPolyData;
00285 vtkPolyDataMapper2D *BorderMapper;
00286 vtkActor2D *BorderActor;
00287
00288 vtkPolyData *HeadPolyData;
00289 vtkGlyph3D *HeadGlyph;
00290 vtkPolyData *LeaderPolyData;
00291 vtkAppendPolyData *AppendLeader;
00292
00293
00294 vtkCoordinate *MapperCoordinate2D;
00295 vtkPolyDataMapper2D *LeaderMapper2D;
00296 vtkActor2D *LeaderActor2D;
00297
00298
00299 vtkPolyDataMapper *LeaderMapper3D;
00300 vtkActor *LeaderActor3D;
00301
00302 private:
00303 vtkCaptionActor2D(const vtkCaptionActor2D&);
00304 void operator=(const vtkCaptionActor2D&);
00305 };
00306
00307
00308 #endif
00309
00310
00311