VTK  9.2.6
vtkLabeledDataMapper.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkLabeledDataMapper.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=========================================================================*/
54#ifndef vtkLabeledDataMapper_h
55#define vtkLabeledDataMapper_h
56
57#include "vtkMapper2D.h"
58#include "vtkRenderingLabelModule.h" // For export macro
59
60#include <cassert> // For assert macro
61
62class vtkDataObject;
63class vtkDataSet;
64class vtkTextMapper;
65class vtkTextProperty;
66class vtkTransform;
67
68#define VTK_LABEL_IDS 0
69#define VTK_LABEL_SCALARS 1
70#define VTK_LABEL_VECTORS 2
71#define VTK_LABEL_NORMALS 3
72#define VTK_LABEL_TCOORDS 4
73#define VTK_LABEL_TENSORS 5
74#define VTK_LABEL_FIELD_DATA 6
75
76class VTKRENDERINGLABEL_EXPORT vtkLabeledDataMapper : public vtkMapper2D
77{
78public:
84
86 void PrintSelf(ostream& os, vtkIndent indent) override;
87
89
101 vtkSetStringMacro(LabelFormat);
102 vtkGetStringMacro(LabelFormat);
104
106
113 vtkSetMacro(LabeledComponent, int);
114 vtkGetMacro(LabeledComponent, int);
116
118
121 vtkSetMacro(ComponentSeparator, char);
122 vtkGetMacro(ComponentSeparator, char);
124
126
131 void SetFieldDataArray(int arrayIndex);
132 vtkGetMacro(FieldDataArray, int);
134
136
141 void SetFieldDataName(const char* arrayName);
142 vtkGetStringMacro(FieldDataName);
144
149
155
157
163 vtkSetMacro(LabelMode, int);
164 vtkGetMacro(LabelMode, int);
165 void SetLabelModeToLabelIds() { this->SetLabelMode(VTK_LABEL_IDS); }
166 void SetLabelModeToLabelScalars() { this->SetLabelMode(VTK_LABEL_SCALARS); }
167 void SetLabelModeToLabelVectors() { this->SetLabelMode(VTK_LABEL_VECTORS); }
168 void SetLabelModeToLabelNormals() { this->SetLabelMode(VTK_LABEL_NORMALS); }
169 void SetLabelModeToLabelTCoords() { this->SetLabelMode(VTK_LABEL_TCOORDS); }
170 void SetLabelModeToLabelTensors() { this->SetLabelMode(VTK_LABEL_TENSORS); }
173
175
183 virtual void SetLabelTextProperty(vtkTextProperty* p, int type);
186
188
191 void RenderOpaqueGeometry(vtkViewport* viewport, vtkActor2D* actor) override;
192 void RenderOverlay(vtkViewport* viewport, vtkActor2D* actor) override;
194
199
201
204 vtkGetObjectMacro(Transform, vtkTransform);
207
210 {
211 WORLD = 0,
212 DISPLAY = 1
214 };
215
217
221 vtkGetMacro(CoordinateSystem, int);
222 vtkSetClampMacro(CoordinateSystem, int, WORLD, DISPLAY);
223 void CoordinateSystemWorld() { this->SetCoordinateSystem(vtkLabeledDataMapper::WORLD); }
224 void CoordinateSystemDisplay() { this->SetCoordinateSystem(vtkLabeledDataMapper::DISPLAY); }
226
231
233
236 vtkGetMacro(NumberOfLabels, int);
238
240
243 void GetLabelPosition(int label, double pos[3])
244 {
245 assert("label index range" && label >= 0 && label < this->NumberOfLabels);
246 pos[0] = this->LabelPositions[3 * label];
247 pos[1] = this->LabelPositions[3 * label + 1];
248 pos[2] = this->LabelPositions[3 * label + 2];
249 }
251
255 const char* GetLabelText(int label);
256
257protected:
260
262
269
271
273
279
281
282 void AllocateLabels(int numLabels);
285
286 class Internals;
287 Internals* Implementation;
288
289private:
291 void operator=(const vtkLabeledDataMapper&) = delete;
292};
293
294#endif
a actor that draws 2D data
Definition vtkActor2D.h:46
general representation of visualization data
abstract class to specify dataset behavior
Definition vtkDataSet.h:63
a simple class to control print indentation
Definition vtkIndent.h:40
Store vtkAlgorithm input/output information.
draw text labels at dataset points
void SetFieldDataName(const char *arrayName)
Set/Get the name of the field data array to label.
virtual void SetLabelTextProperty(vtkTextProperty *p, int type)
Set/Get the text property.
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.
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
Fill the input port information objects for this algorithm.
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,...
void SetFieldDataArray(int arrayIndex)
Set/Get the field data array to label.
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.
@ DISPLAY
Output 2-D display coordinates for each label anchor (3 components but only 2 are significant).
@ WORLD
Output 3-D world-space coordinates for each label anchor.
abstract class specifies interface for objects which render 2D actors
Definition vtkMapper2D.h:36
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:56
window superclass for vtkRenderWindow
Definition vtkWindow.h:39
#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