VTK  9.6.1
vtkLegendScaleActor.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
27
28#ifndef vtkLegendScaleActor_h
29#define vtkLegendScaleActor_h
30
31#include "vtkProp.h"
32#include "vtkRenderingAnnotationModule.h" // For export macro
33#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
34
35#include "vtkNew.h" // for vtkNew
36
37VTK_ABI_NAMESPACE_BEGIN
38class vtkAxisActor2D;
39class vtkProperty2D;
40class vtkTextProperty;
41class vtkPolyData;
43class vtkActor2D;
44class vtkTextMapper;
45class vtkPoints;
46class vtkCoordinate;
48
49class VTKRENDERINGANNOTATION_EXPORT VTK_MARSHALAUTO vtkLegendScaleActor : public vtkProp
50{
51public:
56
58
62 void PrintSelf(ostream& os, vtkIndent indent) override;
64
71
73
79 vtkSetClampMacro(LabelMode, int, DISTANCE, COORDINATES);
80 vtkGetMacro(LabelMode, int);
84
86
95 vtkBooleanMacro(TopAxisVisibility, vtkTypeBool);
103
105
111 vtkBooleanMacro(LegendVisibility, vtkTypeBool);
113
115
118 void AllAxesOn();
121
123
129
131
134 vtkSetMacro(GridVisibility, bool);
135 vtkGetMacro(GridVisibility, bool);
136 vtkBooleanMacro(GridVisibility, bool);
138
140
145 vtkSetClampMacro(RightBorderOffset, int, 5, VTK_INT_MAX);
146 vtkGetMacro(RightBorderOffset, int);
148
150
155 vtkSetClampMacro(TopBorderOffset, int, 5, VTK_INT_MAX);
156 vtkGetMacro(TopBorderOffset, int);
158
160
165 vtkSetClampMacro(LeftBorderOffset, int, 5, VTK_INT_MAX);
166 vtkGetMacro(LeftBorderOffset, int);
168
170
175 vtkSetClampMacro(BottomBorderOffset, int, 5, VTK_INT_MAX);
176 vtkGetMacro(BottomBorderOffset, int);
178
180
184 vtkSetClampMacro(CornerOffsetFactor, double, 1.0, 10.0);
185 vtkGetMacro(CornerOffsetFactor, double);
187
189
193 void SetNotation(int notation);
196
198
201 void SetPrecision(int val);
204
206
212
214
220
222
226 vtkSetVector3Macro(Origin, double);
227 vtkGetVector3Macro(Origin, double);
229
231
237
244
249
255
257 void SetUseFontSizeFromProperty(bool sizeFromProp);
258
264 void SetSnapToGrid(bool snap);
266
268
273 vtkGetObjectMacro(RightAxis, vtkAxisActor2D);
274 vtkGetObjectMacro(TopAxis, vtkAxisActor2D);
275 vtkGetObjectMacro(LeftAxis, vtkAxisActor2D);
276 vtkGetObjectMacro(BottomAxis, vtkAxisActor2D);
278
280
283 virtual void BuildRepresentation(vtkViewport* viewport);
289
290protected:
293
300
301 // The four axes around the borders of the renderer
306
307 // Support for grid
310 bool GridVisibility = false;
311
312 // Control the display of the axes
317
318 // Support for the legend.
329
331
332private:
334 void operator=(const vtkLegendScaleActor&) = delete;
335
341 void UpdateAxisRange(vtkAxisActor2D* axis, vtkViewport* viewport, bool invert = false);
342
343 double Origin[3] = { 0, 0, 0 };
344};
345
346VTK_ABI_NAMESPACE_END
347#endif
a actor that draws 2D data
Definition vtkActor2D.h:36
Create an axis with tick marks and labels.
renders a 2D grid given pairs of point positions
perform coordinate transformation, and represent position, in a variety of vtk coordinate systems
a simple class to control print indentation
Definition vtkIndent.h:29
vtkNew< vtkTextProperty > LegendTitleProperty
vtkNew< vtkAxisActor2D > BottomAxis
void SetPrecision(int val)
Get/set the numerical precision to use for axis labels, default is 2.
vtkNew< vtkCoordinate > Coordinate
~vtkLegendScaleActor() override
vtkNew< vtkAxisActor2D > RightAxis
void GetActors2D(vtkPropCollection *) override
Standard methods supporting the rendering process.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for the class.
vtkNew< vtkTextMapper > LabelMappers[6]
void AllAnnotationsOff()
Convenience method that turns all the axes and the legend scale.
vtkNew< vtkAxisGridActorInternal > GridActor
virtual void SetLabelMode(int)
Specify the mode for labeling the scale axes.
vtkProperty2D * GetAxesProperty()
Return the property used for the right axis which should be the same as the other ones if set using S...
void SetLabelModeToDistance()
Specify the mode for labeling the scale axes.
void AllAxesOn()
Convenience method that turns all the axes either on or off.
int RenderOpaqueGeometry(vtkViewport *) override
Standard methods supporting the rendering process.
vtkNew< vtkAxisActor2D > TopAxis
void SetNumberOfVerticalLabels(int val)
Get/set the number of ticks (and labels) for the vertical axis, default is 5.
void SetAxesTextProperty(vtkTextProperty *property)
Configuration forwarded to each axis.
int GetNotation()
Get/set the numerical notation for axes labels: standard, scientific or mixed (0, 1,...
vtkNew< vtkPolyDataMapper2D > GridMapper
void AllAxesOff()
Convenience method that turns all the axes either on or off.
void ReleaseGraphicsResources(vtkWindow *) override
Standard methods supporting the rendering process.
void SetAxesProperty(vtkProperty2D *property)
Set the 2D property for both axis and grid.
vtkNew< vtkPoints > LegendPoints
int GetPrecision()
Get/set the numerical precision to use for axis labels, default is 2.
virtual void BuildRepresentation(vtkViewport *viewport)
Standard methods supporting the rendering process.
vtkNew< vtkTextProperty > LegendLabelProperty
static vtkLegendScaleActor * New()
Instantiate the class.
vtkNew< vtkActor2D > LabelActors[6]
vtkNew< vtkAxisActor2D > LeftAxis
void SetNumberOfHorizontalLabels(int val)
Get/set the number of ticks (and labels) for the horizontal axis, default is 5.
vtkNew< vtkActor2D > LegendActor
void AllAnnotationsOn()
Convenience method that turns all the axes and the legend scale.
void SetSnapToGrid(bool snap)
If on, labels are positioned on rounded values.
void SetUseFontSizeFromProperty(bool sizeFromProp)
Set the axes to get font size from text property.
int GetNumberOfHorizontalLabels()
Get/set the number of ticks (and labels) for the horizontal axis, default is 5.
vtkNew< vtkPolyData > Legend
int RenderOverlay(vtkViewport *) override
Standard methods supporting the rendering process.
void SetNotation(int notation)
Get/set the numerical notation for axes labels: standard, scientific or mixed (0, 1,...
int GetNumberOfVerticalLabels()
Get/set the number of ticks (and labels) for the vertical axis, default is 5.
void SetLabelModeToCoordinates()
Specify the mode for labeling the scale axes.
vtkNew< vtkPolyDataMapper2D > LegendMapper
Allocate and hold a VTK object.
Definition vtkNew.h:58
represent and manipulate 3D points
Definition vtkPoints.h:30
draw vtkPolyData onto the image plane
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition vtkPolyData.h:72
an ordered list of Props
represent surface properties of a 2D image
2D text annotation
represent text properties.
record modification and/or execution time
abstract specification for Viewports
Definition vtkViewport.h:47
window superclass for vtkRenderWindow
Definition vtkWindow.h:29
int vtkTypeBool
Definition vtkABI.h:64
#define VTK_INT_MAX
Definition vtkType.h:197
#define VTK_MARSHALAUTO