VTK  9.2.6
vtkOpenVRCamera.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4
5 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
6 All rights reserved.
7 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
8
9 This software is distributed WITHOUT ANY WARRANTY; without even
10 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11 PURPOSE. See the above copyright notice for more information.
12
13=========================================================================*/
21
22#ifndef vtkOpenVRCamera_h
23#define vtkOpenVRCamera_h
24
25#include "vtkNew.h" // ivars
26#include "vtkRenderingOpenVRModule.h" // For export macro
27#include "vtkVRHMDCamera.h"
28
29class vtkRenderer;
30class vtkMatrix4x4;
31
32class VTKRENDERINGOPENVR_EXPORT vtkOpenVRCamera : public vtkVRHMDCamera
33{
34public:
37
41 void Render(vtkRenderer* ren) override;
42
43protected:
45 ~vtkOpenVRCamera() override;
46
47 // gets the pose and projections for the left and right eyes from
48 // the openvr library
52
53 // all the matrices below are stored in VTK convention
54 // as A = Mx where x is a column vector.
55
56 // we get these from OpenVR
59
60 // used as part of the calculation
62
63private:
64 vtkOpenVRCamera(const vtkOpenVRCamera&) = delete;
65 void operator=(const vtkOpenVRCamera&) = delete;
66};
67
68#endif
represent and manipulate 4x4 transformation matrices
Allocate and hold a VTK object.
Definition vtkNew.h:56
void Render(vtkRenderer *ren) override
Implement base class method.
void UpdateEyeToProjectionMatrices(vtkRenderer *) override
vtkNew< vtkMatrix4x4 > HMDToRightEyeMatrix
vtkNew< vtkMatrix4x4 > HMDToLeftEyeMatrix
vtkNew< vtkMatrix4x4 > PhysicalToHMDMatrix
static vtkOpenVRCamera * New()
void UpdateWorldToEyeMatrices(vtkRenderer *) override
void UpdateHMDToEyeMatrices(vtkRenderer *)
~vtkOpenVRCamera() override
abstract specification for renderers
Definition vtkRenderer.h:67