VTK  9.3.20240919
vtkAnariCameraNode.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 vtkAnariCameraNode_h
15#define vtkAnariCameraNode_h
16
17#include "vtkCameraNode.h"
18#include "vtkRenderingAnariModule.h" // For export macro
19
20VTK_ABI_NAMESPACE_BEGIN
21
22class vtkAnariCameraNodeInternals;
24class vtkCamera;
25
26class VTKRENDERINGANARI_EXPORT vtkAnariCameraNode : public vtkCameraNode
27{
28public:
31 void PrintSelf(ostream& os, vtkIndent indent) override;
32
36 void Build(bool prepass) override;
40 void Synchronize(bool prepass) override;
44 void Invalidate(bool prepass) override;
45
46protected:
49
50private:
52 void operator=(const vtkAnariCameraNode&) = delete;
53
54 vtkCamera* GetVtkCamera() const;
55 bool CameraWasModified() const;
56
57 void UpdateAnariObjectHandles();
58 void UpdateAnariCameraParameters();
59
60 vtkAnariCameraNodeInternals* Internals{ nullptr };
61};
62
63VTK_ABI_NAMESPACE_END
64#endif
links vtkCamera to ANARI
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void Invalidate(bool prepass) override
Invalidates cached rendering data.
static vtkAnariCameraNode * New()
void Synchronize(bool prepass) override
Sync ANARICamera parameters with vtkCamera.
void Build(bool prepass) override
Ensure the right type of ANARICamera object is being held.
links vtkRenderers to ANARI
vtkViewNode specialized for vtkCameras
a virtual camera for 3D rendering
Definition vtkCamera.h:151
a simple class to control print indentation
Definition vtkIndent.h:108