28 #ifndef vtkOSPRayMaterialLibrary_h
29 #define vtkOSPRayMaterialLibrary_h
32 #include "vtkRenderingRayTracingModule.h"
34 #include <initializer_list>
40 class vtkOSPRayMaterialLibraryInternals;
61 bool ReadFile(
const char* FileName);
69 const char* WriteBuffer(
bool writeImageInline =
true);
77 void WriteFile(
const std::string& filename,
bool writeImageInline =
false);
84 bool ReadBuffer(
const char* Buffer);
89 std::set<std::string> GetMaterialNames();
99 std::vector<std::string> GetDoubleShaderVariableList(
const std::string& nickname);
104 std::vector<double> GetDoubleShaderVariable(
110 std::vector<std::string> GetTextureList(
const std::string& nickname);
171 void RemoveAllTextures(
const std::string& nickname);
178 void AddShaderVariable(
181 const std::initializer_list<double>&
data)
183 this->AddShaderVariable(nickname, variablename, static_cast<int>(data.size()), data.begin());
197 void RemoveAllShaderVariables(
const std::string& nickname);
220 static const std::map<std::string, ParametersMap>& GetParametersDictionary();
226 bool InternalParse(
const char*
name,
bool IsFile);
227 bool InternalParseJSON(
const char*
name,
bool IsFile, std::istream* doc);
228 bool InternalParseMTL(
const char*
name,
bool IsFile, std::istream* doc);
229 bool ReadTextureFileOrData(
const std::string& texFilenameOrData,
bool fromfile,
237 vtkOSPRayMaterialLibraryInternals* Internal;
ParameterType
Lists all different parameter types.
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.
std::map< std::string, ParameterType > ParametersMap
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...