VTK
vtkTDxUnixDevice.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkTDxUnixDevice.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 =========================================================================*/
25 #ifndef vtkTDxUnixDevice_h
26 #define vtkTDxUnixDevice_h
27 
28 #include "vtkRenderingOpenGLModule.h" // For export macro
29 #include "vtkTDxDevice.h"
30 //#include <X11/Xlib.h> // Needed for X types used in the public interface
32 
33 // We cannot include <X11/Xlib.h> (which defines "Display *",
34 // "Window" and "XEvent *") because it defines macro like None that would
35 // conflict with qt4/Qt/qcoreevent.h which defines None as a QEvent::Type
36 // value.
37 typedef void vtkTDxUnixDeviceDisplay;
38 typedef unsigned int vtkTDxUnixDeviceWindow;
40 
41 class VTKRENDERINGOPENGL_EXPORT vtkTDxUnixDevice : public vtkTDxDevice
42 {
43 public:
44  static vtkTDxUnixDevice *New();
46  void PrintSelf(ostream& os, vtkIndent indent);
47 
52  vtkTDxUnixDeviceDisplay *GetDisplayId() const;
53 
58  vtkTDxUnixDeviceWindow GetWindowId() const;
59 
65  void SetDisplayId(vtkTDxUnixDeviceDisplay *id);
66 
71  void SetWindowId(vtkTDxUnixDeviceWindow id);
72 
87  void Initialize();
88 
92  virtual void Close();
93 
105  bool ProcessEvent(const vtkTDxUnixDeviceXEvent *e);
106 
108 
112  vtkGetMacro(TranslationScale,double);
113  vtkSetMacro(TranslationScale,double);
115 
117 
121  vtkGetMacro(RotationScale,double);
122  vtkSetMacro(RotationScale,double);
124 
130  void SetSensitivity(double sensitivity);
131 
132 protected:
139 
144  virtual ~vtkTDxUnixDevice();
145 
148 
151 
152 private:
153  vtkTDxUnixDevice(const vtkTDxUnixDevice&) VTK_DELETE_FUNCTION;
154  void operator=(const vtkTDxUnixDevice&) VTK_DELETE_FUNCTION;
155 };
156 
157 #endif
vtkTDxUnixDeviceDisplay
void vtkTDxUnixDeviceDisplay
Definition: vtkTDxUnixDevice.h:31
vtkTDxUnixDevice::DisplayId
vtkTDxUnixDeviceDisplay * DisplayId
Definition: vtkTDxUnixDevice.h:146
vtkTDxUnixDevice
Implementation of vtkTDxDevice on Unix.
Definition: vtkTDxUnixDevice.h:41
vtkObject::New
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
vtkTDxUnixDeviceXEvent
void vtkTDxUnixDeviceXEvent
Definition: vtkTDxUnixDevice.h:39
vtkTDxDevice.h
vtkTDxUnixDevice::WindowId
vtkTDxUnixDeviceWindow WindowId
Definition: vtkTDxUnixDevice.h:147
vtkTDxUnixDevice::RotationScale
double RotationScale
Definition: vtkTDxUnixDevice.h:150
vtkTDxDevice::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkTDxUnixDevice::TranslationScale
double TranslationScale
Definition: vtkTDxUnixDevice.h:149
vtkRenderWindowInteractor
platform-independent render window interaction including picking and frame rate control.
Definition: vtkRenderWindowInteractor.h:78
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkTDxDevice
API to access a 3DConnexion input device.
Definition: vtkTDxDevice.h:37
vtkTDxUnixDeviceWindow
unsigned int vtkTDxUnixDeviceWindow
Definition: vtkTDxUnixDevice.h:38
vtkTDxDevice::Close
virtual void Close()=0
Close the device.