VTK  9.7.1
vtkZSpaceRenderWindowInteractor.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
16 #ifndef vtkZSpaceRenderWindowInteractor_h
17 #define vtkZSpaceRenderWindowInteractor_h
18 
19 #include "vtkEventData.h" // For vtkEventDataDevice
21 #include "vtkRenderingZSpaceModule.h" // For export macro
22 #include "vtkZSpaceSDKManager.h" // For ButtonIds, ButtonState
23 
24 VTK_ABI_NAMESPACE_BEGIN
25 
26 class VTKRENDERINGZSPACE_EXPORT vtkZSpaceRenderWindowInteractor : public vtkRenderWindowInteractor3D
27 {
28 public:
34  void PrintSelf(ostream& os, vtkIndent indent) override;
35 
40  {
41  StylusButtonEvent = vtkCommand::UserEvent + 6703
42  };
43 
48  virtual void ExitCallback();
49 
54  void ProcessEvents() override;
55 
56  /*
57  * Return the pointer index as a device
58  */
59  vtkEventDataDevice GetPointerDevice();
60 
61 protected:
63  ~vtkZSpaceRenderWindowInteractor() override = default;
64 
69  void StartEventLoop() override;
70 
71 private:
73  void operator=(const vtkZSpaceRenderWindowInteractor&) = delete;
74 
79  void ProcessNextButtonState(
81 
85  void DispatchStylusEvents(vtkZSpaceSDKManager::ButtonIds buttonId,
87 
94  void CallDefaultStylusEvents(vtkZSpaceSDKManager::ButtonIds buttonId,
96 
100  void CallCustomStylusEvent(
102 };
103 
104 VTK_ABI_NAMESPACE_END
105 
106 #endif
Handle zSpace specific interactions.
adds support for 3D events to vtkRenderWindowInteractor.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
CustomEvents
Custom events for zSpace environment.
a simple class to control print indentation
Definition: vtkIndent.h:28
virtual void ExitCallback()
These methods correspond to the Exit, User and Pick callbacks.
virtual void StartEventLoop()
Run the event loop (does not return until TerminateApp is called).
vtkEventDataDevice
platform-independent event data structures
Definition: vtkEventData.h:14
virtual void ProcessEvents()
Process all user-interaction, timer events and return.
static vtkRenderWindowInteractor3D * New()
Construct object so that light follows camera motion.