VTK  9.3.20240718
vtkOpenVRCamera.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
14#ifndef vtkOpenVRCamera_h
15#define vtkOpenVRCamera_h
16
17#include "vtkNew.h" // ivars
18#include "vtkRenderingOpenVRModule.h" // For export macro
19#include "vtkVRHMDCamera.h"
20
21VTK_ABI_NAMESPACE_BEGIN
22class vtkRenderer;
23class vtkMatrix4x4;
24
25class VTKRENDERINGOPENVR_EXPORT vtkOpenVRCamera : public vtkVRHMDCamera
26{
27public:
30
34 void Render(vtkRenderer* ren) override;
35
36protected:
38 ~vtkOpenVRCamera() override;
39
40 // gets the pose and projections for the left and right eyes from
41 // the openvr library
45
46 // all the matrices below are stored in VTK convention
47 // as A = Mx where x is a column vector.
48
49 // we get these from OpenVR
52
53 // used as part of the calculation
55
56private:
57 vtkOpenVRCamera(const vtkOpenVRCamera&) = delete;
58 void operator=(const vtkOpenVRCamera&) = delete;
59};
60
61VTK_ABI_NAMESPACE_END
62#endif
represent and manipulate 4x4 transformation matrices
Allocate and hold a VTK object.
Definition vtkNew.h:160
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
A superclass for HMD style cameras.