00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00057
#ifndef __vtkCaptionActor2D_h
00058
#define __vtkCaptionActor2D_h
00059
00060
#include "vtkActor2D.h"
00061
00062
class vtkActor;
00063
class vtkAppendPolyData;
00064
class vtkGlyph2D;
00065
class vtkGlyph3D;
00066
class vtkPolyData;
00067
class vtkPolyDataMapper2D;
00068
class vtkPolyDataMapper;
00069
class vtkTextActor;
00070
class vtkTextMapper;
00071
class vtkTextProperty;
00072
00073 class VTK_HYBRID_EXPORT vtkCaptionActor2D :
public vtkActor2D
00074 {
00075
public:
00076 vtkTypeRevisionMacro(vtkCaptionActor2D,
vtkActor2D);
00077
void PrintSelf(ostream& os,
vtkIndent indent);
00078
00079
static vtkCaptionActor2D *
New();
00080
00082
00084 vtkSetStringMacro(Caption);
00085 vtkGetStringMacro(Caption);
00087
00089
00092 vtkWorldCoordinateMacro(AttachmentPoint);
00094
00096
00097 vtkSetMacro(Border,
int);
00098 vtkGetMacro(Border,
int);
00099 vtkBooleanMacro(Border,
int);
00101
00103
00105 vtkSetMacro(Leader,
int);
00106 vtkGetMacro(Leader,
int);
00107 vtkBooleanMacro(Leader,
int);
00109
00111
00113 vtkSetMacro(ThreeDimensionalLeader,
int);
00114 vtkGetMacro(ThreeDimensionalLeader,
int);
00115 vtkBooleanMacro(ThreeDimensionalLeader,
int);
00117
00119
00122
virtual void SetLeaderGlyph(
vtkPolyData*);
00123 vtkGetObjectMacro(LeaderGlyph,
vtkPolyData);
00125
00127
00132 vtkSetClampMacro(LeaderGlyphSize,
double,0.0,0.1);
00133 vtkGetMacro(LeaderGlyphSize,
double);
00135
00137
00140 vtkSetClampMacro(MaximumLeaderGlyphSize,
int,1,1000);
00141 vtkGetMacro(MaximumLeaderGlyphSize,
int);
00143
00145
00147 vtkSetClampMacro(Padding,
int, 0, 50);
00148 vtkGetMacro(Padding,
int);
00150
00152
00153
virtual void SetCaptionTextProperty(
vtkTextProperty *p);
00154 vtkGetObjectMacro(CaptionTextProperty,
vtkTextProperty);
00156
00159
void ShallowCopy(
vtkProp *prop);
00160
00161
00166
virtual void ReleaseGraphicsResources(
vtkWindow *);
00167
00169
00172
int RenderOpaqueGeometry(
vtkViewport* viewport);
00173 int RenderTranslucentGeometry(
vtkViewport* ) {
return 0;}
00174
int RenderOverlay(
vtkViewport* viewport);
00176
00177
00178
protected:
00179 vtkCaptionActor2D();
00180 ~vtkCaptionActor2D();
00181
00182 vtkCoordinate *AttachmentPointCoordinate;
00183
00184 char *Caption;
00185 int Border;
00186 int Leader;
00187 int ThreeDimensionalLeader;
00188 double LeaderGlyphSize;
00189 int MaximumLeaderGlyphSize;
00190
00191 vtkPolyData *LeaderGlyph;
00192
00193 int Padding;
00194
00195
private:
00196
vtkTextActor *CaptionActor;
00197
vtkTextProperty *CaptionTextProperty;
00198
00199
vtkPolyData *BorderPolyData;
00200
vtkPolyDataMapper2D *BorderMapper;
00201
vtkActor2D *BorderActor;
00202
00203
vtkPolyData *HeadPolyData;
00204
vtkGlyph3D *HeadGlyph;
00205
vtkPolyData *LeaderPolyData;
00206
vtkAppendPolyData *AppendLeader;
00207
00208
00209
vtkCoordinate *MapperCoordinate2D;
00210
vtkPolyDataMapper2D *LeaderMapper2D;
00211
vtkActor2D *LeaderActor2D;
00212
00213
00214
vtkPolyDataMapper *LeaderMapper3D;
00215
vtkActor *LeaderActor3D;
00216
00217
private:
00218 vtkCaptionActor2D(
const vtkCaptionActor2D&);
00219
void operator=(
const vtkCaptionActor2D&);
00220 };
00221
00222
00223
#endif
00224
00225
00226