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
12 #ifndef vtkSMVRTrackStyleProxy_h
13 #define vtkSMVRTrackStyleProxy_h
14 
15 #include "vtkNew.h"
16 #include "vtkPVIncubatorCAVEInteractionStylesModule.h" // for export macro
18 
19 #include <memory>
20 
21 struct vtkVREvent;
22 
23 class VTKPVINCUBATORCAVEINTERACTIONSTYLES_EXPORT vtkSMVRTrackStyleProxy
25 {
26 public:
27  static vtkSMVRTrackStyleProxy* New();
29  void PrintSelf(ostream& os, vtkIndent indent) override;
30  int GetControlledPropertySize() override { return 0; }
31  void SetControlledProxy(vtkSMProxy*) override;
32 
33  // Overridden to defer expensive calculations and update vtk objects
34  bool Update() override;
35 
36  // Overridden to query EyeSeparation property value and apply it to the
37  // currently controlled proxy.
38  void UpdateVTKObjects() override;
39 
40 protected:
42  ~vtkSMVRTrackStyleProxy() override = default;
43  void HandleTracker(const vtkVREvent& event) override;
44 
48  bool LoadProxyProperties(vtkPVXMLElement* xml, vtkSMProxyLocator* locator) override;
49 
50 private:
51  vtkSMVRTrackStyleProxy(const vtkSMVRTrackStyleProxy&) = delete; // Not implemented.
52  void operator=(const vtkSMVRTrackStyleProxy&) = delete; // Not implemented.
53 
54  class Internal;
55  std::unique_ptr<Internal> Internals;
56 };
57 
58 #endif // vtkSMVRTrackStyleProxy_h
the base class for all interactor styles
virtual void UpdateVTKObjects()
Update the VTK object on the server by pushing the values of all modified properties (un-modified pro...
int GetControlledPropertySize() override
virtual void HandleTracker(const vtkVREvent &event)
proxy for a VTK object(s) on a server
Definition: vtkSMProxy.h:140
is used to locate proxies referred to in state xmls while loading state files.
virtual void SetControlledProxy(vtkSMProxy *)
void PrintSelf(ostream &os, vtkIndent indent) override
static vtkSMVRInteractorStyleProxy * New()
vtkSMProxyInternals * Internals
Definition: vtkSMProxy.h:1029
This is used by vtkPVXMLParser to represent an XML document starting at the root element.
interactor style for head tracking
virtual bool LoadProxyProperties(vtkPVXMLElement *xml, vtkSMProxyLocator *locator)
Load/Save custom properties from the interactor style in the .pvvr file Can be overriden to use a cus...
virtual bool Update()
Update() called to update all the remote vtkObjects and perhaps even to render.