VTK
vtkBalloonRepresentation.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkBalloonRepresentation.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=========================================================================*/
60#ifndef vtkBalloonRepresentation_h
61#define vtkBalloonRepresentation_h
62
63#include "vtkInteractionWidgetsModule.h" // For export macro
65
66class vtkTextMapper;
67class vtkTextActor;
68class vtkTextProperty;
69class vtkPoints;
70class vtkCellArray;
71class vtkPolyData;
73class vtkActor2D;
74class vtkProperty2D;
75class vtkImageData;
76class vtkTexture;
77class vtkPoints;
78class vtkPolyData;
81
82class VTKINTERACTIONWIDGETS_EXPORT vtkBalloonRepresentation : public vtkWidgetRepresentation
83{
84public:
89
91
95 void PrintSelf(ostream& os, vtkIndent indent);
97
99
102 virtual void SetBalloonImage(vtkImageData *img);
103 vtkGetObjectMacro(BalloonImage,vtkImageData);
105
107
110 vtkGetStringMacro(BalloonText);
111 vtkSetStringMacro(BalloonText);
113
115
121 vtkSetVector2Macro(ImageSize,int);
122 vtkGetVector2Macro(ImageSize,int);
124
126
130 vtkGetObjectMacro(TextProperty,vtkTextProperty);
132
134
139 vtkGetObjectMacro(FrameProperty,vtkProperty2D);
141
143
147 vtkGetObjectMacro(ImageProperty,vtkProperty2D);
149
150 enum {ImageLeft=0,ImageRight,ImageBottom,ImageTop};
151
153
160 vtkSetMacro(BalloonLayout,int);
161 vtkGetMacro(BalloonLayout,int);
162 void SetBalloonLayoutToImageLeft() {this->SetBalloonLayout(ImageLeft);}
163 void SetBalloonLayoutToImageRight() {this->SetBalloonLayout(ImageRight);}
164 void SetBalloonLayoutToImageBottom() {this->SetBalloonLayout(ImageBottom);}
165 void SetBalloonLayoutToImageTop() {this->SetBalloonLayout(ImageTop);}
166 void SetBalloonLayoutToTextLeft() {this->SetBalloonLayout(ImageRight);}
167 void SetBalloonLayoutToTextRight() {this->SetBalloonLayout(ImageLeft);}
168 void SetBalloonLayoutToTextTop() {this->SetBalloonLayout(ImageBottom);}
169 void SetBalloonLayoutToTextBottom() {this->SetBalloonLayout(ImageTop);}
171
173
179 vtkSetVector2Macro(Offset,int);
180 vtkGetVector2Macro(Offset,int);
182
184
188 vtkSetClampMacro(Padding,int,0,100);
189 vtkGetMacro(Padding,int);
191
193
196 virtual void StartWidgetInteraction(double e[2]);
197 virtual void EndWidgetInteraction(double e[2]);
198 virtual void BuildRepresentation();
199 virtual int ComputeInteractionState(int X, int Y, int modify=0);
201
203
207 virtual int RenderOverlay(vtkViewport *viewport);
209
213 enum _InteractionState {Outside=0, OnText, OnImage};
214
215protected:
218
219 // The balloon text and image
222
223 // The layout of the balloon
225
226 // Controlling placement
228 int Offset[2];
229 int ImageSize[2];
230
231 // Represent the text
235
236 // Represent the image
243
244 // The frame
251
252 // Internal variable controlling rendering process
255
256 // Helper methods
257 void AdjustImageSize(double imageSize[2]);
258 void ScaleImage(double imageSize[2],double scale);
259
260private:
261 vtkBalloonRepresentation(const vtkBalloonRepresentation&) VTK_DELETE_FUNCTION;
262 void operator=(const vtkBalloonRepresentation&) VTK_DELETE_FUNCTION;
263};
264
265#endif
a actor that draws 2D data
Definition: vtkActor2D.h:46
represent the vtkBalloonWidget
virtual void BuildRepresentation()
virtual void SetBalloonImage(vtkImageData *img)
Specify/retrieve the image to display in the balloon.
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
vtkPolyDataMapper2D * TextureMapper
virtual void ReleaseGraphicsResources(vtkWindow *w)
Methods required by vtkProp superclass.
virtual int RenderOverlay(vtkViewport *viewport)
_InteractionState
State is either outside, or inside (on the text portion ot the image).
virtual void StartWidgetInteraction(double e[2])
These are methods that satisfy vtkWidgetRepresentation's API.
virtual int ComputeInteractionState(int X, int Y, int modify=0)
virtual void SetTextProperty(vtkTextProperty *p)
Set/get the text property (relevant only if text is shown).
vtkPolyDataMapper2D * FrameMapper
void AdjustImageSize(double imageSize[2])
virtual void EndWidgetInteraction(double e[2])
virtual void SetImageProperty(vtkProperty2D *p)
Set/get the image property (relevant only if an image is shown).
void ScaleImage(double imageSize[2], double scale)
static vtkBalloonRepresentation * New()
Instantiate the class.
virtual void SetFrameProperty(vtkProperty2D *p)
Set/get the frame property (relevant only if text is shown).
object to represent cell connectivity
Definition: vtkCellArray.h:51
topologically and geometrically regular array of data
Definition: vtkImageData.h:46
a simple class to control print indentation
Definition: vtkIndent.h:40
represent and manipulate 3D points
Definition: vtkPoints.h:40
draw vtkPolyData onto the image plane
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:86
represent surface properties of a 2D image
Definition: vtkProperty2D.h:41
An actor that displays text.
Definition: vtkTextActor.h:57
2D text annotation
Definition: vtkTextMapper.h:54
represent text properties.
handles properties associated with a texture map
Definition: vtkTexture.h:71
actor that draws 2D data with texture support
abstract specification for Viewports
Definition: vtkViewport.h:48
abstract class defines interface between the widget and widget representation classes
window superclass for vtkRenderWindow
Definition: vtkWindow.h:35
@ scale
Definition: vtkX3D.h:229
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkGetStringMacro(ExtensionsString)
Returns a string listing all available extensions.