13#ifndef vtkAnariDevice_h
14#define vtkAnariDevice_h
17#include "vtkRenderingAnariModule.h"
19#include <anari/anari_cpp.hpp>
23VTK_ABI_NAMESPACE_BEGIN
25class vtkAnariDeviceInternals;
50 const char* libraryName,
const char* deviceName,
bool enableDebugLayer =
false);
114 vtkAnariDeviceInternals* Internal{
nullptr };
base class to objects which create + manage a ANARI library + device
anari::Device GetHandle() const
Get the current ANARI device, which will be NULL if not yet setup.
void SetParameterb(const char *param, bool)
bool SetupAnariDeviceFromLibrary(const char *libraryName, const char *deviceName, bool enableDebugLayer=false)
Initialize this vtkAnariDevice from the name of an anari::Library and anari::Device to be loaded.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static vtkAnariDevice * New()
vtkAnariDevice()
Default constructor.
void SetParameter4f(const char *param, float, float, float, float)
bool AnariInitialized() const
Check if ANARI has been initialized with SetupAnariDeviceFromLibrary.
void SetParameter3f(const char *param, float, float, float)
void SetParameterf(const char *param, float)
void SetParameter2f(const char *param, float, float)
void SetParameterd(const char *param, double)
void SetParameter4i(const char *param, int, int, int, int)
void SetAnariDebugConfig(const char *traceDir, const char *traceMode)
Setup the trace directory and trace mode strings for the debug device for when SetupAnariDeviceFromLi...
void SetParameter3i(const char *param, int, int, int)
std::function< void(anari::Device)> OnNewDeviceCallback
virtual ~vtkAnariDevice()
Destructor.
const anari::Extensions & GetAnariDeviceExtensions() const
Get the current ANARI device extensions, which will be empty if not yet setup.
const char *const * GetAnariDeviceExtensionStrings() const
Get the current ANARI device extensions as list of strings.
void SetOnNewDeviceCallback(OnNewDeviceCallback &&cb)
Set a callback that gets called whenever a new device has been created.
void SetParameterc(const char *param, char *)
Methods to set/commit generic parameteters on the underlying anari::Renderer object.
void SetParameteri(const char *param, int)
void SetParameter2i(const char *param, int, int)
a simple class to control print indentation
abstract base class for most VTK objects