VTK  9.7.1
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 
20 VTK_ABI_NAMESPACE_BEGIN
21 
22 struct vtkAnariCameraNodeInternals;
23 class vtkAnariSceneGraph;
24 class vtkCamera;
25 
26 class VTKRENDERINGANARI_EXPORT vtkAnariCameraNode : public vtkCameraNode
27 {
28 public:
29  static vtkAnariCameraNode* New();
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 
46 protected:
48  ~vtkAnariCameraNode() override;
49 
50 private:
51  vtkAnariCameraNode(const vtkAnariCameraNode&) = delete;
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 
63 VTK_ABI_NAMESPACE_END
64 #endif
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void Build(bool)
Builds myself.
Definition: vtkViewNode.h:46
virtual void Synchronize(bool)
Ensures that my state agrees with my Renderable's.
Definition: vtkViewNode.h:51
links vtkCamera to ANARI
a simple class to control print indentation
Definition: vtkIndent.h:28
a virtual camera for 3D rendering
Definition: vtkCamera.h:41
static vtkCameraNode * New()
vtkViewNode specialized for vtkCameras
Definition: vtkCameraNode.h:20
virtual void Invalidate(bool)
Clear any cached data.
Definition: vtkViewNode.h:61
links vtkRenderers to ANARI