VTK  9.5.20251125
vtkLabelPlacementMapper.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-FileCopyrightText: Copyright 2008 Sandia Corporation
3// SPDX-License-Identifier: LicenseRef-BSD-3-Clause-Sandia-USGov
40
41#ifndef vtkLabelPlacementMapper_h
42#define vtkLabelPlacementMapper_h
43
44#include "vtkMapper2D.h"
45#include "vtkRenderingLabelModule.h" // For export macro
46#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
47
48VTK_ABI_NAMESPACE_BEGIN
49class vtkCoordinate;
52
53class VTKRENDERINGLABEL_EXPORT VTK_MARSHALAUTO vtkLabelPlacementMapper : public vtkMapper2D
54{
55public:
58 void PrintSelf(ostream& os, vtkIndent indent) override;
59
63 void RenderOverlay(vtkViewport* viewport, vtkActor2D* actor) override;
64
66
72
74
78 vtkSetClampMacro(MaximumLabelFraction, double, 0., 1.);
79 vtkGetMacro(MaximumLabelFraction, double);
81
83
87 vtkSetMacro(IteratorType, int);
88 vtkGetMacro(IteratorType, int);
90
92
97 vtkGetMacro(PositionsAsNormals, bool);
98 vtkSetMacro(PositionsAsNormals, bool);
99 vtkBooleanMacro(PositionsAsNormals, bool);
101
103
109 vtkBooleanMacro(GeneratePerturbedLabelSpokes, bool);
111
113
117 vtkGetMacro(UseDepthBuffer, bool);
118 vtkSetMacro(UseDepthBuffer, bool);
119 vtkBooleanMacro(UseDepthBuffer, bool);
121
123
127 vtkSetMacro(PlaceAllLabels, bool);
128 vtkGetMacro(PlaceAllLabels, bool);
129 vtkBooleanMacro(PlaceAllLabels, bool);
131
133
136 vtkSetMacro(OutputTraversedBounds, bool);
137 vtkGetMacro(OutputTraversedBounds, bool);
138 vtkBooleanMacro(OutputTraversedBounds, bool);
140
148
150
154 vtkSetClampMacro(Shape, int, 0, NUMBER_OF_LABEL_SHAPES - 1);
155 vtkGetMacro(Shape, int);
156 virtual void SetShapeToNone() { this->SetShape(NONE); }
157 virtual void SetShapeToRect() { this->SetShape(RECT); }
158 virtual void SetShapeToRoundedRect() { this->SetShape(ROUNDED_RECT); }
160
167
169
173 vtkSetClampMacro(Style, int, 0, NUMBER_OF_LABEL_STYLES - 1);
174 vtkGetMacro(Style, int);
175 virtual void SetStyleToFilled() { this->SetStyle(FILLED); }
176 virtual void SetStyleToOutline() { this->SetStyle(OUTLINE); }
178
180
184 vtkSetMacro(Margin, double);
185 vtkGetMacro(Margin, double);
187
189
192 vtkSetVector3Macro(BackgroundColor, double);
193 vtkGetVector3Macro(BackgroundColor, double);
195
197
200 vtkSetClampMacro(BackgroundOpacity, double, 0.0, 1.0);
201 vtkGetMacro(BackgroundOpacity, double);
203
205
208 vtkGetObjectMacro(AnchorTransform, vtkCoordinate);
211
218
219protected:
222
223 int FillInputPortInformation(int port, vtkInformation* info) override;
224
225 class Internal;
226 Internal* Buckets;
227
237
244
245 int Style;
246 int Shape;
247 double Margin;
250
251private:
253 void operator=(const vtkLabelPlacementMapper&) = delete;
254};
255
256VTK_ABI_NAMESPACE_END
257#endif
a actor that draws 2D data
Definition vtkActor2D.h:145
perform coordinate transformation, and represent position, in a variety of vtk coordinate systems
a simple class to control print indentation
Definition vtkIndent.h:108
Store vtkAlgorithm input/output information.
virtual void SetAnchorTransform(vtkCoordinate *)
Get/Set the transform for the anchor points.
virtual void SetShape(int)
The shape of the label background, should be one of the values in the LabelShape enumeration.
static vtkLabelPlacementMapper * New()
virtual void SetStyleToOutline()
The style of the label background shape, should be one of the values in the LabelStyle enumeration.
void ReleaseGraphicsResources(vtkWindow *) override
Release any graphics resources that are being consumed by this mapper.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkLabelRenderStrategy * RenderStrategy
virtual void SetShapeToRoundedRect()
The shape of the label background, should be one of the values in the LabelShape enumeration.
virtual void SetRenderStrategy(vtkLabelRenderStrategy *s)
Set the label rendering strategy.
virtual void SetStyleToFilled()
The style of the label background shape, should be one of the values in the LabelStyle enumeration.
~vtkLabelPlacementMapper() override
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
virtual void SetShapeToRect()
The shape of the label background, should be one of the values in the LabelShape enumeration.
void RenderOverlay(vtkViewport *viewport, vtkActor2D *actor) override
Draw non-overlapping labels to the screen.
vtkSelectVisiblePoints * VisiblePoints
virtual void SetShapeToNone()
The shape of the label background, should be one of the values in the LabelShape enumeration.
virtual void SetStyle(int)
The style of the label background shape, should be one of the values in the LabelStyle enumeration.
Superclass for label rendering implementations.
vtkMapper2D()=default
extract points that are visible (based on z-buffer calculation)
abstract specification for Viewports
Definition vtkViewport.h:66
window superclass for vtkRenderWindow
Definition vtkWindow.h:48
#define VTK_MARSHALAUTO