25 #ifndef vtkOSPRayMaterialLibrary_h 26 #define vtkOSPRayMaterialLibrary_h 28 #include "vtkRenderingOSPRayModule.h" 31 #include <initializer_list> 35 class vtkOSPRayMaterialLibraryInternals;
55 bool ReadFile(
const char*FileName);
60 const char *WriteBuffer();
67 bool ReadBuffer(
const char*Buffer);
72 std::set<std::string> GetMaterialNames();
107 void AddShaderVariable(
const std::string& nickname,
109 int numVars,
const double *x);
112 const std::initializer_list<double>&
data)
114 this->AddShaderVariable(nickname, variablename,
115 static_cast<int>(
data.size()),
data.begin());
124 bool InternalParse(
const char *
name,
bool IsFile);
125 bool InternalParseJSON(
const char *
name,
bool IsFile, std::istream *doc);
126 bool InternalParseMTL(
const char *
name,
bool IsFile, std::istream *doc);
132 vtkOSPRayMaterialLibraryInternals *Internal;
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 collection of materials for vtk apps to draw from
a simple class to control print indentation
handles properties associated with a texture map
void AddShaderVariable(const std::string &nickname, const std::string &variablename, const std::initializer_list< double > &data)
Add control variable Adds a new control variable.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.