13 #ifndef vtkAnariDevice_h
14 #define vtkAnariDevice_h
17 #include "vtkRenderingAnariModule.h"
19 #include <anari/anari_cpp.hpp>
23 VTK_ABI_NAMESPACE_BEGIN
25 class vtkAnariDeviceInternals;
41 void SetAnariDebugConfig(
const char* traceDir,
const char* traceMode);
49 bool SetupAnariDeviceFromLibrary(
50 const char* libraryName,
const char* deviceName,
bool enableDebugLayer =
false);
55 bool AnariInitialized()
const;
60 anari::Device GetHandle()
const;
65 const anari::Extensions& GetAnariDeviceExtensions()
const;
70 const char*
const* GetAnariDeviceExtensionStrings()
const;
85 void SetParameterc(
const char* param,
char*);
86 void SetParameterb(
const char* param,
bool);
87 void SetParameteri(
const char* param,
int);
88 void SetParameter2i(
const char* param,
int,
int);
89 void SetParameter3i(
const char* param,
int,
int,
int);
90 void SetParameter4i(
const char* param,
int,
int,
int,
int);
91 void SetParameterf(
const char* param,
float);
92 void SetParameter2f(
const char* param,
float,
float);
93 void SetParameter3f(
const char* param,
float,
float,
float);
94 void SetParameter4f(
const char* param,
float,
float,
float,
float);
95 void SetParameterd(
const char* param,
double);
96 void CommitParameters();
112 std::vector<std::string> GetAnariRendererSubTypes()
const;
129 vtkAnariDeviceInternals* Internal{
nullptr };
132 VTK_ABI_NAMESPACE_END
abstract base class for most VTK objects
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
a simple class to control print indentation
base class to objects which create + manage a ANARI library + device
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
std::function< void()> OnNewDeviceCallback