VTK
vtkCornerAnnotation.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkCornerAnnotation.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
38 #ifndef vtkCornerAnnotation_h
39 #define vtkCornerAnnotation_h
40 
41 #include "vtkRenderingAnnotationModule.h" // For export macro
42 #include "vtkActor2D.h"
43 
44 class vtkTextMapper;
46 class vtkImageActor;
47 class vtkTextProperty;
48 
50 {
51 public:
53  void PrintSelf(ostream& os, vtkIndent indent);
54 
58 
60 
62  virtual int RenderTranslucentPolygonalGeometry(vtkViewport* ) {return 0;};
63  int RenderOverlay(vtkViewport* viewport);
65 
68 
70 
72  vtkSetMacro(MaximumLineHeight,double);
73  vtkGetMacro(MaximumLineHeight,double);
75 
77 
79  vtkSetMacro(MinimumFontSize,int);
80  vtkGetMacro(MinimumFontSize,int);
81  vtkSetMacro(MaximumFontSize,int);
82  vtkGetMacro(MaximumFontSize,int);
84 
86 
92  vtkSetMacro( LinearFontScaleFactor, double );
93  vtkGetMacro( LinearFontScaleFactor, double );
94  vtkSetMacro( NonlinearFontScaleFactor, double );
95  vtkGetMacro( NonlinearFontScaleFactor, double );
97 
102 
104 
107  {
108  LowerLeft = 0,
115  UpperEdge
116  };
117  static const int NumTextPositions = 8;
119 
121 
122  void SetText(int i, const char *text);
123  const char* GetText(int i);
127 
129 
133 
135 
140 
142 
143  vtkSetMacro(LevelShift, double);
144  vtkGetMacro(LevelShift, double);
146 
148 
149  vtkSetMacro(LevelScale, double);
150  vtkGetMacro(LevelScale, double);
152 
154 
158 
160 
162  vtkBooleanMacro(ShowSliceAndImage, int);
163  vtkSetMacro(ShowSliceAndImage, int);
164  vtkGetMacro(ShowSliceAndImage, int);
166 
167 protected:
170 
172 
174 
176  double LevelShift;
177  double LevelScale;
180 
181  char *CornerText[NumTextPositions];
182 
183  int FontSize;
184  vtkActor2D *TextActor[NumTextPositions];
186  int LastSize[2];
187  vtkTextMapper *TextMapper[NumTextPositions];
188 
191 
194 
196 
198 
199  virtual void TextReplace(
202 
204 
205  virtual void SetTextActorsPosition(int vsize[2]);
208 
209 private:
210  vtkCornerAnnotation(const vtkCornerAnnotation&); // Not implemented.
211  void operator=(const vtkCornerAnnotation&); // Not implemented.
212 };
213 
214 
215 #endif
216 
217 
218 
vtkCornerAnnotation::LeftEdge
@ LeftEdge
Uses the left edge center.
Definition: vtkCornerAnnotation.h:114
vtkRenderingAnnotationModule.h
vtkCornerAnnotation::MinimumFontSize
int MinimumFontSize
Definition: vtkCornerAnnotation.h:189
vtkGetObjectMacro
#define vtkGetObjectMacro(name, type)
Definition: vtkSetGet.h:232
vtkCornerAnnotation::MaximumFontSize
int MaximumFontSize
Definition: vtkCornerAnnotation.h:190
vtkCornerAnnotation::RenderOpaqueGeometry
int RenderOpaqueGeometry(vtkViewport *viewport)
vtkCornerAnnotation::TextProperty
vtkTextProperty * TextProperty
Definition: vtkCornerAnnotation.h:173
vtkCornerAnnotation::ClearAllTexts
void ClearAllTexts()
vtkCornerAnnotation::LevelScale
double LevelScale
Definition: vtkCornerAnnotation.h:177
vtkTimeStamp
record modification and/or execution time
Definition: vtkTimeStamp.h:35
vtkCornerAnnotation::SetTextProperty
virtual void SetTextProperty(vtkTextProperty *p)
vtkCornerAnnotation::ReleaseGraphicsResources
virtual void ReleaseGraphicsResources(vtkWindow *)
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkCornerAnnotation::ImageActor
vtkImageActor * ImageActor
Definition: vtkCornerAnnotation.h:178
vtkWindow
window superclass for vtkRenderWindow
Definition: vtkWindow.h:34
vtkCornerAnnotation::vtkCornerAnnotation
vtkCornerAnnotation()
vtkCornerAnnotation::UpperRight
@ UpperRight
Uses the upper right corner.
Definition: vtkCornerAnnotation.h:111
vtkCornerAnnotation::BuildTime
vtkTimeStamp BuildTime
Definition: vtkCornerAnnotation.h:185
vtkCornerAnnotation::LastImageActor
vtkImageActor * LastImageActor
Definition: vtkCornerAnnotation.h:179
vtkCornerAnnotation::LowerRight
@ LowerRight
Uses the lower right corner.
Definition: vtkCornerAnnotation.h:109
vtkTextMapper
2D text annotation
Definition: vtkTextMapper.h:53
vtkCornerAnnotation::SetText
void SetText(int i, const char *text)
vtkCornerAnnotation::RenderTranslucentPolygonalGeometry
virtual int RenderTranslucentPolygonalGeometry(vtkViewport *)
Definition: vtkCornerAnnotation.h:62
vtkCornerAnnotation::SetTextActorsPosition
virtual void SetTextActorsPosition(int vsize[2])
vtkCornerAnnotation::GetText
const char * GetText(int i)
vtkCornerAnnotation::RightEdge
@ RightEdge
Uses the right edge center.
Definition: vtkCornerAnnotation.h:113
vtkCornerAnnotation::LowerEdge
@ LowerEdge
Uses the lower edge center.
Definition: vtkCornerAnnotation.h:112
vtkCornerAnnotation::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkImageMapToWindowLevelColors
map the input image through a lookup table and window / level it
Definition: vtkImageMapToWindowLevelColors.h:41
vtkCornerAnnotation
text annotation in four corners
Definition: vtkCornerAnnotation.h:50
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkCornerAnnotation::UpperLeft
@ UpperLeft
Uses the upper left corner.
Definition: vtkCornerAnnotation.h:110
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkCornerAnnotation::SetTextActorsJustification
virtual void SetTextActorsJustification()
vtkCornerAnnotation::MaximumLineHeight
double MaximumLineHeight
Definition: vtkCornerAnnotation.h:171
vtkCornerAnnotation::LevelShift
double LevelShift
Definition: vtkCornerAnnotation.h:176
vtkViewport
abstract specification for Viewports
Definition: vtkViewport.h:47
vtkCornerAnnotation::RenderOverlay
int RenderOverlay(vtkViewport *viewport)
vtkTextProperty
represent text properties.
Definition: vtkTextProperty.h:39
vtkBooleanMacro
vtkBooleanMacro(IgnoreDriverBugs, bool)
vtkCornerAnnotation::NonlinearFontScaleFactor
double NonlinearFontScaleFactor
Definition: vtkCornerAnnotation.h:193
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkCornerAnnotation::TextReplace
virtual void TextReplace(vtkImageActor *ia, vtkImageMapToWindowLevelColors *wl)
vtkCornerAnnotation::HasTranslucentPolygonalGeometry
virtual int HasTranslucentPolygonalGeometry()
vtkActor2D
a actor that draws 2D data
Definition: vtkActor2D.h:45
vtkActor2D.h
vtkCornerAnnotation::TextPosition
TextPosition
Definition: vtkCornerAnnotation.h:107
vtkCornerAnnotation::~vtkCornerAnnotation
~vtkCornerAnnotation()
vtkCornerAnnotation::New
static vtkCornerAnnotation * New()
vtkCornerAnnotation::FontSize
int FontSize
Definition: vtkCornerAnnotation.h:183
vtkCornerAnnotation::WindowLevel
vtkImageMapToWindowLevelColors * WindowLevel
Definition: vtkCornerAnnotation.h:175
vtkImageActor
draw an image in a rendered 3D scene
Definition: vtkImageActor.h:49
vtkgl::p
GLfloat GLfloat p
Definition: vtkgl.h:15717
vtkCornerAnnotation::LinearFontScaleFactor
double LinearFontScaleFactor
Definition: vtkCornerAnnotation.h:192
vtkCornerAnnotation::CopyAllTextsFrom
void CopyAllTextsFrom(vtkCornerAnnotation *ca)
vtkCornerAnnotation::SetImageActor
void SetImageActor(vtkImageActor *)
VTKRENDERINGANNOTATION_EXPORT
#define VTKRENDERINGANNOTATION_EXPORT
Definition: vtkRenderingAnnotationModule.h:15
vtkCornerAnnotation::SetWindowLevel
void SetWindowLevel(vtkImageMapToWindowLevelColors *)
vtkCornerAnnotation::ShowSliceAndImage
int ShowSliceAndImage
Definition: vtkCornerAnnotation.h:195