VTK  9.4.20250220
vtkAnariPass.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
24#ifndef vtkAnariPass_h
25#define vtkAnariPass_h
26
27#include "vtkNew.h" // For vtkNew
28#include "vtkRenderPass.h"
29#include "vtkRenderingAnariModule.h" // For export macro
30
31#include "vtkAnariDevice.h" // For vtkAnariDevice
32#include "vtkAnariRenderer.h" // For vtkAnariRenderer
33
34VTK_ABI_NAMESPACE_BEGIN
35
36// Forward declarations
37class vtkAnariPassInternals;
39class vtkCameraPass;
41
42class VTKRENDERINGANARI_EXPORT vtkAnariPass : public vtkRenderPass
43{
44public:
45 static vtkAnariPass* New();
47 void PrintSelf(ostream& os, vtkIndent indent) override;
48
52 void Render(const vtkRenderState* s) override;
53
55
58 vtkGetObjectMacro(SceneGraph, vtkAnariSceneGraph);
60
65
72
78
79private:
84
88 ~vtkAnariPass() override;
89
93 void SetSceneGraph(vtkAnariSceneGraph*);
94
95 vtkAnariSceneGraph* SceneGraph = nullptr;
96 vtkNew<vtkCameraPass> CameraPass;
97
98 vtkAnariPass(const vtkAnariPass&) = delete;
99 void operator=(const vtkAnariPass&) = delete;
100
101 friend class vtkAnariPassInternals;
102 vtkAnariPassInternals* Internal = nullptr;
103};
104
105VTK_ABI_NAMESPACE_END
106#endif
base class to objects which create + manage a ANARI library + device
a render pass that uses ANARI (ANAlytic Rendering Interface) instead of OpenGL.
virtual vtkViewNodeFactory * GetViewNodeFactory()
Make the factory available to apps that need to replace object(s) in VTK with their own at runtime (e...
vtkAnariDevice * GetAnariDevice()
Get the managing class of the ANARI device for queries or make changes.
static vtkAnariPass * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkAnariRenderer * GetAnariRenderer()
Get the managing class of the ANARI renderer to query or make changes.
void Render(const vtkRenderState *s) override
Perform rendering according to a render state.
base class to objects which create + manage an ANARI library, device, and renderer
links vtkRenderers to ANARI
Implement the camera render pass.
a simple class to control print indentation
Definition vtkIndent.h:108
Allocate and hold a VTK object.
Definition vtkNew.h:167
Perform part of the rendering of a vtkRenderer.
Context in which a vtkRenderPass will render.
factory that chooses vtkViewNodes to create