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 
46  bool Configure(vtkPVXMLElement* child, vtkSMProxyLocator* locator) override;
47 
48 private:
49  vtkSMVRTrackStyleProxy(const vtkSMVRTrackStyleProxy&) = delete; // Not implemented.
50  void operator=(const vtkSMVRTrackStyleProxy&) = delete; // Not implemented.
51 
52  class Internal;
53  std::unique_ptr<Internal> Internals;
54 };
55 
56 #endif // vtkSMVRTrackStyleProxy_h
the base class for all interactor styles
virtual bool Configure(vtkPVXMLElement *child, vtkSMProxyLocator *)
Load state for the style from XML.
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
virtual vtkPVXMLElement * SaveConfiguration()
Save state to xml.
static vtkSMVRInteractorStyleProxy * New()
vtkSMProxyInternals * Internals
Definition: vtkSMProxy.h:1024
This is used by vtkPVXMLParser to represent an XML document starting at the root element.
interactor style for head tracking
virtual bool Update()
Update() called to update all the remote vtkObjects and perhaps even to render.