VTK  9.1.0
vtkProp3DButtonRepresentation.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkProp3DButtonRepresentation.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=========================================================================*/
49#ifndef vtkProp3DButtonRepresentation_h
50#define vtkProp3DButtonRepresentation_h
51
53#include "vtkInteractionWidgetsModule.h" // For export macro
54
55class vtkPropPicker;
56class vtkProp3D;
58class vtkPropArray; // PIMPLd
59
60class VTKINTERACTIONWIDGETS_EXPORT vtkProp3DButtonRepresentation : public vtkButtonRepresentation
61{
62public:
67
69
73 void PrintSelf(ostream& os, vtkIndent indent) override;
75
77
81 void SetButtonProp(int i, vtkProp3D* prop);
84
86
90 vtkSetMacro(FollowCamera, vtkTypeBool);
91 vtkGetMacro(FollowCamera, vtkTypeBool);
92 vtkBooleanMacro(FollowCamera, vtkTypeBool);
94
98 void SetState(int state) override;
99
101
104 int ComputeInteractionState(int X, int Y, int modify = 0) override;
105 void BuildRepresentation() override;
107
112 void PlaceWidget(double bounds[6]) override;
113
115
118 void ShallowCopy(vtkProp* prop) override;
119 double* GetBounds() override;
120 void GetActors(vtkPropCollection* pc) override;
127
128 /*
129 * Register internal Pickers within PickingManager
130 */
131 void RegisterPickers() override;
132
133protected:
136
137 // The current vtkProp3D used to represent the button
139
140 // Follow the camera if requested
143
144 // Keep track of the props associated with the N
145 // states of the button. This is a PIMPLd stl map.
146 vtkPropArray* PropArray;
147
148 // For picking the button
150
151private:
153 void operator=(const vtkProp3DButtonRepresentation&) = delete;
154};
155
156#endif
abstract class defines the representation for a vtkButtonWidget
a simple class to control print indentation
Definition: vtkIndent.h:43
defines a representation for a vtkButtonWidget
vtkProp3D * GetButtonProp(int i)
Add the ith texture corresponding to the ith button state.
double * GetBounds() override
Provide the necessary methods to satisfy the rendering API.
static vtkProp3DButtonRepresentation * New()
Instantiate the class.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for instances of the class.
int RenderVolumetricGeometry(vtkViewport *) override
Provide the necessary methods to satisfy the rendering API.
void PlaceWidget(double bounds[6]) override
This method positions (translates and scales the props) into the bounding box specified.
int ComputeInteractionState(int X, int Y, int modify=0) override
Provide the necessary methods to satisfy the vtkWidgetRepresentation API.
void BuildRepresentation() override
Provide the necessary methods to satisfy the vtkWidgetRepresentation API.
~vtkProp3DButtonRepresentation() override
void ReleaseGraphicsResources(vtkWindow *) override
Provide the necessary methods to satisfy the rendering API.
int RenderOpaqueGeometry(vtkViewport *) override
Provide the necessary methods to satisfy the rendering API.
int RenderTranslucentPolygonalGeometry(vtkViewport *) override
Provide the necessary methods to satisfy the rendering API.
void ShallowCopy(vtkProp *prop) override
Provide the necessary methods to satisfy the rendering API.
vtkTypeBool HasTranslucentPolygonalGeometry() override
Provide the necessary methods to satisfy the rendering API.
void RegisterPickers() override
Register internal Pickers in the Picking Manager.
void GetActors(vtkPropCollection *pc) override
Provide the necessary methods to satisfy the rendering API.
void SetState(int state) override
Extend the vtkButtonRepresentation::SetState() method.
void SetButtonProp(int i, vtkProp3D *prop)
Add the ith texture corresponding to the ith button state.
a vtkProp3D that always faces the camera
represents an 3D object for placement in a rendered scene
Definition: vtkProp3D.h:53
an ordered list of Props
pick an actor/prop using graphics hardware
Definition: vtkPropPicker.h:49
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:57
abstract specification for Viewports
Definition: vtkViewport.h:56
window superclass for vtkRenderWindow
Definition: vtkWindow.h:45
int vtkTypeBool
Definition: vtkABI.h:69