25 #ifndef vtkOSPRayMaterialLibrary_h 26 #define vtkOSPRayMaterialLibrary_h 29 #include "vtkRenderingRayTracingModule.h" 31 #include <initializer_list> 36 class vtkOSPRayMaterialLibraryInternals;
56 bool ReadFile(
const char* FileName);
61 const char* WriteBuffer();
68 bool ReadBuffer(
const char* Buffer);
73 std::set<std::string> GetMaterialNames();
83 std::vector<std::string> GetDoubleShaderVariableList(
const std::string& nickname);
88 std::vector<double> GetDoubleShaderVariable(
94 std::vector<std::string> GetTextureList(
const std::string& nickname);
130 void RemoveAllTextures(
const std::string& nickname);
137 void AddShaderVariable(
140 const std::initializer_list<double>&
data)
142 this->AddShaderVariable(nickname, variablename, static_cast<int>(
data.size()),
data.begin());
156 void RemoveAllShaderVariables(
const std::string& nickname);
179 static const std::map<std::string, ParametersMap>& GetParametersDictionary();
185 bool InternalParse(
const char*
name,
bool IsFile);
186 bool InternalParseJSON(
const char*
name,
bool IsFile, std::istream* doc);
187 bool InternalParseMTL(
const char*
name,
bool IsFile, std::istream* doc);
193 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...