VTK  9.5.20250802
vtkLegendBoxActor.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
108#ifndef vtkLegendBoxActor_h
109#define vtkLegendBoxActor_h
110
111#include "vtkActor2D.h"
112#include "vtkRenderingAnnotationModule.h" // For export macro
113#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
114
115VTK_ABI_NAMESPACE_BEGIN
116class vtkActor;
117class vtkDoubleArray;
118class vtkImageData;
119class vtkPolyData;
122class vtkPlaneSource;
123class vtkTextMapper;
124class vtkTextProperty;
126class vtkTransform;
128class vtkProperty2D;
129
130class VTKRENDERINGANNOTATION_EXPORT VTK_MARSHALAUTO vtkLegendBoxActor : public vtkActor2D
131{
132public:
134 void PrintSelf(ostream& os, vtkIndent indent) override;
135
141
145 void SetNumberOfEntries(int num);
146 int GetNumberOfEntries() { return this->NumberOfEntries; }
147
149
159 void SetEntry(int i, vtkPolyData* symbol, const char* string, double color[3]);
160 void SetEntry(int i, vtkImageData* symbol, const char* string, double color[3]);
162 int i, vtkPolyData* symbol, vtkImageData* icon, const char* string, double color[3]);
164
165 void SetEntrySymbol(int i, vtkPolyData* symbol);
166 void SetEntryIcon(int i, vtkImageData* icon);
167 void SetEntryString(int i, const char* string);
168 void SetEntryColor(int i, double color[3]);
169 void SetEntryColor(int i, double r, double g, double b);
170
173 const char* GetEntryString(int i);
174 double* GetEntryColor(int i) VTK_SIZEHINT(3);
175
176 int GetNumberOfEntrySymbols() { return NumberOfEntries; }
177 int GetNumberOfEntryColors() { return NumberOfEntries; }
178 int GetNumberOfEntryStrings() { return NumberOfEntries; }
179 int GetNumberOfEntryIcons() { return NumberOfEntries; }
181
185 vtkGetObjectMacro(EntryTextProperty, vtkTextProperty);
187
189
193 vtkSetMacro(Border, vtkTypeBool);
194 vtkGetMacro(Border, vtkTypeBool);
195 vtkBooleanMacro(Border, vtkTypeBool);
197
199
207 vtkSetMacro(LockBorder, vtkTypeBool);
208 vtkGetMacro(LockBorder, vtkTypeBool);
209 vtkBooleanMacro(LockBorder, vtkTypeBool);
211
213
217 vtkSetMacro(Box, vtkTypeBool);
218 vtkGetMacro(Box, vtkTypeBool);
219 vtkBooleanMacro(Box, vtkTypeBool);
221
225 vtkProperty2D* GetBoxProperty() { return this->BoxActor->GetProperty(); }
226
228
232 vtkSetClampMacro(Padding, int, 0, 50);
233 vtkGetMacro(Padding, int);
235
237
242 vtkSetMacro(ScalarVisibility, vtkTypeBool);
243 vtkGetMacro(ScalarVisibility, vtkTypeBool);
244 vtkBooleanMacro(ScalarVisibility, vtkTypeBool);
246
248
251 vtkSetMacro(UseBackground, vtkTypeBool);
252 vtkGetMacro(UseBackground, vtkTypeBool);
253 vtkBooleanMacro(UseBackground, vtkTypeBool);
255
257
261 vtkSetVector3Macro(BackgroundColor, double);
262 vtkGetVector3Macro(BackgroundColor, double);
264
266
270 vtkSetClampMacro(BackgroundOpacity, double, 0.0, 1.0);
271 vtkGetMacro(BackgroundOpacity, double);
273
278 void ShallowCopy(vtkProp* prop) override;
279
288
290
295 int RenderOpaqueGeometry(vtkViewport* viewport) override;
297 int RenderOverlay(vtkViewport* viewport) override;
299
304
305protected:
308
310
312
319
320 // Internal actors, mappers, data to represent the legend
322 int Size; // allocation size
326
332
339
347
348 // Background plane.
351 double BackgroundColor[3];
353
354 // May use texture.
357
358 // Used to control whether the stuff is recomputed
360 int CachedSize[2];
362
363private:
364 vtkLegendBoxActor(const vtkLegendBoxActor&) = delete;
365 void operator=(const vtkLegendBoxActor&) = delete;
366};
367
368VTK_ABI_NAMESPACE_END
369#endif
a actor that draws 2D data
Definition vtkActor2D.h:145
represents an object (geometry & properties) in a rendered scene
Definition vtkActor.h:151
dynamic, self-adjusting array of double
topologically and geometrically regular array of data
a simple class to control print indentation
Definition vtkIndent.h:108
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:69
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:66
window superclass for vtkRenderWindow
Definition vtkWindow.h:48
int vtkTypeBool
Definition vtkABI.h:64
#define VTK_SIZEHINT(...)
#define VTK_MARSHALAUTO