VTK
vtkScalarBarActor.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkScalarBarActor.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 =========================================================================*/
58 #ifndef vtkScalarBarActor_h
59 #define vtkScalarBarActor_h
60 
61 #include "vtkRenderingAnnotationModule.h" // For export macro
62 #include "vtkActor2D.h"
63 
64 class vtkColor3ub;
65 class vtkPolyData;
67 class vtkProperty2D;
68 class vtkScalarsToColors;
70 class vtkTextActor;
71 class vtkTextMapper;
72 class vtkTextProperty;
73 class vtkTexture;
74 class vtkTexturedActor2D;
75 
76 #define VTK_ORIENT_HORIZONTAL 0
77 #define VTK_ORIENT_VERTICAL 1
78 
80 {
81 public:
83  void PrintSelf(ostream& os, vtkIndent indent);
84 
89 
91 
93  virtual int RenderTranslucentPolygonalGeometry(vtkViewport*) { return 0; };
94  int RenderOverlay(vtkViewport* viewport);
96 
99 
104 
108  virtual void GetScalarBarRect(int rect[4], vtkViewport* viewport);
109 
111 
118 
120 
125  vtkSetMacro( UseOpacity, int );
126  vtkGetMacro( UseOpacity, int );
127  vtkBooleanMacro( UseOpacity, int );
129 
131 
134  vtkSetClampMacro(MaximumNumberOfColors, int, 2, VTK_INT_MAX);
135  vtkGetMacro(MaximumNumberOfColors, int);
137 
139 
140  vtkSetClampMacro(NumberOfLabels, int, 0, 64);
141  vtkGetMacro(NumberOfLabels, int);
143 
145 
147  vtkGetMacro(Orientation, int);
149  {this->SetOrientation(VTK_ORIENT_HORIZONTAL);}
150  void SetOrientationToVertical() {this->SetOrientation(VTK_ORIENT_VERTICAL);}
152 
154 
156  vtkGetObjectMacro(TitleTextProperty,vtkTextProperty);
158 
160 
162  vtkGetObjectMacro(LabelTextProperty,vtkTextProperty);
164 
166 
167  vtkSetStringMacro(LabelFormat);
168  vtkGetStringMacro(LabelFormat);
170 
172 
176 
178 
179  vtkSetStringMacro(ComponentTitle);
180  vtkGetStringMacro(ComponentTitle);
182 
185  void ShallowCopy(vtkProp* prop);
186 
188 
189  vtkSetMacro( TextureGridWidth, double );
190  vtkGetMacro( TextureGridWidth, double );
192 
194 
197 
198 //BTX
199  enum { PrecedeScalarBar = 0, SucceedScalarBar };
200 //ETX
201 
203 
209  vtkSetClampMacro( TextPosition, int, PrecedeScalarBar, SucceedScalarBar);
210  vtkGetMacro( TextPosition, int );
212  { this->SetTextPosition( vtkScalarBarActor::PrecedeScalarBar ); }
214  { this->SetTextPosition( vtkScalarBarActor::SucceedScalarBar ); }
216 
218 
223  vtkSetMacro( MaximumWidthInPixels, int );
224  vtkGetMacro( MaximumWidthInPixels, int );
225  vtkSetMacro( MaximumHeightInPixels, int );
226  vtkGetMacro( MaximumHeightInPixels, int );
228 
230 
232  vtkSetMacro(AnnotationLeaderPadding, double);
233  vtkGetMacro(AnnotationLeaderPadding, double);
235 
237 
240  vtkSetMacro(DrawAnnotations, int);
241  vtkGetMacro(DrawAnnotations, int);
242  vtkBooleanMacro(DrawAnnotations, int);
244 
246 
249  vtkSetMacro(DrawNanAnnotation, int);
250  vtkGetMacro(DrawNanAnnotation, int);
251  vtkBooleanMacro(DrawNanAnnotation, int);
253 
255 
260  vtkSetMacro(FixedAnnotationLeaderLineColor, int);
261  vtkGetMacro(FixedAnnotationLeaderLineColor, int);
262  vtkBooleanMacro(FixedAnnotationLeaderLineColor, int);
264 
266 
267  vtkSetStringMacro(NanAnnotation);
268  vtkGetStringMacro(NanAnnotation);
270 
272 
277  vtkSetMacro(AnnotationTextScaling,int);
278  vtkGetMacro(AnnotationTextScaling,int);
280 
282 
284  vtkSetMacro(DrawBackground, int);
285  vtkGetMacro(DrawBackground, int);
286  vtkBooleanMacro(DrawBackground, int);
288 
290 
292  vtkSetMacro(DrawFrame, int);
293  vtkGetMacro(DrawFrame, int);
294  vtkBooleanMacro(DrawFrame, int);
296 
298 
300  vtkSetMacro(DrawColorBar, int);
301  vtkGetMacro(DrawColorBar, int);
302  vtkBooleanMacro(DrawColorBar, int);
304 
306 
307  vtkSetMacro(DrawTickLabels, int);
308  vtkGetMacro(DrawTickLabels, int);
309  vtkBooleanMacro(DrawTickLabels, int);
311 
313 
315  vtkGetObjectMacro(BackgroundProperty,vtkProperty2D);
317 
319 
323 
325 
327  vtkGetMacro(TextPad,int);
328  vtkSetMacro(TextPad,int);
330 
332 
334  vtkGetMacro(VerticalTitleSeparation,int);
335  vtkSetMacro(VerticalTitleSeparation,int);
337 
339 
341  vtkGetMacro(BarRatio,double);
342  vtkSetClampMacro(BarRatio,double,0.,1.);
344 
346 
350  vtkGetMacro(TitleRatio,double);
351  vtkSetClampMacro(TitleRatio,double,0.,1.);
353 
354 protected:
357 
374  virtual void RebuildLayout(vtkViewport* viewport);
375 
377  virtual void FreeLayoutStorage();
378 
384  virtual void ComputeFrame();
385 
392 
396  virtual void LayoutNanSwatch();
397 
399  virtual void PrepareTitleText();
400 
407  virtual void LayoutTitle();
408 
414  virtual void ComputeScalarBarLength();
415 
421  virtual void LayoutTicks();
422 
426  virtual void LayoutAnnotations();
427 
429  virtual void ConfigureAnnotations();
430 
433  virtual void ConfigureFrame();
434 
436  virtual void DrawBoxes();
437 
440  virtual void ConfigureScalarBar();
441 
443  virtual void ConfigureTitle();
444 
446  virtual void ConfigureTicks();
447 
451  virtual void ConfigureNanSwatch();
452 
460  virtual void EditAnnotations() { }
461 
464  virtual void SizeTitle(double* titleSize, int* size, vtkViewport* viewport);
465 
467 
470  vtkScalarsToColors* lkup, double start, double delta, const double* range);
472 
474 
477  double barX, double barY, double barWidth, double barHeight,
478  double delta, double pad);
480 
481 
484  double barX, double barY, double barWidth, double barHeight,
485  double delta, double pad);
487 
489 
494  int DrawBackground; // off by default
495  int DrawFrame; // off by default
496  int DrawColorBar; // on by default
497  int DrawTickLabels; // on by default
500  int AnnotationTextScaling; // off by default
504  char* Title;
506  char* LabelFormat;
507  int UseOpacity; // off by default
514  int TextPad;
516  double BarRatio;
517  double TitleRatio;
519 
521 
523  int LastSize[2];
524  int LastOrigin[2];
525 
527 
529 
533 
540 
544 
548 
549 
550 private:
551  vtkScalarBarActor(const vtkScalarBarActor&); // Not implemented.
552  void operator=(const vtkScalarBarActor&); // Not implemented.
553 };
554 
555 
556 #endif
557 
vtkScalarBarActor::TexturePolyData
vtkPolyData * TexturePolyData
Polygon colored when UseOpacity is true.
Definition: vtkScalarBarActor.h:537
vtkRenderingAnnotationModule.h
VTK_INT_MAX
#define VTK_INT_MAX
Definition: vtkType.h:132
vtkGetObjectMacro
#define vtkGetObjectMacro(name, type)
Definition: vtkSetGet.h:232
vtkPolyDataMapper2D
draw vtkPolyData onto the image plane
Definition: vtkPolyDataMapper2D.h:51
vtkScalarBarActor::TextPad
int TextPad
Definition: vtkScalarBarActor.h:514
vtkScalarBarActor::LayoutTitle
virtual void LayoutTitle()
vtkScalarBarActor::DrawNanAnnotation
int DrawNanAnnotation
Definition: vtkScalarBarActor.h:499
vtkScalarBarActor::MaximumWidthInPixels
int MaximumWidthInPixels
Definition: vtkScalarBarActor.h:512
vtkScalarBarActor::PlaceAnnotationsHorizontally
int PlaceAnnotationsHorizontally(double barX, double barY, double barWidth, double barHeight, double delta, double pad)
vtkScalarBarActor::TitleRatio
double TitleRatio
Definition: vtkScalarBarActor.h:517
vtkScalarBarActorInternal
Internal state for the scalar bar actor shared with subclasses.
Definition: vtkScalarBarActorInternal.h:54
vtkScalarBarActor::RenderOverlay
int RenderOverlay(vtkViewport *viewport)
vtkScalarBarActor::SetTextPositionToPrecedeScalarBar
virtual void SetTextPositionToPrecedeScalarBar()
Definition: vtkScalarBarActor.h:211
vtkTexturedActor2D
actor that draws 2D data with texture support
Definition: vtkTexturedActor2D.h:41
vtkScalarBarActor::LookupTable
vtkScalarsToColors * LookupTable
The object this actor illustrates.
Definition: vtkScalarBarActor.h:528
vtkScalarBarActor::ShallowCopy
void ShallowCopy(vtkProp *prop)
vtkScalarBarActor::BackgroundMapper
vtkPolyDataMapper2D * BackgroundMapper
Mapper for Background.
Definition: vtkScalarBarActor.h:542
VTK_ORIENT_HORIZONTAL
#define VTK_ORIENT_HORIZONTAL
Definition: vtkScalarBarActor.h:76
vtkScalarBarActor::ScalarBarMapper
vtkPolyDataMapper2D * ScalarBarMapper
Mapper for ScalarBar.
Definition: vtkScalarBarActor.h:535
vtkScalarBarActor::FreeLayoutStorage
virtual void FreeLayoutStorage()
vtkScalarBarActor::ComputeScalarBarThickness
virtual void ComputeScalarBarThickness()
vtkScalarBarActor::DrawFrame
int DrawFrame
Definition: vtkScalarBarActor.h:495
vtkScalarBarActor::FrameActor
vtkActor2D * FrameActor
Actor for Frame.
Definition: vtkScalarBarActor.h:547
vtkScalarBarActor::ConfigureTitle
virtual void ConfigureTitle()
vtkTimeStamp
record modification and/or execution time
Definition: vtkTimeStamp.h:35
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkScalarBarActor::AnnotationTextScaling
int AnnotationTextScaling
Definition: vtkScalarBarActor.h:500
vtkScalarBarActor::TextureGridWidth
double TextureGridWidth
Definition: vtkScalarBarActor.h:508
vtkScalarBarActor::NumberOfLabelsBuilt
int NumberOfLabelsBuilt
Definition: vtkScalarBarActor.h:492
vtkScalarBarActor::ComputeFrame
virtual void ComputeFrame()
vtkScalarBarActor::UseOpacity
int UseOpacity
Definition: vtkScalarBarActor.h:507
vtkgl::range
GLenum GLint * range
Definition: vtkgl.h:14180
vtkScalarBarActor::RenderTranslucentPolygonalGeometry
virtual int RenderTranslucentPolygonalGeometry(vtkViewport *)
Definition: vtkScalarBarActor.h:93
vtkScalarBarActor::VerticalTitleSeparation
int VerticalTitleSeparation
Definition: vtkScalarBarActor.h:515
vtkScalarBarActor::DrawColorBar
int DrawColorBar
Definition: vtkScalarBarActor.h:496
vtkScalarBarActor::ComponentTitle
char * ComponentTitle
Definition: vtkScalarBarActor.h:505
vtkScalarBarActor::MaximumHeightInPixels
int MaximumHeightInPixels
Definition: vtkScalarBarActor.h:513
vtkScalarBarActor::Title
char * Title
Definition: vtkScalarBarActor.h:504
vtkWindow
window superclass for vtkRenderWindow
Definition: vtkWindow.h:34
vtkScalarBarActor::BackgroundActor
vtkActor2D * BackgroundActor
Actor for Background.
Definition: vtkScalarBarActor.h:543
vtkScalarBarActor::Texture
vtkTexture * Texture
Color data for TexturePolyData.
Definition: vtkScalarBarActor.h:538
vtkScalarBarActor::FixedAnnotationLeaderLineColor
int FixedAnnotationLeaderLineColor
Definition: vtkScalarBarActor.h:501
vtkSetClampMacro
#define vtkSetClampMacro(name, type, min, max)
Definition: vtkSetGet.h:143
vtkTexture
handles properties associated with a texture map
Definition: vtkTexture.h:70
vtkScalarBarActor::SetFrameProperty
virtual void SetFrameProperty(vtkProperty2D *p)
vtkTextMapper
2D text annotation
Definition: vtkTextMapper.h:53
vtkScalarBarActor::LabelFormat
char * LabelFormat
Definition: vtkScalarBarActor.h:506
vtkScalarBarActor::ConfigureFrame
virtual void ConfigureFrame()
vtkScalarBarActor::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkScalarBarActor::LayoutNanSwatch
virtual void LayoutNanSwatch()
vtkScalarBarActor::NumberOfLabels
int NumberOfLabels
Definition: vtkScalarBarActor.h:491
vtkScalarBarActor::SizeTitle
virtual void SizeTitle(double *titleSize, int *size, vtkViewport *viewport)
vtkScalarBarActor::RenderOpaqueGeometry
int RenderOpaqueGeometry(vtkViewport *viewport)
vtkTextActor
An actor that displays text. Scaled or unscaled.
Definition: vtkTextActor.h:55
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkgl::start
GLuint start
Definition: vtkgl.h:11315
vtkSetStringMacro
#define vtkSetStringMacro(name)
Definition: vtkSetGet.h:104
vtkScalarBarActor::vtkScalarBarActor
vtkScalarBarActor()
vtkScalarBarActor::P
vtkScalarBarActorInternal * P
Containers shared with subclasses.
Definition: vtkScalarBarActor.h:526
vtkScalarBarActor::ScalarBarActor
vtkActor2D * ScalarBarActor
Actor for ScalarBar.
Definition: vtkScalarBarActor.h:536
vtkScalarBarActor::ComputeScalarBarLength
virtual void ComputeScalarBarLength()
vtkScalarBarActor::AnnotationLeaderPadding
double AnnotationLeaderPadding
Definition: vtkScalarBarActor.h:511
vtkScalarBarActor::LabelTextProperty
vtkTextProperty * LabelTextProperty
Font for tick+annotation labels.
Definition: vtkScalarBarActor.h:531
vtkScalarBarActor::New
static vtkScalarBarActor * New()
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkScalarsToColors
Superclass for mapping scalar values to colors.
Definition: vtkScalarsToColors.h:63
vtkGetStringMacro
vtkGetStringMacro(ExtensionsString)
vtkScalarBarActor::TextPosition
int TextPosition
Definition: vtkScalarBarActor.h:509
vtkScalarBarActor::Orientation
int Orientation
Definition: vtkScalarBarActor.h:493
vtkScalarBarActor::ScalarBar
vtkPolyData * ScalarBar
Polygon(s) colored by LookupTable.
Definition: vtkScalarBarActor.h:534
vtkViewport
abstract specification for Viewports
Definition: vtkViewport.h:47
vtkScalarBarActor::ConfigureAnnotations
virtual void ConfigureAnnotations()
vtkScalarBarActor::HasTranslucentPolygonalGeometry
virtual int HasTranslucentPolygonalGeometry()
vtkScalarBarActor::ConfigureNanSwatch
virtual void ConfigureNanSwatch()
vtkScalarBarActor::BackgroundProperty
vtkProperty2D * BackgroundProperty
Definition: vtkScalarBarActor.h:502
vtkTextProperty
represent text properties.
Definition: vtkTextProperty.h:39
vtkBooleanMacro
vtkBooleanMacro(IgnoreDriverBugs, bool)
vtkScalarBarActor::Background
vtkPolyData * Background
Polygon used to fill the background.
Definition: vtkScalarBarActor.h:541
vtkScalarBarActor::SetLookupTable
virtual void SetLookupTable(vtkScalarsToColors *)
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkProp
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:50
vtkScalarBarActor::BuildTime
vtkTimeStamp BuildTime
Internal state used for rendering.
Definition: vtkScalarBarActor.h:522
vtkScalarBarActor::LayoutTicks
virtual void LayoutTicks()
vtkProperty2D
represent surface properties of a 2D image
Definition: vtkProperty2D.h:40
vtkScalarBarActor::~vtkScalarBarActor
~vtkScalarBarActor()
vtkScalarBarActor::TitleTextProperty
vtkTextProperty * TitleTextProperty
Font for the legend title.
Definition: vtkScalarBarActor.h:530
vtkScalarBarActor::MaximumNumberOfColors
int MaximumNumberOfColors
User-changeable settings.
Definition: vtkScalarBarActor.h:490
vtkActor2D
a actor that draws 2D data
Definition: vtkActor2D.h:45
vtkScalarBarActor::LayoutAnnotations
virtual void LayoutAnnotations()
vtkScalarBarActor::PrepareTitleText
virtual void PrepareTitleText()
vtkActor2D.h
vtkScalarBarActor::SetBackgroundProperty
virtual void SetBackgroundProperty(vtkProperty2D *p)
vtkScalarBarActor::TitleActor
vtkTextActor * TitleActor
The legend title text renderer.
Definition: vtkScalarBarActor.h:532
vtkScalarBarActor::ConfigureTicks
virtual void ConfigureTicks()
vtkScalarBarActor::FrameMapper
vtkPolyDataMapper2D * FrameMapper
Mapper for Frame.
Definition: vtkScalarBarActor.h:546
vtkScalarBarActor::NanAnnotation
char * NanAnnotation
Definition: vtkScalarBarActor.h:510
vtkScalarBarActor::GetScalarBarRect
virtual void GetScalarBarRect(int rect[4], vtkViewport *viewport)
vtkScalarBarActor::SetTextPositionToSucceedScalarBar
virtual void SetTextPositionToSucceedScalarBar()
Definition: vtkScalarBarActor.h:213
vtkScalarBarActor::SetOrientationToVertical
void SetOrientationToVertical()
Definition: vtkScalarBarActor.h:150
vtkColor3ub
Definition: vtkColor.h:163
vtkPolyData
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:84
vtkScalarBarActor::DrawBoxes
virtual void DrawBoxes()
vtkScalarBarActor::BarRatio
double BarRatio
Definition: vtkScalarBarActor.h:516
vtkgl::p
GLfloat GLfloat p
Definition: vtkgl.h:15717
VTK_ORIENT_VERTICAL
#define VTK_ORIENT_VERTICAL
Definition: vtkScalarBarActor.h:77
vtkScalarBarActor::DrawAnnotations
int DrawAnnotations
Definition: vtkScalarBarActor.h:498
vtkScalarBarActor::SetLabelTextProperty
virtual void SetLabelTextProperty(vtkTextProperty *p)
vtkScalarBarActor::ReleaseGraphicsResources
virtual void ReleaseGraphicsResources(vtkWindow *)
vtkScalarBarActor::Frame
vtkPolyData * Frame
Polyline used to highlight frame.
Definition: vtkScalarBarActor.h:545
vtkScalarBarActor::DrawBackground
int DrawBackground
Definition: vtkScalarBarActor.h:494
vtkScalarBarActor::RebuildLayout
virtual void RebuildLayout(vtkViewport *viewport)
vtkScalarBarActor::SetOrientationToHorizontal
void SetOrientationToHorizontal()
Definition: vtkScalarBarActor.h:148
vtkScalarBarActor::PlaceAnnotationsVertically
int PlaceAnnotationsVertically(double barX, double barY, double barWidth, double barHeight, double delta, double pad)
vtkScalarBarActor::FrameProperty
vtkProperty2D * FrameProperty
Definition: vtkScalarBarActor.h:503
vtkScalarBarActor
Create a scalar bar with labels.
Definition: vtkScalarBarActor.h:80
vtkScalarBarActor::TextureActor
vtkTexturedActor2D * TextureActor
Actor for TexturePolyData.
Definition: vtkScalarBarActor.h:539
vtkScalarBarActor::PrecedeScalarBar
@ PrecedeScalarBar
Definition: vtkScalarBarActor.h:199
vtkScalarBarActor::SucceedScalarBar
@ SucceedScalarBar
Definition: vtkScalarBarActor.h:199
vtkScalarBarActor::ConfigureScalarBar
virtual void ConfigureScalarBar()
vtkScalarBarActor::DrawTickLabels
int DrawTickLabels
Definition: vtkScalarBarActor.h:497
vtkScalarBarActor::SetTitleTextProperty
virtual void SetTitleTextProperty(vtkTextProperty *p)
vtkScalarBarActor::EditAnnotations
virtual void EditAnnotations()
Definition: vtkScalarBarActor.h:460
VTKRENDERINGANNOTATION_EXPORT
#define VTKRENDERINGANNOTATION_EXPORT
Definition: vtkRenderingAnnotationModule.h:15
vtkScalarBarActor::MapAnnotationLabels
int MapAnnotationLabels(vtkScalarsToColors *lkup, double start, double delta, const double *range)
vtkgl::size
GLsizeiptr size
Definition: vtkgl.h:11843