VTK  9.5.2
vtkLabeledDataMapper.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
41
42#ifndef vtkLabeledDataMapper_h
43#define vtkLabeledDataMapper_h
44
45#include "vtkLabeledDatatypeDefinitions.h" // For Data type Definitions
46#include "vtkMapper2D.h"
47#include "vtkRenderingLabelModule.h" // For export macro
48#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
49
50#include <cassert> // For assert macro
51
52VTK_ABI_NAMESPACE_BEGIN
53class vtkDataObject;
54class vtkDataSet;
55class vtkTextMapper;
56class vtkTextProperty;
57class vtkTransform;
58
59class VTKRENDERINGLABEL_EXPORT VTK_MARSHALAUTO vtkLabeledDataMapper : public vtkMapper2D
60{
61public:
67
69 void PrintSelf(ostream& os, vtkIndent indent) override;
70
72
84 vtkSetStringMacro(LabelFormat);
85 vtkGetStringMacro(LabelFormat);
87
89
96 vtkSetMacro(LabeledComponent, int);
97 vtkGetMacro(LabeledComponent, int);
99
101
104 vtkSetMacro(ComponentSeparator, char);
105 vtkGetMacro(ComponentSeparator, char);
107
109
114 vtkSetClampMacro(FieldDataArray, int, 0, VTK_INT_MAX);
115 vtkGetMacro(FieldDataArray, int);
117
119
124 vtkSetStringMacro(FieldDataName)
125 vtkGetStringMacro(FieldDataName);
127
132
138
140
146 vtkSetMacro(LabelMode, int);
147 vtkGetMacro(LabelMode, int);
156
158
166 virtual void SetLabelTextProperty(vtkTextProperty* p, int type);
169
171
174 void RenderOpaqueGeometry(vtkViewport* viewport, vtkActor2D* actor) override;
175 void RenderOverlay(vtkViewport* viewport, vtkActor2D* actor) override;
177
182
184
187 vtkGetObjectMacro(Transform, vtkTransform);
190
193 {
194 WORLD = 0,
197 };
198
200
204 vtkGetMacro(CoordinateSystem, int);
205 vtkSetClampMacro(CoordinateSystem, int, WORLD, DISPLAY);
209
214
216
219 vtkGetMacro(NumberOfLabels, int);
221
223
226 void GetLabelPosition(int label, double pos[3])
227 {
228 assert("label index range" && label >= 0 && label < this->NumberOfLabels);
229 pos[0] = this->LabelPositions[3 * label];
230 pos[1] = this->LabelPositions[3 * label + 1];
231 pos[2] = this->LabelPositions[3 * label + 2];
232 }
233
234
238 const char* GetLabelText(int label);
239
240protected:
243
245
252
254
256
262
264
265 void AllocateLabels(int numLabels);
268
269 class Internals;
270 Internals* Implementation;
271
272private:
274 void operator=(const vtkLabeledDataMapper&) = delete;
275};
276
277VTK_ABI_NAMESPACE_END
278#endif
a actor that draws 2D data
Definition vtkActor2D.h:36
general representation of visualization data
abstract class to specify dataset behavior
Definition vtkDataSet.h:56
a simple class to control print indentation
Definition vtkIndent.h:29
Store vtkAlgorithm input/output information.
virtual void SetLabelTextProperty(vtkTextProperty *p, int type)
Set/Get the text property.
virtual void SetCoordinateSystem(int)
Set/get the coordinate system used for output labels.
void RenderOpaqueGeometry(vtkViewport *viewport, vtkActor2D *actor) override
Draw the text to the screen at each input point.
void CoordinateSystemWorld()
Set/get the coordinate system used for output labels.
void SetLabelModeToLabelIds()
Specify which data to plot: IDs, scalars, vectors, normals, texture coords, tensors,...
virtual void SetInputData(vtkDataObject *)
Set the input dataset to the mapper.
void SetLabelModeToLabelVectors()
Specify which data to plot: IDs, scalars, vectors, normals, texture coords, tensors,...
void SetLabelModeToLabelNormals()
Specify which data to plot: IDs, scalars, vectors, normals, texture coords, tensors,...
void SetLabelModeToLabelTensors()
Specify which data to plot: IDs, scalars, vectors, normals, texture coords, tensors,...
virtual vtkTextProperty * GetLabelTextProperty()
Set/Get the text property.
void ReleaseGraphicsResources(vtkWindow *) override
Release any graphics resources that are being consumed by this actor.
virtual void SetLabelMode(int)
Specify which data to plot: IDs, scalars, vectors, normals, texture coords, tensors,...
void AllocateLabels(int numLabels)
virtual void SetLabelTextProperty(vtkTextProperty *p)
Set/Get the text property.
vtkDataSet * GetInput()
Use GetInputDataObject() to get the input data object for composite datasets.
int FillInputPortInformation(int, vtkInformation *) override
void SetLabelModeToLabelTCoords()
Specify which data to plot: IDs, scalars, vectors, normals, texture coords, tensors,...
static vtkLabeledDataMapper * New()
Instantiate object with %%-#6.3g label format.
void SetLabelModeToLabelScalars()
Specify which data to plot: IDs, scalars, vectors, normals, texture coords, tensors,...
const char * GetLabelText(int label)
Return the text for the requested label.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetLabelModeToLabelFieldData()
Specify which data to plot: IDs, scalars, vectors, normals, texture coords, tensors,...
vtkMTimeType GetMTime() override
Return the modified time for this object.
void RenderOverlay(vtkViewport *viewport, vtkActor2D *actor) override
Draw the text to the screen at each input point.
~vtkLabeledDataMapper() override
void SetTransform(vtkTransform *t)
The transform to apply to the labels before mapping to 2D.
virtual vtkTextProperty * GetLabelTextProperty(int type)
Set/Get the text property.
void BuildLabelsInternal(vtkDataSet *)
void GetLabelPosition(int label, double pos[3])
Return the position of the requested label.
void CoordinateSystemDisplay()
Set/get the coordinate system used for output labels.
Coordinates
Coordinate systems that output dataset may use.
@ WORLD
Output 3-D world-space coordinates for each label anchor.
vtkMapper2D()=default
2D text annotation
represent text properties.
record modification and/or execution time
describes linear transformations via a 4x4 matrix
abstract specification for Viewports
Definition vtkViewport.h:47
window superclass for vtkRenderWindow
Definition vtkWindow.h:26
#define VTK_LABEL_TENSORS
#define VTK_LABEL_TCOORDS
#define VTK_LABEL_VECTORS
#define VTK_LABEL_SCALARS
#define VTK_LABEL_FIELD_DATA
#define VTK_LABEL_IDS
#define VTK_LABEL_NORMALS
vtkTypeUInt32 vtkMTimeType
Definition vtkType.h:287
#define VTK_INT_MAX
Definition vtkType.h:161
#define VTK_MARSHALAUTO