vtkSMVRTrackStyleProxy.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-FileCopyrightText: Copyright (c) Sandia Corporation
3 // SPDX-License-Identifier: BSD-3-Clause
14 #ifndef vtkSMVRTrackStyleProxy_h
15 #define vtkSMVRTrackStyleProxy_h
16 
17 #include "vtkNew.h"
18 #include "vtkPVIncubatorCAVEInteractionStylesModule.h" // for export macro
20 
21 class vtkMatrix4x4;
24 class vtkSMProxy;
26 class vtkTransform;
27 
28 struct vtkVREvent;
29 
30 class VTKPVINCUBATORCAVEINTERACTIONSTYLES_EXPORT vtkSMVRTrackStyleProxy
32 {
33 public:
34  static vtkSMVRTrackStyleProxy* New();
36  void PrintSelf(ostream& os, vtkIndent indent) override;
37  int GetControlledPropertySize() override { return 16; }
38 
39  // Overridden to defer expensive calculations and update vtk objects
40  bool Update() override;
41 
42 protected:
44  ~vtkSMVRTrackStyleProxy() override = default;
45  void HandleTracker(const vtkVREvent& event) override;
46 
47 private:
48  vtkSMVRTrackStyleProxy(const vtkSMVRTrackStyleProxy&) = delete; // Not implemented.
49  void operator=(const vtkSMVRTrackStyleProxy&) = delete; // Not implemented.
50 
51  vtkNew<vtkMatrix4x4> TrackerMatrix;
52 };
53 
54 #endif // vtkSMVRTrackStyleProxy_h
the base class for all interactor styles
property representing a vector of integers
int GetControlledPropertySize() override
implementation for View that includes render window and renderers.
property representing a vector of doubles
virtual void HandleTracker(const vtkVREvent &event)
proxy for a VTK object(s) on a server
Definition: vtkSMProxy.h:140
void PrintSelf(ostream &os, vtkIndent indent) override
static vtkSMVRInteractorStyleProxy * New()
interactor style for head tracking
virtual bool Update()
Update() called to update all the remote vtkObjects and perhaps even to render.