VTK  9.2.5
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=========================================================================*/
25#ifndef vtkOpenVRCamera_h
26#define vtkOpenVRCamera_h
27
28#include "vtkNew.h" // ivars
29#include "vtkRenderingOpenVRModule.h" // For export macro
30#include "vtkVRHMDCamera.h"
31
32class vtkRenderer;
33class vtkMatrix4x4;
34
35class VTKRENDERINGOPENVR_EXPORT vtkOpenVRCamera : public vtkVRHMDCamera
36{
37public:
40
44 void Render(vtkRenderer* ren) override;
45
46protected:
48 ~vtkOpenVRCamera() override;
49
50 // gets the pose and projections for the left and right eyes from
51 // the openvr library
55
56 // all the matrices below are stored in VTK convention
57 // as A = Mx where x is a column vector.
58
59 // we get these from OpenVR
62
63 // used as part of the calculation
65
66private:
67 vtkOpenVRCamera(const vtkOpenVRCamera&) = delete;
68 void operator=(const vtkOpenVRCamera&) = delete;
69};
70
71#endif
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:42
Allocate and hold a VTK object.
Definition: vtkNew.h:62
OpenVR camera.
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:73
A superclass for HMD style cameras.