VTK
vtkBalloonWidget.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkBalloonWidget.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 =========================================================================*/
77 #ifndef vtkBalloonWidget_h
78 #define vtkBalloonWidget_h
79 
80 #include "vtkInteractionWidgetsModule.h" // For export macro
81 #include "vtkHoverWidget.h"
82 
84 class vtkProp;
86 class vtkStdString;
87 class vtkPropMap;
88 class vtkImageData;
89 
90 
91 class VTKINTERACTIONWIDGETS_EXPORT vtkBalloonWidget : public vtkHoverWidget
92 {
93 public:
97  static vtkBalloonWidget *New();
98 
100 
104  void PrintSelf(ostream& os, vtkIndent indent) override;
106 
111  void SetEnabled(int) override;
112 
119  {this->Superclass::SetWidgetRepresentation(reinterpret_cast<vtkWidgetRepresentation*>(r));}
120 
125  {return reinterpret_cast<vtkBalloonRepresentation*>(this->WidgetRep);}
126 
130  void CreateDefaultRepresentation() override;
131 
133 
137  void AddBalloon(vtkProp *prop, vtkStdString *str, vtkImageData *img);
138  void AddBalloon(vtkProp *prop, const char *str, vtkImageData *img);
139  void AddBalloon(vtkProp *prop, const char *str) //for wrapping
140  {this->AddBalloon(prop,str,nullptr);}
141  void RemoveBalloon(vtkProp *prop);
143 
145 
151  const char *GetBalloonString(vtkProp *prop);
152  vtkImageData *GetBalloonImage(vtkProp *prop);
154 
156 
160  void UpdateBalloonString(vtkProp *prop, const char *str);
161  void UpdateBalloonImage(vtkProp *prop, vtkImageData *image);
163 
169  {return this->CurrentProp;}
170 
172 
178  void SetPicker(vtkAbstractPropPicker*);
179  vtkGetObjectMacro(Picker,vtkAbstractPropPicker);
181 
182  /*
183  * Register internal Pickers within PickingManager
184  */
185  void RegisterPickers() override;
186 
187 protected:
189  ~vtkBalloonWidget() override;
190 
191  // This class implements the method called from its superclass.
192  int SubclassEndHoverAction() override;
193  int SubclassHoverAction() override;
194 
195  // Classes for managing balloons
196  vtkPropMap *PropMap; //PIMPL'd map of (vtkProp,vtkStdString)
197 
198  // Support for picking
200 
201  // The vtkProp that is being hovered over (which may be nullptr)
203 
204 private:
205  vtkBalloonWidget(const vtkBalloonWidget&) = delete;
206  void operator=(const vtkBalloonWidget&) = delete;
207 };
208 
209 #endif
vtkHoverWidget::SetEnabled
void SetEnabled(int) override
The method for activating and deactivating this widget.
vtkBalloonWidget
popup text balloons above instance of vtkProp when hovering occurs
Definition: vtkBalloonWidget.h:91
vtkBalloonWidget::Picker
vtkAbstractPropPicker * Picker
Definition: vtkBalloonWidget.h:199
vtkX3D::image
Definition: vtkX3D.h:374
vtkHoverWidget
invoke a vtkTimerEvent when hovering
Definition: vtkHoverWidget.h:80
vtkBalloonWidget::GetCurrentProp
virtual vtkProp * GetCurrentProp()
Return the current vtkProp that is being hovered over.
Definition: vtkBalloonWidget.h:168
vtkBalloonWidget::AddBalloon
void AddBalloon(vtkProp *prop, const char *str)
Definition: vtkBalloonWidget.h:139
vtkBalloonWidget::PropMap
vtkPropMap * PropMap
Definition: vtkBalloonWidget.h:196
vtkBalloonWidget::SetRepresentation
void SetRepresentation(vtkBalloonRepresentation *r)
Specify an instance of vtkWidgetRepresentation used to represent this widget in the scene.
Definition: vtkBalloonWidget.h:118
vtkHoverWidget::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkImageData
topologically and geometrically regular array of data
Definition: vtkImageData.h:45
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkAbstractPropPicker
abstract API for pickers that can pick an instance of vtkProp
Definition: vtkAbstractPropPicker.h:79
vtkBalloonRepresentation
represent the vtkBalloonWidget
Definition: vtkBalloonRepresentation.h:82
vtkInteractorObserver::RegisterPickers
virtual void RegisterPickers()
Register internal Pickers in the Picking Manager.
vtkBalloonWidget::CurrentProp
vtkProp * CurrentProp
Definition: vtkBalloonWidget.h:202
vtkHoverWidget::CreateDefaultRepresentation
void CreateDefaultRepresentation() override
A default representation, of which there is none, is created.
Definition: vtkHoverWidget.h:117
vtkHoverWidget::SubclassHoverAction
virtual int SubclassHoverAction()
Definition: vtkHoverWidget.h:137
vtkHoverWidget::New
static vtkHoverWidget * New()
Instantiate this class.
vtkProp
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:52
vtkHoverWidget.h
vtkBalloonWidget::GetBalloonRepresentation
vtkBalloonRepresentation * GetBalloonRepresentation()
Return the representation as a vtkBalloonRepresentation.
Definition: vtkBalloonWidget.h:124
vtkHoverWidget::SubclassEndHoverAction
virtual int SubclassEndHoverAction()
Definition: vtkHoverWidget.h:138
vtkStdString
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:40
vtkAbstractWidget::SetWidgetRepresentation
void SetWidgetRepresentation(vtkWidgetRepresentation *r)