VTK  9.4.20250207
vtkBalloonRepresentation.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
64#ifndef vtkBalloonRepresentation_h
65#define vtkBalloonRepresentation_h
66
67#include "vtkInteractionWidgetsModule.h" // For export macro
69#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
70
71VTK_ABI_NAMESPACE_BEGIN
72class vtkTextMapper;
73class vtkTextActor;
74class vtkTextProperty;
75class vtkPoints;
76class vtkCellArray;
77class vtkPolyData;
79class vtkActor2D;
80class vtkProperty2D;
81class vtkImageData;
82class vtkTexture;
83class vtkPoints;
84class vtkPolyData;
87
88class VTKINTERACTIONWIDGETS_EXPORT VTK_MARSHALAUTO vtkBalloonRepresentation
90{
91public:
96
98
102 void PrintSelf(ostream& os, vtkIndent indent) override;
104
106
109 virtual void SetBalloonImage(vtkImageData* img);
110 vtkGetObjectMacro(BalloonImage, vtkImageData);
112
114
117 vtkGetStringMacro(BalloonText);
118 vtkSetStringMacro(BalloonText);
120
122
128 vtkSetVector2Macro(ImageSize, int);
129 vtkGetVector2Macro(ImageSize, int);
131
133
137 vtkGetObjectMacro(TextProperty, vtkTextProperty);
139
141
146 vtkGetObjectMacro(FrameProperty, vtkProperty2D);
148
150
154 vtkGetObjectMacro(ImageProperty, vtkProperty2D);
156
157 enum
158 {
159 ImageLeft = 0,
162 ImageTop
163 };
164
166
173 vtkSetMacro(BalloonLayout, int);
174 vtkGetMacro(BalloonLayout, int);
175 void SetBalloonLayoutToImageLeft() { this->SetBalloonLayout(ImageLeft); }
176 void SetBalloonLayoutToImageRight() { this->SetBalloonLayout(ImageRight); }
177 void SetBalloonLayoutToImageBottom() { this->SetBalloonLayout(ImageBottom); }
178 void SetBalloonLayoutToImageTop() { this->SetBalloonLayout(ImageTop); }
179 void SetBalloonLayoutToTextLeft() { this->SetBalloonLayout(ImageRight); }
180 void SetBalloonLayoutToTextRight() { this->SetBalloonLayout(ImageLeft); }
181 void SetBalloonLayoutToTextTop() { this->SetBalloonLayout(ImageBottom); }
182 void SetBalloonLayoutToTextBottom() { this->SetBalloonLayout(ImageTop); }
184
186
192 vtkSetVector2Macro(Offset, int);
193 vtkGetVector2Macro(Offset, int);
195
197
201 vtkSetClampMacro(Padding, int, 0, 100);
202 vtkGetMacro(Padding, int);
204
206
209 void StartWidgetInteraction(double e[2]) override;
210 void EndWidgetInteraction(double e[2]) override;
211 void BuildRepresentation() override;
212 int ComputeInteractionState(int X, int Y, int modify = 0) override;
214
216
220 int RenderOverlay(vtkViewport* viewport) override;
222
227 {
228 Outside = 0,
230 OnImage
231 };
232
233protected:
236
237 // The balloon text and image
240
241 // The layout of the balloon
243
244 // Controlling placement
246 int Offset[2];
247 int ImageSize[2];
248
249 // Represent the text
253
254 // Represent the image
261
262 // The frame
269
270 // Internal variable controlling rendering process
273
274 // Helper methods
275 void AdjustImageSize(double imageSize[2]);
276 void ScaleImage(double imageSize[2], double scale);
277
278private:
280 void operator=(const vtkBalloonRepresentation&) = delete;
281};
282
283VTK_ABI_NAMESPACE_END
284#endif
a actor that draws 2D data
Definition vtkActor2D.h:145
represent the vtkBalloonWidget
void SetBalloonLayoutToTextRight()
Specify the layout of the image and text within the balloon.
void SetBalloonLayoutToImageLeft()
Specify the layout of the image and text within the balloon.
void SetBalloonLayoutToTextTop()
Specify the layout of the image and text within the balloon.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard VTK methods.
void BuildRepresentation() override
These are methods that satisfy vtkWidgetRepresentation's API.
virtual void SetBalloonImage(vtkImageData *img)
Specify/retrieve the image to display in the balloon.
void SetBalloonLayoutToImageRight()
Specify the layout of the image and text within the balloon.
vtkPolyDataMapper2D * TextureMapper
void EndWidgetInteraction(double e[2]) override
These are methods that satisfy vtkWidgetRepresentation's API.
void StartWidgetInteraction(double e[2]) override
These are methods that satisfy vtkWidgetRepresentation's API.
int ComputeInteractionState(int X, int Y, int modify=0) override
These are methods that satisfy vtkWidgetRepresentation's API.
virtual void SetTextProperty(vtkTextProperty *p)
Set/get the text property (relevant only if text is shown).
void SetBalloonLayoutToImageTop()
Specify the layout of the image and text within the balloon.
void SetBalloonLayoutToTextLeft()
Specify the layout of the image and text within the balloon.
void AdjustImageSize(double imageSize[2])
void SetBalloonLayoutToImageBottom()
Specify the layout of the image and text within the balloon.
void SetBalloonLayoutToTextBottom()
Specify the layout of the image and text within the balloon.
InteractionStateType
State is either outside, or inside (on the text portion of the image).
virtual void SetImageProperty(vtkProperty2D *p)
Set/get the image property (relevant only if an image is shown).
~vtkBalloonRepresentation() override
void ScaleImage(double imageSize[2], double scale)
void ReleaseGraphicsResources(vtkWindow *w) override
Methods required by vtkProp superclass.
static vtkBalloonRepresentation * New()
Instantiate the class.
int RenderOverlay(vtkViewport *viewport) override
Methods required by vtkProp superclass.
virtual void SetFrameProperty(vtkProperty2D *p)
Set/get the frame property (relevant only if text is shown).
object to represent cell connectivity
topologically and geometrically regular array of data
a simple class to control print indentation
Definition vtkIndent.h:108
represent and manipulate 3D points
Definition vtkPoints.h:139
draw vtkPolyData onto the image plane
concrete dataset represents vertices, lines, polygons, and triangle strips
represent surface properties of a 2D image
An actor that displays text.
2D text annotation
represent text properties.
handles properties associated with a texture map
Definition vtkTexture.h:168
actor that draws 2D data with texture support
abstract specification for Viewports
Definition vtkViewport.h:65
abstract class defines interface between the widget and widget representation classes
window superclass for vtkRenderWindow
Definition vtkWindow.h:48
#define VTK_MARSHALAUTO