47 #ifndef vtkScalarBarActor_h
48 #define vtkScalarBarActor_h
52 #include "vtkRenderingAnnotationModule.h"
54 VTK_ABI_NAMESPACE_BEGIN
67 #define VTK_ORIENT_HORIZONTAL 0
68 #define VTK_ORIENT_VERTICAL 1
109 virtual void GetScalarBarRect(
int rect[4],
vtkViewport* viewport);
141 vtkSetClampMacro(MaximumNumberOfColors,
int, 2,
VTK_INT_MAX);
142 vtkGetMacro(MaximumNumberOfColors,
int);
149 vtkSetClampMacro(NumberOfLabels,
int, 0, 64);
150 vtkGetMacro(NumberOfLabels,
int);
166 vtkGetMacro(UseCustomLabels,
bool);
167 vtkSetMacro(UseCustomLabels,
bool);
168 vtkBooleanMacro(UseCustomLabels,
bool);
176 vtkGetMacro(Orientation,
int);
210 vtkSetStringMacro(LabelFormat);
211 vtkGetStringMacro(LabelFormat);
218 vtkSetStringMacro(Title);
219 vtkGetStringMacro(Title);
226 vtkSetStringMacro(ComponentTitle);
227 vtkGetStringMacro(ComponentTitle);
239 vtkSetMacro(TextureGridWidth,
double);
240 vtkGetMacro(TextureGridWidth,
double);
252 PrecedeScalarBar = 0,
265 vtkSetClampMacro(TextPosition,
int, PrecedeScalarBar, SucceedScalarBar);
266 vtkGetMacro(TextPosition,
int);
285 vtkSetMacro(MaximumWidthInPixels,
int);
286 vtkGetMacro(MaximumWidthInPixels,
int);
287 vtkSetMacro(MaximumHeightInPixels,
int);
288 vtkGetMacro(MaximumHeightInPixels,
int);
297 vtkSetMacro(AnnotationLeaderPadding,
double);
298 vtkGetMacro(AnnotationLeaderPadding,
double);
329 vtkSetMacro(DrawBelowRangeSwatch,
bool);
330 vtkGetMacro(DrawBelowRangeSwatch,
bool);
331 vtkBooleanMacro(DrawBelowRangeSwatch,
bool);
338 vtkSetStringMacro(BelowRangeAnnotation);
339 vtkGetStringMacro(BelowRangeAnnotation);
348 vtkSetMacro(DrawAboveRangeSwatch,
bool);
349 vtkGetMacro(DrawAboveRangeSwatch,
bool);
350 vtkBooleanMacro(DrawAboveRangeSwatch,
bool);
357 vtkSetStringMacro(AboveRangeAnnotation);
358 vtkGetStringMacro(AboveRangeAnnotation);
369 vtkSetMacro(FixedAnnotationLeaderLineColor,
vtkTypeBool);
370 vtkGetMacro(FixedAnnotationLeaderLineColor,
vtkTypeBool);
371 vtkBooleanMacro(FixedAnnotationLeaderLineColor,
vtkTypeBool);
378 vtkSetStringMacro(NanAnnotation);
379 vtkGetStringMacro(NanAnnotation);
393 vtkBooleanMacro(AnnotationTextScaling,
vtkTypeBool);
456 vtkGetMacro(TextPad,
int);
457 vtkSetMacro(TextPad,
int);
466 vtkGetMacro(VerticalTitleSeparation,
int);
467 vtkSetMacro(VerticalTitleSeparation,
int);
475 vtkGetMacro(BarRatio,
double);
476 vtkSetClampMacro(BarRatio,
double, 0., 1.);
486 vtkGetMacro(TitleRatio,
double);
487 vtkSetClampMacro(TitleRatio,
double, 0., 1.);
497 vtkSetMacro(UnconstrainedFontSize,
bool);
498 vtkGetMacro(UnconstrainedFontSize,
bool);
499 vtkBooleanMacro(UnconstrainedFontSize,
bool);
537 virtual int RebuildLayoutIfNeeded(
vtkViewport* viewport);
542 virtual void FreeLayoutStorage();
552 virtual void ComputeFrame();
563 virtual void ComputeScalarBarThickness();
568 virtual void ComputeSwatchPad();
572 virtual void LayoutNanSwatch();
580 virtual void LayoutBelowRangeSwatch();
588 virtual void LayoutAboveRangeSwatch();
596 virtual void LayoutAboveRangeSwatchPosn();
601 virtual void PrepareTitleText();
613 virtual void LayoutTitle();
619 virtual void LayoutForUnconstrainedFont();
629 virtual void ComputeScalarBarLength();
642 virtual void LayoutTicks();
651 virtual void LayoutAnnotations();
656 virtual void ConfigureAnnotations();
661 virtual void ConfigureFrame();
666 virtual void DrawBoxes();
671 virtual void ConfigureScalarBar();
676 virtual void ConfigureTitle();
681 virtual void ConfigureTicks();
689 virtual void ConfigureNanSwatch();
695 virtual void ConfigureAboveBelowRangeSwatch(
bool above);
712 virtual void SizeTitle(
double* titleSize,
int*
size,
vtkViewport* viewport);
717 int MapAnnotationLabels(
723 int PlaceAnnotationsVertically(
724 double barX,
double barY,
double barWidth,
double barHeight,
double delta,
double pad);
729 int PlaceAnnotationsHorizontally(
730 double barX,
double barY,
double barWidth,
double barHeight,
double delta,
double pad);
739 bool UseCustomLabels =
false;
808 VTK_ABI_NAMESPACE_END
abstract superclass for all actors, volumes and annotations
int TextPad
User-changeable settings.
int MaximumWidthInPixels
User-changeable settings.
virtual void EditAnnotations()
Subclasses may override this method to alter this->P->Labels, allowing the addition and removal of an...
double TitleRatio
User-changeable settings.
int RenderOverlay(vtkViewport *viewport) override
Support the standard render methods.
vtkTypeBool FixedAnnotationLeaderLineColor
User-changeable settings.
actor that draws 2D data with texture support
vtkPolyDataMapper2D * ScalarBarMapper
Mapper for ScalarBar.
abstract specification for Viewports
virtual void SetTextPositionToPrecedeScalarBar()
Should the title and tick marks precede the scalar bar or succeed it? This is measured along the view...
vtkScalarsToColors * LookupTable
The object this actor illustrates.
vtkPolyDataMapper2D * BackgroundMapper
Mapper for Background.
a actor that draws 2D data
record modification and/or execution time
Internal state for the scalar bar actor shared with subclasses.
int NumberOfLabelsBuilt
User-changeable settings.
vtkActor2D * FrameActor
Actor for Frame.
Create a scalar bar with labels.
int VerticalTitleSeparation
User-changeable settings.
char * AboveRangeAnnotation
User-changeable settings.
concrete dataset represents vertices, lines, polygons, and triangle strips
double TextureGridWidth
User-changeable settings.
void ShallowCopy(vtkProp *prop) override
Shallow copy of this vtkActor2D.
vtkTexture * Texture
Color data for TexturePolyData.
vtkTypeBool AnnotationTextScaling
User-changeable settings.
vtkTypeBool DrawAnnotations
User-changeable settings.
dynamic, self-adjusting array of double
char * BelowRangeAnnotation
User-changeable settings.
char * ComponentTitle
User-changeable settings.
#define VTK_ORIENT_VERTICAL
int MaximumHeightInPixels
User-changeable settings.
int RenderTranslucentPolygonalGeometry(vtkViewport *) override
Draw the scalar bar and annotation text to the screen.
char * Title
User-changeable settings.
Superclass for mapping scalar values to colors.
window superclass for vtkRenderWindow
vtkActor2D * BackgroundActor
Actor for Background.
An actor that displays text.
#define VTK_ORIENT_HORIZONTAL
Some derived classes for the different colors commonly used.
void ReleaseGraphicsResources(vtkWindow *) override
Release any graphics resources that are being consumed by this actor.
a simple class to control print indentation
char * LabelFormat
User-changeable settings.
vtkScalarBarActorInternal * P
Containers shared with subclasses.
int NumberOfLabels
User-changeable settings.
static vtkActor2D * New()
Creates an actor2D with the following defaults: position (0,0) (coordinate system is viewport); at la...
double AnnotationLeaderPadding
User-changeable settings.
handles properties associated with a texture map
int Orientation
User-changeable settings.
int TextPosition
User-changeable settings.
vtkPolyData * ScalarBar
Polygon(s) colored by LookupTable.
vtkTypeBool UseOpacity
User-changeable settings.
bool DrawBelowRangeSwatch
User-changeable settings.
vtkProperty2D * BackgroundProperty
User-changeable settings.
vtkActor2D * ScalarBarActor
Actor for ScalarBar.
represent text properties.
vtkPolyData * Background
Polygon used to fill the background.
vtkTextProperty * LabelTextProperty
Font for tick labels.
vtkTimeStamp BuildTime
Internal state used for rendering.
vtkTextProperty * TitleTextProperty
Font for the legend title.
int MaximumNumberOfColors
User-changeable settings.
vtkTypeBool HasTranslucentPolygonalGeometry() override
Does this prop have some translucent polygonal geometry?
char * NanAnnotation
User-changeable settings.
vtkTypeBool DrawBackground
User-changeable settings.
vtkTypeBool DrawColorBar
User-changeable settings.
double BarRatio
User-changeable settings.
vtkTypeBool DrawFrame
User-changeable settings.
int RenderOpaqueGeometry(vtkViewport *viewport) override
Support the standard render methods.
vtkTextProperty * AnnotationTextProperty
Font for annotation labels.
vtkTextActor * TitleActor
The legend title text renderer.
vtkPolyDataMapper2D * FrameMapper
Mapper for Frame.
represent surface properties of a 2D image
virtual void SetTextPositionToSucceedScalarBar()
Should the title and tick marks precede the scalar bar or succeed it? This is measured along the view...
void SetOrientationToVertical()
Control the orientation of the scalar bar.
bool DrawAboveRangeSwatch
User-changeable settings.
void SetOrientationToHorizontal()
Control the orientation of the scalar bar.
vtkProperty2D * FrameProperty
User-changeable settings.
bool UnconstrainedFontSize
User-changeable settings.
vtkPolyData * Frame
Polyline used to highlight frame.
vtkTypeBool DrawTickLabels
User-changeable settings.
draw vtkPolyData onto the image plane
vtkPolyData * TexturePolyData
Polygon colored when UseOpacity is true.
vtkTypeBool DrawNanAnnotation
User-changeable settings.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkTexturedActor2D * TextureActor
Actor for TexturePolyData.