VTK
vtkIOSRenderWindowInteractor.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkIOSRenderWindowInteractor.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 =========================================================================*/
28 #ifndef vtkIOSRenderWindowInteractor_h
29 #define vtkIOSRenderWindowInteractor_h
30 
31 #include "vtkRenderingOpenGL2Module.h" // For export macro
33 
35 {
36 public:
39 
41  void PrintSelf(ostream& os, vtkIndent indent);
42 
44  virtual void Initialize();
45 
47 
54  virtual void Enable();
55  virtual void Disable();
57 
62  void TerminateApp();
63 
65 
69  static void SetClassExitMethod(void (*f)(void *), void *arg);
70  static void SetClassExitMethodArgDelete(void (*f)(void *));
72 
75  virtual void ExitCallback();
76 
77 // int GetButtonDown();
78 // void SetButtonDown(int button);
79 
80 protected:
83 
85 
87  void SetTimerDictionary(void *dictionary); // Really an NSMutableDictionary*
88  void *GetTimerDictionary();
90 
92 
95  static void (*ClassExitMethod)(void *);
96  static void (*ClassExitMethodArgDelete)(void *);
97  static void *ClassExitMethodArg;
99 
101 
103  virtual int InternalCreateTimer(int timerId, int timerType, unsigned long duration);
104  virtual int InternalDestroyTimer(int platformTimerId);
106 
110  virtual void StartEventLoop();
111 
113 
115  void SetIOSManager(void *manager);
116  void *GetIOSManager();
118 
119 private:
121  void operator=(const vtkIOSRenderWindowInteractor&); // Not implemented.
122 
123  // Important: this class cannot contain Objective-C instance
124  // variables for 2 reasons:
125  // 1) C++ files include this header
126  // 2) because of garbage collection
127  // Instead, use the IOSManager dictionary to keep a collection
128  // of what would otherwise be Objective-C instance variables.
129  void *IOSManager; // Really an NSMutableDictionary*
130 
131 };
132 
133 #endif
virtual int InternalDestroyTimer(int platformTimerId)
void PrintSelf(ostream &os, vtkIndent indent)
virtual int InternalCreateTimer(int timerId, int timerType, unsigned long duration)
#define VTKRENDERINGOPENGL2_EXPORT
implements IOS specific functions required by vtkRenderWindowInteractor.
virtual void Initialize()
static vtkRenderWindowInteractor * New()
platform-independent render window interaction including picking and frame rate control.
a simple class to control print indentation
Definition: vtkIndent.h:38
virtual void ExitCallback()