vtkCaveSynchronizedRenderers.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
18 #ifndef vtkCaveSynchronizedRenderers_h
19 #define vtkCaveSynchronizedRenderers_h
20 
21 #include "vtkParaViewDeprecation.h" // for PARAVIEW_DEPRECATED_IN_6_1_0
22 #include "vtkRemotingViewsModule.h" //needed for exports
24 
25 #include <array> // For array
26 #include <vector> // For vector
27 
28 class vtkCamera;
29 class vtkMatrix4x4;
30 
32 {
33 public:
36  void PrintSelf(ostream& os, vtkIndent indent) override;
37 
38 protected:
40  ~vtkCaveSynchronizedRenderers() override = default;
41 
46  void HandleStartRender() override;
47 
52  void ProcessCaveConfiguration();
53 
57  void SetNumberOfDisplays(int numberOfDisplays);
58 
62  vtkSetMacro(EyeSeparation, double);
63 
70  bool DefineDisplay(int idx, double origin[3], double x[3], double y[3]);
71 
75  PARAVIEW_DEPRECATED_IN_6_1_0("Use InitializeCamera instead")
76  void ComputeCamera(vtkCamera* cam);
77 
83  void InitializeCamera(vtkCamera* cam);
84 
90  void SetRenderer(vtkRenderer* renderer) override;
91 
92 private:
94  void operator=(const vtkCaveSynchronizedRenderers&) = delete;
95 
96  double EyeSeparation = 0.065;
97  int NumberOfDisplays = 0;
98  std::vector<std::array<double, 12>> Displays;
99  std::array<double, 3> DisplayOrigin = { -0.5, -0.5, -0.5 };
100  std::array<double, 3> DisplayX = { 0.5, -0.5, -0.5 };
101  std::array<double, 3> DisplayY = { 0.5, 0.5, -0.5 };
102  bool CameraInitialized = false;
103 };
104 
105 #endif
#define VTKREMOTINGVIEWS_EXPORT
void PrintSelf(ostream &os, vtkIndent indent)
virtual void HandleStartRender()
vtkSynchronizedRenderers subclass that handles adjusting of camera for cave configurations.
#define PARAVIEW_DEPRECATED_IN_6_1_0(reason)
static vtkSynchronizedRenderers * New()
#define const
Definition: zconf.h:238