VTK  9.1.0
vtkTexturedButtonRepresentation2D.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkTexturedButtonRepresentation2D.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 =========================================================================*/
44 #ifndef vtkTexturedButtonRepresentation2D_h
45 #define vtkTexturedButtonRepresentation2D_h
46 
48 #include "vtkInteractionWidgetsModule.h" // For export macro
49 
50 class vtkProperty2D;
51 class vtkImageData;
52 class vtkTextureArray; // PIMPLd
53 class vtkProperty2D;
54 class vtkAlgorithmOutput;
56 class vtkCoordinate;
57 
58 class VTKINTERACTIONWIDGETS_EXPORT vtkTexturedButtonRepresentation2D
60 {
61 public:
66 
68 
72  void PrintSelf(ostream& os, vtkIndent indent) override;
74 
76 
80  virtual void SetProperty(vtkProperty2D* p);
81  vtkGetObjectMacro(Property, vtkProperty2D);
83 
85 
89  vtkGetObjectMacro(HoveringProperty, vtkProperty2D);
91 
93 
97  vtkGetObjectMacro(SelectingProperty, vtkProperty2D);
99 
101 
108 
113  vtkBalloonRepresentation* GetBalloon() { return this->Balloon; }
114 
116 
119  int ComputeInteractionState(int X, int Y, int modify = 0) override;
120  void BuildRepresentation() override;
121  void Highlight(int state) override;
123 
131  void PlaceWidget(double bounds[6]) override;
132 
143  virtual void PlaceWidget(double anchor[3], int size[2]);
144 
146 
149  void ShallowCopy(vtkProp* prop) override;
150  double* GetBounds() override;
151  void GetActors(vtkPropCollection* pc) override;
153  int RenderOverlay(vtkViewport*) override;
156 
157 protected:
160 
161  // Representing the button
163 
164  // Properties of the button
169 
170  // Keep track of the images (textures) associated with the N
171  // states of the button.
172  vtkTextureArray* TextureArray;
173 
174  // Tracking world position
176 
177 private:
179  void operator=(const vtkTexturedButtonRepresentation2D&) = delete;
180 };
181 
182 #endif
Proxy object to connect input/output ports.
represent the vtkBalloonWidget
abstract class defines the representation for a vtkButtonWidget
perform coordinate transformation, and represent position, in a variety of vtk coordinate systems
Definition: vtkCoordinate.h:77
topologically and geometrically regular array of data
Definition: vtkImageData.h:48
a simple class to control print indentation
Definition: vtkIndent.h:34
an ordered list of Props
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:57
represent surface properties of a 2D image
Definition: vtkProperty2D.h:38
defines a representation for a vtkButtonWidget
static vtkTexturedButtonRepresentation2D * New()
Instantiate the class.
virtual void SetProperty(vtkProperty2D *p)
Specify the property to use when the button is to appear "normal" i.e., the mouse pointer is not hove...
vtkImageData * GetButtonTexture(int i)
Add the ith texture corresponding to the ith button state.
void ReleaseGraphicsResources(vtkWindow *) override
Provide the necessary methods to satisfy the rendering API.
void PlaceWidget(double bounds[6]) override
Conventional PlaceWidget() method to satisfy the vtkWidgetRepresentation API.
virtual void SetHoveringProperty(vtkProperty2D *p)
Specify the property to use when the hovering over the button.
vtkBalloonRepresentation * GetBalloon()
Grab the underlying vtkBalloonRepresentation used to position and display the button texture.
void Highlight(int state) override
Provide the necessary methods to satisfy the vtkWidgetRepresentation API.
void SetButtonTexture(int i, vtkImageData *image)
Add the ith texture corresponding to the ith button state.
virtual void PlaceWidget(double anchor[3], int size[2])
This alternative PlaceWidget() method can be used to anchor the button to a 3D point.
virtual void SetSelectingProperty(vtkProperty2D *p)
Specify the property to use when selecting the button.
int RenderOverlay(vtkViewport *) override
Provide the necessary methods to satisfy the rendering API.
double * GetBounds() override
Provide the necessary methods to satisfy the rendering API.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for the class.
void BuildRepresentation() override
Provide the necessary methods to satisfy the vtkWidgetRepresentation API.
vtkTypeBool HasTranslucentPolygonalGeometry() override
Provide the necessary methods to satisfy the rendering API.
void GetActors(vtkPropCollection *pc) override
Provide the necessary methods to satisfy the rendering API.
void ShallowCopy(vtkProp *prop) override
Provide the necessary methods to satisfy the rendering API.
int ComputeInteractionState(int X, int Y, int modify=0) override
Provide the necessary methods to satisfy the vtkWidgetRepresentation API.
abstract specification for Viewports
Definition: vtkViewport.h:47
window superclass for vtkRenderWindow
Definition: vtkWindow.h:39
@ image
Definition: vtkX3D.h:380
@ size
Definition: vtkX3D.h:259
int vtkTypeBool
Definition: vtkABI.h:69