VTK  9.6.20260415
vtkVRRenderer.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
15#ifndef vtkVRRenderer_h
16#define vtkVRRenderer_h
17
18#include "vtkNew.h" // for ivar
19#include "vtkOpenGLRenderer.h"
20#include "vtkRenderingVRModule.h" // For export macro
21#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
22
23VTK_ABI_NAMESPACE_BEGIN
24class vtkActor;
25
26class VTKRENDERINGVR_EXPORT VTK_MARSHALAUTO vtkVRRenderer : public vtkOpenGLRenderer
27{
28public:
30 void PrintSelf(ostream& os, vtkIndent indent) override;
31
33
43 void ResetCamera(const double bounds[6]) override;
44
46
48
51 void ResetCameraClippingRange() override;
52 void ResetCameraClippingRange(const double bounds[6]) override;
54
59
63 virtual void GetFloorTransform(vtkTransform* transform);
64
68 void DeviceRender() override;
69
71
76 virtual void SetShowFloor(bool value);
78 vtkGetMacro(ShowFloor, bool);
80
82
86 virtual void SetShowLeftMarker(bool value);
87 vtkGetMacro(ShowLeftMarker, bool);
89
91
95 virtual void SetShowRightMarker(bool value);
96 vtkGetMacro(ShowRightMarker, bool);
98
99protected:
101 ~vtkVRRenderer() override = default;
102
104 bool ShowFloor = false;
105
106private:
107 vtkVRRenderer(const vtkVRRenderer&) = delete;
108 void operator=(const vtkVRRenderer&) = delete;
109
110 vtkNew<vtkActor> LeftMarkerActor;
111 vtkNew<vtkActor> RightMarkerActor;
112 bool ShowLeftMarker = false;
113 bool ShowRightMarker = false;
114};
115
116VTK_ABI_NAMESPACE_END
117#endif
represents an object (geometry & properties) in a rendered scene
Definition vtkActor.h:151
a virtual camera for 3D rendering
Definition vtkCamera.h:151
a simple class to control print indentation
Definition vtkIndent.h:108
Allocate and hold a VTK object.
Definition vtkNew.h:168
virtual void ResetCameraClippingRange()
Reset the camera clipping range based on the bounds of the visible actors.
virtual bool ResetCamera()
Automatically set up the camera based on the visible actors.
describes linear transformations via a 4x4 matrix
virtual void SetShowRightMarker(bool value)
Set/get whether to display a white cross marker at the tip of the right controller.
void DeviceRender() override
Render the floor using GetFloorTransform.
vtkNew< vtkActor > FloorActor
vtkCamera * MakeCamera() override=0
Abstract function that creates a new Camera suitable for use with this type of Renderer.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void ResetCameraClippingRange(const double bounds[6]) override
Reset the camera clipping range based on a bounding box.
virtual void GetFloorTransform(vtkTransform *transform)
Store in transform the floor transform.
virtual void SetShowLeftMarker(bool value)
Set/get whether to display a white cross marker at the tip of the left controller.
void ResetCamera(const double bounds[6]) override
Automatically set up the camera based on a specified bounding box (xmin,xmax, ymin,...
void ResetCameraClippingRange() override
Reset the camera clipping range based on a bounding box.
virtual void SetShowFloor(bool value)
Set/get whether to show a white floor corresponding to the physical floor.
#define VTK_MARSHAL_EXCLUDE_REASON_NOT_SUPPORTED
#define VTK_MARSHALAUTO
#define VTK_MARSHALEXCLUDE(reason)
#define VTK_NEWINSTANCE