vtkPVCAVEConfigInformation.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
13 #ifndef vtkPVCAVEConfigInformation_h
14 #define vtkPVCAVEConfigInformation_h
15 
16 #include "vtkPVInformation.h" // for base class
17 #include "vtkTuple.h" // for vtkTuple
18 
19 #include <memory> // for std::unique_ptr
20 
22 
24 {
25 public:
28  void PrintSelf(ostream& os, vtkIndent indent) override;
29 
33  void CopyFromObject(vtkObject*) override;
34 
38  void AddInformation(vtkPVInformation*) override;
39 
41 
44  void CopyToStream(vtkClientServerStream*) override;
45  void CopyFromStream(const vtkClientServerStream*) override;
47 
49 
52  virtual bool GetIsInCAVE();
54 
56 
59  virtual double GetEyeSeparation();
61 
65  virtual bool GetUseOffAxisProjection();
66 
68 
71  virtual int GetNumberOfDisplays();
73 
75 
78  virtual bool GetShowBorders();
80 
82 
85  virtual bool GetFullScreen();
87 
89 
93  virtual const char* GetName(int index);
94 
96 
99  virtual bool GetShow2DOverlays(int index);
101 
103 
106  virtual vtkTuple<int, 4> GetGeometry(int index);
108 
110 
113  virtual bool GetHasCorners(int index);
115 
117 
120  virtual vtkTuple<double, 3> GetLowerLeft(int index);
122 
124 
127  virtual vtkTuple<double, 3> GetLowerRight(int index);
129 
131 
134  virtual vtkTuple<double, 3> GetUpperRight(int index);
136 
138 
141  virtual bool GetStereoEnabled(int index);
143 
145 
148  virtual int GetStereoType(int index);
150 
152 
156  int GetViewerId(int index);
158 
160 
163  int GetNumberOfViewers();
165 
167 
170  int GetId(int viewerIndex);
172 
174 
177  double GetEyeSeparation(int viewerIndex);
179 
180 protected:
182  ~vtkPVCAVEConfigInformation() override;
183 
184 private:
185  class vtkInternals;
186  std::unique_ptr<vtkInternals> Internal;
187 
188  // When adding information, we need to know the rank where the stereo
189  // configs were queried. This is because stereo can now be configured
190  // via pvx or cli, and while all ranks know all other ranks pvx config
191  // state, only each rank knows the cli arguments it was provided.
192  int GetRank();
193 
195  void operator=(const vtkPVCAVEConfigInformation&) = delete;
196 };
197 
198 #endif
virtual void CopyFromStream(const vtkClientServerStream *)
Manage a serialized version of the information.
void PrintSelf(ostream &os, vtkIndent indent) override
Store messages for the interpreter.
void operator=(const vtkPVInformation &)=delete
#define VTKREMOTINGCORE_EXPORT
A vtkClientServerStream serializable container intended to expose the api and information presented b...
virtual void AddInformation(vtkPVInformation *)
Merge another information object.
virtual void CopyToStream(vtkClientServerStream *)=0
Manage a serialized version of the information.
virtual void CopyFromObject(vtkObject *)
Transfer information about a single object into this object.
static vtkObject * New()
Superclass for information objects.