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 =========================================================================*/
27 #ifndef vtkTDxUnixDevice_h
28 #define vtkTDxUnixDevice_h
29 
30 #include "vtkRenderingOpenGLModule.h" // For export macro
31 #include "vtkTDxDevice.h"
32 //#include <X11/Xlib.h> // Needed for X types used in the public interface
34 
35 // We cannot include <X11/Xlib.h> (which defines "Display *",
36 // "Window" and "XEvent *") because it defines macro like None that would
37 // conflict with qt4/Qt/qcoreevent.h which defines None as a QEvent::Type
38 // value.
39 typedef void vtkTDxUnixDeviceDisplay;
40 typedef unsigned int vtkTDxUnixDeviceWindow;
42 
44 {
45 public:
46  static vtkTDxUnixDevice *New();
48  void PrintSelf(ostream& os, vtkIndent indent);
49 
52  vtkTDxUnixDeviceDisplay *GetDisplayId() const;
53 
56  vtkTDxUnixDeviceWindow GetWindowId() const;
57 
60  void SetDisplayId(vtkTDxUnixDeviceDisplay *id);
61 
64  void SetWindowId(vtkTDxUnixDeviceWindow id);
65 
76  void Initialize();
77 
79  virtual void Close();
80 
87  bool ProcessEvent(const vtkTDxUnixDeviceXEvent *e);
88 
90 
92  vtkGetMacro(TranslationScale,double);
93  vtkSetMacro(TranslationScale,double);
95 
97 
99  vtkGetMacro(RotationScale,double);
100  vtkSetMacro(RotationScale,double);
102 
105  void SetSensitivity(double sensitivity);
106 
107 protected:
111 
114  virtual ~vtkTDxUnixDevice();
115 
118 
121 
122 private:
123  vtkTDxUnixDevice(const vtkTDxUnixDevice&); // Not implemented.
124  void operator=(const vtkTDxUnixDevice&); // Not implemented.
125 };
126 
127 #endif
Implementation of vtkTDxDevice on Unix.
virtual void Close()=0
vtkTDxUnixDeviceWindow WindowId
void PrintSelf(ostream &os, vtkIndent indent)
unsigned int vtkTDxUnixDeviceWindow
platform-independent render window interaction including picking and frame rate control.
void vtkTDxUnixDeviceXEvent
a simple class to control print indentation
Definition: vtkIndent.h:38
void vtkTDxUnixDeviceDisplay
#define VTKRENDERINGOPENGL_EXPORT
API to access a 3DConnexion input device.
Definition: vtkTDxDevice.h:36
vtkTDxUnixDeviceDisplay * DisplayId
static vtkObject * New()