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=========================================================================*/
53#ifndef vtkTexturedButtonRepresentation2D_h
54#define vtkTexturedButtonRepresentation2D_h
55
57#include "vtkInteractionWidgetsModule.h" // For export macro
58
59class vtkProperty2D;
60class vtkImageData;
61class vtkTextureArray; // PIMPLd
62class vtkProperty2D;
65class vtkCoordinate;
66
67class VTKINTERACTIONWIDGETS_EXPORT vtkTexturedButtonRepresentation2D
69{
70public:
75
77
81 void PrintSelf(ostream& os, vtkIndent indent) override;
83
85
89 virtual void SetProperty(vtkProperty2D* p);
90 vtkGetObjectMacro(Property, vtkProperty2D);
92
94
98 vtkGetObjectMacro(HoveringProperty, vtkProperty2D);
100
102
106 vtkGetObjectMacro(SelectingProperty, vtkProperty2D);
108
110
117
122 vtkBalloonRepresentation* GetBalloon() { return this->Balloon; }
123
125
128 int ComputeInteractionState(int X, int Y, int modify = 0) override;
129 void BuildRepresentation() override;
130 void Highlight(int state) override;
132
140 void PlaceWidget(double bounds[6]) override;
141
152 virtual void PlaceWidget(double anchor[3], int size[2]);
153
155
158 void ShallowCopy(vtkProp* prop) override;
159 double* GetBounds() override;
160 void GetActors(vtkPropCollection* pc) override;
165
166protected:
169
170 // Representing the button
172
173 // Properties of the button
178
179 // Keep track of the images (textures) associated with the N
180 // states of the button.
181 vtkTextureArray* TextureArray;
182
183 // Tracking world position
185
186private:
188 void operator=(const vtkTexturedButtonRepresentation2D&) = delete;
189};
190
191#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:86
topologically and geometrically regular array of data
Definition: vtkImageData.h:57
a simple class to control print indentation
Definition: vtkIndent.h:43
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:47
defines a representation for a vtkButtonWidget
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...
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.
void Highlight(int state) override
Provide the necessary methods to satisfy the vtkWidgetRepresentation API.
vtkImageData * GetButtonTexture(int i)
Add the ith texture corresponding to the ith button state.
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.
static vtkTexturedButtonRepresentation2D * New()
Instantiate 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.
vtkBalloonRepresentation * GetBalloon()
Grab the underlying vtkBalloonRepresentation used to position and display the button texture.
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:56
window superclass for vtkRenderWindow
Definition: vtkWindow.h:45
@ image
Definition: vtkX3D.h:380
@ size
Definition: vtkX3D.h:259
int vtkTypeBool
Definition: vtkABI.h:69