VTK  9.4.20241117
vtkAnariRenderer.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
15#ifndef vtkAnariRenderer_h
16#define vtkAnariRenderer_h
17
18#include "vtkObject.h"
19#include "vtkRenderingAnariModule.h" // For export macro
20
21#include <anari/anari_cpp.hpp> // for ANARI handles
22
23VTK_ABI_NAMESPACE_BEGIN
24
25class vtkAnariRendererInternals;
26
27class VTKRENDERINGANARI_EXPORT vtkAnariRenderer : public vtkObject
28{
29public:
32 void PrintSelf(ostream& os, vtkIndent indent) override;
33
34 void SetAnariDevice(anari::Device d);
35 anari::Device GetAnariDevice() const;
36
45 void SetSubtype(const char* subtype = "default");
46
51 const char* GetSubtype() const;
52
54
61 void SetParameter(const char* param, bool);
62 void SetParameter(const char* param, int);
63 void SetParameter(const char* param, int, int);
64 void SetParameter(const char* param, int, int, int);
65 void SetParameter(const char* param, int, int, int, int);
66 void SetParameter(const char* param, float);
67 void SetParameter(const char* param, float, float);
68 void SetParameter(const char* param, float, float, float);
69 void SetParameter(const char* param, float, float, float, float);
71
75 anari::Renderer GetHandle() const;
76
77protected:
82
87
88private:
89 void CheckAnariDeviceInitialized();
90
91 vtkAnariRenderer(const vtkAnariRenderer&) = delete;
92 void operator=(const vtkAnariRenderer&) = delete;
93
94 vtkAnariRendererInternals* Internal{ nullptr };
95};
96
97VTK_ABI_NAMESPACE_END
98#endif
base class to objects which create + manage an ANARI library, device, and renderer
anari::Device GetAnariDevice() const
void SetParameter(const char *param, int, int, int, int)
static vtkAnariRenderer * New()
const char * GetSubtype() const
Get the subtype of the current underlying anari::Renderer.
void SetParameter(const char *param, float, float, float)
void SetParameter(const char *param, int)
void SetAnariDevice(anari::Device d)
void SetParameter(const char *param, float)
void SetParameter(const char *param, float, float, float, float)
vtkAnariRenderer()
Default constructor.
void SetSubtype(const char *subtype="default")
Set the underlying subtype of the anari::Renderer.
virtual ~vtkAnariRenderer()
Destructor.
void SetParameter(const char *param, int, int, int)
void SetParameter(const char *param, float, float)
anari::Renderer GetHandle() const
Get the current ANARI renderer, which will be NULL if not yet setup.
void SetParameter(const char *param, bool)
Methods to set/commit generic parameteters on the underlying anari::Renderer object.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetParameter(const char *param, int, int)
a simple class to control print indentation
Definition vtkIndent.h:108
abstract base class for most VTK objects
Definition vtkObject.h:162