VTK
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 =========================================================================*/
43 #ifndef vtkProp3DButtonRepresentation_h
44 #define vtkProp3DButtonRepresentation_h
45 
46 #include "vtkInteractionWidgetsModule.h" // For export macro
48 
49 class vtkPropPicker;
50 class vtkProp3D;
51 class vtkProp3DFollower;
52 class vtkPropArray; //PIMPLd
53 
54 class VTKINTERACTIONWIDGETS_EXPORT vtkProp3DButtonRepresentation : public vtkButtonRepresentation
55 {
56 public:
61 
63 
67  void PrintSelf(ostream& os, vtkIndent indent);
69 
71 
75  void SetButtonProp(int i, vtkProp3D *prop);
76  vtkProp3D *GetButtonProp(int i);
78 
80 
84  vtkSetMacro(FollowCamera,int);
85  vtkGetMacro(FollowCamera,int);
86  vtkBooleanMacro(FollowCamera,int);
88 
92  virtual void SetState(int state);
93 
95 
98  virtual int ComputeInteractionState(int X, int Y, int modify=0);
99  virtual void BuildRepresentation();
101 
106  virtual void PlaceWidget(double bounds[6]);
107 
109 
112  virtual void ShallowCopy(vtkProp *prop);
113  virtual double *GetBounds();
114  virtual void GetActors(vtkPropCollection *pc);
115  virtual void ReleaseGraphicsResources(vtkWindow*);
116  virtual int RenderOpaqueGeometry(vtkViewport*);
119  virtual int HasTranslucentPolygonalGeometry();
121 
122 protected:
125 
126  // The current vtkProp3D used to represent the button
128 
129  // Follow the camera if requested
132 
133  // Keep track of the props associated with the N
134  // states of the button. This is a PIMPLd stl map.
135  vtkPropArray *PropArray;
136 
137  // For picking the button
139 
140  // Register internal Pickers within PickingManager
141  virtual void RegisterPickers();
142 
143 private:
145  void operator=(const vtkProp3DButtonRepresentation&) VTK_DELETE_FUNCTION;
146 };
147 
148 #endif
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:50
virtual void SetState(int state)
Manipulate the state.
virtual int ComputeInteractionState(int X, int Y, int modify=0)
pick an actor/prop using graphics hardware
Definition: vtkPropPicker.h:42
abstract specification for Viewports
Definition: vtkViewport.h:47
virtual void ShallowCopy(vtkProp *prop)
Satisfy some of vtkProp's API.
represents an 3D object for placement in a rendered scene
Definition: vtkProp3D.h:46
defines a representation for a vtkButtonWidget
virtual void ReleaseGraphicsResources(vtkWindow *)
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Release any graphics resources that are being...
virtual void BuildRepresentation()=0
Subclasses of vtkWidgetRepresentation must implement these methods.
a list of Props
window superclass for vtkRenderWindow
Definition: vtkWindow.h:37
void PrintSelf(ostream &os, vtkIndent indent)
Standard methods for the class.
virtual double * GetBounds()
Methods to make this class behave as a vtkProp.
virtual int HasTranslucentPolygonalGeometry()
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDE...
a simple class to control print indentation
Definition: vtkIndent.h:39
virtual void RegisterPickers()
Register internal Pickers in the Picking Manager.
a vtkProp3D that always faces the camera
abstract class defines the representation for a vtkButtonWidget
virtual void GetActors(vtkPropCollection *)
For some exporters and other other operations we must be able to collect all the actors or volumes...
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
virtual int RenderVolumetricGeometry(vtkViewport *vtkNotUsed(viewport))
virtual int RenderOpaqueGeometry(vtkViewport *vtkNotUsed(viewport))
virtual void PlaceWidget(double *vtkNotUsed(bounds[6]))
The following is a suggested API for widget representations.
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
virtual int RenderTranslucentPolygonalGeometry(vtkViewport *vtkNotUsed(viewport))