VTK  9.2.5
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 =========================================================================*/
66 #ifndef vtkTexturedButtonRepresentation2D_h
67 #define vtkTexturedButtonRepresentation2D_h
68 
70 #include "vtkInteractionWidgetsModule.h" // For export macro
71 
72 class vtkProperty2D;
73 class vtkImageData;
74 class vtkTextureArray; // PIMPLd
75 class vtkProperty2D;
76 class vtkAlgorithmOutput;
78 class vtkCoordinate;
79 
80 class VTKINTERACTIONWIDGETS_EXPORT vtkTexturedButtonRepresentation2D
82 {
83 public:
88 
90 
94  void PrintSelf(ostream& os, vtkIndent indent) override;
96 
98 
102  virtual void SetProperty(vtkProperty2D* p);
103  vtkGetObjectMacro(Property, vtkProperty2D);
105 
107 
111  vtkGetObjectMacro(HoveringProperty, vtkProperty2D);
113 
115 
119  vtkGetObjectMacro(SelectingProperty, vtkProperty2D);
121 
123 
130 
135  vtkBalloonRepresentation* GetBalloon() { return this->Balloon; }
136 
138 
141  int ComputeInteractionState(int X, int Y, int modify = 0) override;
142  void BuildRepresentation() override;
143  void Highlight(int state) override;
145 
153  void PlaceWidget(double bounds[6]) override;
154 
165  virtual void PlaceWidget(double anchor[3], int size[2]);
166 
168 
171  void ShallowCopy(vtkProp* prop) override;
172  double* GetBounds() override;
173  void GetActors(vtkPropCollection* pc) override;
175  int RenderOverlay(vtkViewport*) override;
178 
179 protected:
182 
183  // Representing the button
185 
186  // Properties of the button
191 
192  // Keep track of the images (textures) associated with the N
193  // states of the button.
194  vtkTextureArray* TextureArray;
195 
196  // Tracking world position
198 
199 private:
201  void operator=(const vtkTexturedButtonRepresentation2D&) = delete;
202 };
203 
204 #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
topologically and geometrically regular array of data
Definition: vtkImageData.h:163
a simple class to control print indentation
Definition: vtkIndent.h:119
an ordered list of Props
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:76
represent surface properties of a 2D image
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:56
window superclass for vtkRenderWindow
Definition: vtkWindow.h:39
@ image
Definition: vtkX3D.h:380
@ size
Definition: vtkX3D.h:259
int vtkTypeBool
Definition: vtkABI.h:69