VTK  9.7.1
vtkIndependentViewerCollection.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
15 #ifndef vtkIndependentViewerCollection_h
16 #define vtkIndependentViewerCollection_h
17 
18 #include "vtkObject.h"
19 #include "vtkRenderingParallelModule.h" //needed for exports
20 
21 #include <memory> // needed for std::unique_ptr
22 
23 VTK_ABI_NAMESPACE_BEGIN
24 class VTKRENDERINGPARALLEL_EXPORT vtkIndependentViewerCollection : public vtkObject
25 {
26 public:
29  void PrintSelf(ostream& os, vtkIndent indent) override;
30 
31  // API needed by proxy/wrapping infrastructure (due to 'repeat_command="1"')
32 
37  int GetNumberOfEyeTransforms();
38 
43  void SetNumberOfEyeTransforms(int n);
44 
51  void SetEyeTransform(int i, const double* vals);
52 
59  void GetEyeTransform(int i, std::vector<double>& valuesOut);
60 
65  int GetNumberOfEyeSeparations();
66 
71  void SetNumberOfEyeSeparations(int n);
72 
79  void SetEyeSeparation(int i, double separation);
80 
87  double GetEyeSeparation(int i);
88 
89  // Convenience API
90 
98  void SetEyeTransform(int i, const std::vector<double>& vals);
99 
105  int GetNumberOfIndependentViewers();
106 
110  void SetNumberOfIndependentViewers(int n);
111 
112 protected:
114  ~vtkIndependentViewerCollection() override;
115 
116 private:
118  void operator=(const vtkIndependentViewerCollection&) = delete;
119 
120  class vtkInternals;
121  std::unique_ptr<vtkInternals> Internals;
122 };
123 
124 VTK_ABI_NAMESPACE_END
125 #endif
Store data for independent viewers.
abstract base class for most VTK objects
Definition: vtkObject.h:52
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
a simple class to control print indentation
Definition: vtkIndent.h:28
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...