VTK  9.2.6
vtkLegendBoxActor.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkLegendBoxActor.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=========================================================================*/
50#ifndef vtkLegendBoxActor_h
51#define vtkLegendBoxActor_h
52
53#include "vtkActor2D.h"
54#include "vtkRenderingAnnotationModule.h" // For export macro
55
56class vtkActor;
57class vtkDoubleArray;
58class vtkImageData;
59class vtkPolyData;
62class vtkPlaneSource;
63class vtkTextMapper;
64class vtkTextProperty;
66class vtkTransform;
68class vtkProperty2D;
69
70class VTKRENDERINGANNOTATION_EXPORT vtkLegendBoxActor : public vtkActor2D
71{
72public:
74 void PrintSelf(ostream& os, vtkIndent indent) override;
75
81
85 void SetNumberOfEntries(int num);
86 int GetNumberOfEntries() { return this->NumberOfEntries; }
87
89
99 void SetEntry(int i, vtkPolyData* symbol, const char* string, double color[3]);
100 void SetEntry(int i, vtkImageData* symbol, const char* string, double color[3]);
102 int i, vtkPolyData* symbol, vtkImageData* icon, const char* string, double color[3]);
104
105 void SetEntrySymbol(int i, vtkPolyData* symbol);
106 void SetEntryIcon(int i, vtkImageData* icon);
107 void SetEntryString(int i, const char* string);
108 void SetEntryColor(int i, double color[3]);
109 void SetEntryColor(int i, double r, double g, double b);
110
113 const char* GetEntryString(int i);
114 double* GetEntryColor(int i) VTK_SIZEHINT(3);
115
117
121 vtkGetObjectMacro(EntryTextProperty, vtkTextProperty);
123
125
129 vtkSetMacro(Border, vtkTypeBool);
130 vtkGetMacro(Border, vtkTypeBool);
131 vtkBooleanMacro(Border, vtkTypeBool);
133
135
143 vtkSetMacro(LockBorder, vtkTypeBool);
144 vtkGetMacro(LockBorder, vtkTypeBool);
145 vtkBooleanMacro(LockBorder, vtkTypeBool);
147
149
153 vtkSetMacro(Box, vtkTypeBool);
154 vtkGetMacro(Box, vtkTypeBool);
155 vtkBooleanMacro(Box, vtkTypeBool);
157
161 vtkProperty2D* GetBoxProperty() { return this->BoxActor->GetProperty(); }
162
164
168 vtkSetClampMacro(Padding, int, 0, 50);
169 vtkGetMacro(Padding, int);
171
173
178 vtkSetMacro(ScalarVisibility, vtkTypeBool);
179 vtkGetMacro(ScalarVisibility, vtkTypeBool);
180 vtkBooleanMacro(ScalarVisibility, vtkTypeBool);
182
184
187 vtkSetMacro(UseBackground, vtkTypeBool);
188 vtkGetMacro(UseBackground, vtkTypeBool);
189 vtkBooleanMacro(UseBackground, vtkTypeBool);
191
193
197 vtkSetVector3Macro(BackgroundColor, double);
198 vtkGetVector3Macro(BackgroundColor, double);
200
202
206 vtkSetClampMacro(BackgroundOpacity, double, 0.0, 1.0);
207 vtkGetMacro(BackgroundOpacity, double);
209
214 void ShallowCopy(vtkProp* prop) override;
215
224
226
231 int RenderOpaqueGeometry(vtkViewport* viewport) override;
233 int RenderOverlay(vtkViewport* viewport) override;
235
240
241protected:
244
246
248
255
256 // Internal actors, mappers, data to represent the legend
258 int Size; // allocation size
262
268
275
283
284 // Background plane.
287 double BackgroundColor[3];
289
290 // May use texture.
293
294 // Used to control whether the stuff is recomputed
296 int CachedSize[2];
298
299private:
300 vtkLegendBoxActor(const vtkLegendBoxActor&) = delete;
301 void operator=(const vtkLegendBoxActor&) = delete;
302};
303
304#endif
a actor that draws 2D data
Definition vtkActor2D.h:55
represents an object (geometry & properties) in a rendered scene
Definition vtkActor.h:61
dynamic, self-adjusting array of double
topologically and geometrically regular array of data
a simple class to control print indentation
Definition vtkIndent.h:49
draw symbols with text
int RenderOpaqueGeometry(vtkViewport *viewport) override
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERI...
void SetNumberOfEntries(int num)
Specify the number of entries in the legend box.
int RenderOverlay(vtkViewport *viewport) override
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERI...
vtkPolyData * BoxPolyData
vtkTexturedActor2D ** IconActor
vtkTexturedActor2D * BackgroundActor
vtkTypeBool HasTranslucentPolygonalGeometry() override
Does this prop have some translucent polygonal geometry?
vtkImageData ** IconImage
vtkTextProperty * EntryTextProperty
vtkTransformPolyDataFilter ** SymbolTransform
int RenderTranslucentPolygonalGeometry(vtkViewport *) override
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERI...
vtkPlaneSource * Background
void SetEntry(int i, vtkImageData *symbol, const char *string, double color[3])
Add an entry to the legend box.
void SetEntry(int i, vtkPolyData *symbol, vtkImageData *icon, const char *string, double color[3])
Add an entry to the legend box.
vtkPlaneSource ** Icon
vtkTransform ** IconTransform
vtkPolyDataMapper2D * BorderMapper
void ReleaseGraphicsResources(vtkWindow *) override
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERI...
vtkProperty2D * GetBoxProperty()
Get the box vtkProperty2D.
vtkPolyData createTexturedPlane()
void SetEntryColor(int i, double color[3])
vtkDoubleArray * Colors
void ShallowCopy(vtkProp *prop) override
Shallow copy of this scaled text actor.
double * GetEntryColor(int i)
vtkImageData * GetEntryIcon(int i)
vtkPolyDataMapper2D * BackgroundMapper
void SetEntrySymbol(int i, vtkPolyData *symbol)
vtkTypeBool ScalarVisibility
~vtkLegendBoxActor() override
vtkTextMapper ** TextMapper
virtual void SetEntryTextProperty(vtkTextProperty *p)
Set/Get the text property.
void SetEntry(int i, vtkPolyData *symbol, const char *string, double color[3])
Add an entry to the legend box.
void InitializeEntries()
vtkPolyDataMapper2D ** IconMapper
vtkTransformPolyDataFilter ** IconTransformFilter
vtkPolyData * BorderPolyData
vtkTransform ** Transform
void SetEntryColor(int i, double r, double g, double b)
static vtkLegendBoxActor * New()
Instantiate object with a rectangle in normaled view coordinates of (0.2,0.85, 0.8,...
vtkPolyDataMapper2D ** SymbolMapper
vtkPolyDataMapper2D * BoxMapper
vtkPolyData ** Symbol
void SetEntryString(int i, const char *string)
vtkPolyData * GetEntrySymbol(int i)
vtkActor2D ** SymbolActor
vtkActor2D ** TextActor
const char * GetEntryString(int i)
void SetEntryIcon(int i, vtkImageData *icon)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
create an array of quadrilaterals located in a plane
draw vtkPolyData onto the image plane
map vtkPolyData to graphics primitives
concrete dataset represents vertices, lines, polygons, and triangle strips
abstract superclass for all actors, volumes and annotations
Definition vtkProp.h:66
represent surface properties of a 2D image
2D text annotation
represent text properties.
actor that draws 2D data with texture support
record modification and/or execution time
transform points and associated normals and vectors for polygonal dataset
describes linear transformations via a 4x4 matrix
abstract specification for Viewports
Definition vtkViewport.h:65
window superclass for vtkRenderWindow
Definition vtkWindow.h:48
int vtkTypeBool
Definition vtkABI.h:69
#define VTK_SIZEHINT(...)