|
VTK
9.6.20260625
|
a renderer-agnostic collection of materials for VTK apps to draw from More...
#include <vtkRenderMaterialLibrary.h>
Public Types | |
| enum class | ParameterType { FLOAT , FLOAT_DATA , COLOR_RGB , COLOR_RGBA , VEC2 , VEC3 , VEC4 , BOOLEAN , INT , TEXTURE , NORMALIZED_FLOAT } |
| typedef vtkObject | Superclass |
| using | ParametersMap = std::map<std::string, ParameterType> |
Public Member Functions | |
| virtual vtkTypeBool | IsA (const char *type) |
| Return 1 if this class is the same type of (or a subclass of) the named class. | |
| vtkRenderMaterialLibrary * | NewInstance () const |
| void | PrintSelf (ostream &os, vtkIndent indent) override |
| Methods invoked by print to print information about the object including superclasses. | |
| bool | ReadFile (const char *FileName) |
| Read a material file from disk. | |
| bool | ReadBuffer (const char *Buffer) |
| Parse material data from a buffer in memory. | |
| const std::set< std::string > & | GetMaterialNames () const |
| Get the set of all material nicknames currently in the library. | |
| std::string | LookupImplName (const std::string &nickname) const |
| Look up the implementation name for a material nickname. | |
| std::vector< std::string > | GetDoubleShaderVariableList (const std::string &nickname) const |
| Get the list of double-valued shader variables for a material. | |
| virtual std::vector< double > | GetDoubleShaderVariable (const std::string &nickname, const std::string &varname) const |
| Get the value of a double shader variable for a material. | |
| std::vector< std::string > | GetTextureList (const std::string &nickname) const |
| Get the list of texture variables for a material. | |
| vtkTexture * | GetTexture (const std::string &nickname, const std::string &varname) const |
| Get a texture object for a material variable. | |
| virtual const TextureInfo * | GetTextureInfo (const std::string &nickname, const std::string &varname) const |
| Get texture information for a material variable. | |
| std::string | GetTextureName (const std::string &nickname, const std::string &varname) const |
| Get the registered name of a texture variable. | |
| std::string | GetTextureFilename (const std::string &nickname, const std::string &varname) const |
| Get the filename path of a texture variable. | |
| virtual void | AddMaterial (const std::string &nickname, const std::string &implname) |
| Add a new material to the library or replace an existing one. | |
| void | RemoveMaterial (const std::string &nickname) |
| Remove a material from the library. | |
| virtual void | AddTexture (const std::string &nickname, const std::string &varname, vtkTexture *tex, const std::string &texturename="unnamedTexture", const std::string &filename="") |
| Add a texture to a material. | |
| virtual void | AddShaderVariable (const std::string &nickname, const std::string &variablename, int numVars, const double *x) |
| Add a shader variable to a material. | |
| void | AddShaderVariable (const std::string &nickname, const std::string &variablename, const std::initializer_list< double > &data) |
| Add a shader variable from an initializer list of doubles. | |
| void | RemoveShaderVariable (const std::string &nickname, const std::string &variablename) |
| Remove a shader variable from a material. | |
| void | RemoveAllShaderVariables (const std::string &nickname) |
| Remove all shader variables from a material. | |
| void | RemoveTexture (const std::string &nickname, const std::string &varname) |
| Remove a texture from a material. | |
| void | RemoveAllTextures (const std::string &nickname) |
| Remove all textures from a material. | |
| const char * | WriteBuffer (bool writeImageInline=true) |
| Write the material library to a string buffer. | |
| void | WriteFile (const std::string &filename, bool writeImageInline=false) |
| Write the material library to a file on disk. | |
Public Member Functions inherited from vtkObject | |
| vtkBaseTypeMacro (vtkObject, vtkObjectBase) | |
| virtual void | DebugOn () |
| Turn debugging output on. | |
| virtual void | DebugOff () |
| Turn debugging output off. | |
| bool | GetDebug () |
| Get the value of the debug flag. | |
| void | SetDebug (bool debugFlag) |
| Set the value of the debug flag. | |
| virtual void | Modified () |
| Update the modification time for this object. | |
| virtual vtkMTimeType | GetMTime () |
| Return this object's modified time. | |
| void | RemoveObserver (unsigned long tag) |
| void | RemoveObservers (unsigned long event) |
| void | RemoveObservers (const char *event) |
| void | RemoveAllObservers () |
| vtkTypeBool | HasObserver (unsigned long event) |
| vtkTypeBool | HasObserver (const char *event) |
| vtkTypeBool | InvokeEvent (unsigned long event) |
| vtkTypeBool | InvokeEvent (const char *event) |
| std::string | GetObjectDescription () const override |
| The object description printed in messages and PrintSelf output. | |
| unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
| unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
| vtkCommand * | GetCommand (unsigned long tag) |
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
| void | RemoveObserver (vtkCommand *) |
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
| void | RemoveObservers (unsigned long event, vtkCommand *) |
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
| void | RemoveObservers (const char *event, vtkCommand *) |
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
| vtkTypeBool | HasObserver (unsigned long event, vtkCommand *) |
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
| vtkTypeBool | HasObserver (const char *event, vtkCommand *) |
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
| template<class U, class T> | |
| unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
| Overloads to AddObserver that allow developers to add class member functions as callbacks for events. | |
| template<class U, class T> | |
| unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
| Overloads to AddObserver that allow developers to add class member functions as callbacks for events. | |
| template<class U, class T> | |
| unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
| Allow user to set the AbortFlagOn() with the return value of the callback method. | |
| vtkTypeBool | InvokeEvent (unsigned long event, void *callData) |
| This method invokes an event and return whether the event was aborted or not. | |
| vtkTypeBool | InvokeEvent (const char *event, void *callData) |
| This method invokes an event and return whether the event was aborted or not. | |
| virtual void | SetObjectName (const std::string &objectName) |
| Set/get the name of this object for reporting purposes. | |
| virtual std::string | GetObjectName () const |
| Set/get the name of this object for reporting purposes. | |
Public Member Functions inherited from vtkObjectBase | |
| const char * | GetClassName () const |
| Return the class name as a string. | |
| virtual vtkIdType | GetNumberOfGenerationsFromBase (const char *name) |
| Given the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). | |
| virtual void | Delete () |
| Delete a VTK object. | |
| virtual void | FastDelete () |
| Delete a reference to this object. | |
| void | InitializeObjectBase () |
| void | Print (ostream &os) |
| Print an object to an ostream. | |
| void | Register (vtkObjectBase *o) |
| Increase the reference count (mark as used by another object). | |
| virtual void | UnRegister (vtkObjectBase *o) |
| Decrease the reference count (release by another object). | |
| int | GetReferenceCount () |
| Return the current reference count of this object. | |
| void | SetReferenceCount (int) |
| Sets the reference count. | |
| bool | GetIsInMemkind () const |
| A local state flag that remembers whether this object lives in the normal or extended memory space. | |
| virtual void | PrintHeader (ostream &os, vtkIndent indent) |
| Methods invoked by print to print information about the object including superclasses. | |
| virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
| Methods invoked by print to print information about the object including superclasses. | |
| virtual bool | UsesGarbageCollector () const |
Indicate whether the class uses vtkGarbageCollector or not. | |
Static Public Member Functions | |
| static vtkRenderMaterialLibrary * | New () |
| static vtkTypeBool | IsTypeOf (const char *type) |
| static vtkRenderMaterialLibrary * | SafeDownCast (vtkObjectBase *o) |
Static Public Member Functions inherited from vtkObject | |
| static vtkObject * | New () |
| Create an object with Debug turned off, modified time initialized to zero, and reference counting on. | |
| static void | BreakOnError () |
| This method is called when vtkErrorMacro executes. | |
| static void | SetGlobalWarningDisplay (vtkTypeBool val) |
| This is a global flag that controls whether any debug, warning or error messages are displayed. | |
| static void | GlobalWarningDisplayOn () |
| This is a global flag that controls whether any debug, warning or error messages are displayed. | |
| static void | GlobalWarningDisplayOff () |
| This is a global flag that controls whether any debug, warning or error messages are displayed. | |
| static vtkTypeBool | GetGlobalWarningDisplay () |
| This is a global flag that controls whether any debug, warning or error messages are displayed. | |
Static Public Member Functions inherited from vtkObjectBase | |
| static vtkTypeBool | IsTypeOf (const char *name) |
| Return 1 if this class type is the same type of (or a subclass of) the named class. | |
| static vtkIdType | GetNumberOfGenerationsFromBaseType (const char *name) |
| Given a the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). | |
| static vtkObjectBase * | New () |
| Create an object with Debug turned off, modified time initialized to zero, and reference counting on. | |
| static void | SetMemkindDirectory (const char *directoryname) |
| The name of a directory, ideally mounted -o dax, to memory map an extended memory space within. | |
| static bool | GetUsingMemkind () |
| A global state flag that controls whether vtkObjects are constructed in the usual way (the default) or within the extended memory space. | |
Protected Member Functions | |
| virtual vtkObjectBase * | NewInstanceInternal () const |
| virtual bool | ReadTextureFileOrData (const std::string &texFilenameOrData, bool fromfile, const std::string &parentDir, vtkTexture *textr, std::string &textureName, std::string &textureFilename) |
| Load texture from file or inline data. | |
| bool | InternalParse (const char *filename, bool fromfile) |
| virtual bool | InternalParseJSON (const char *filename, bool fromfile, std::istream *doc) |
| bool | InternalParseMTL (const char *filename, bool fromfile, std::istream *doc) |
| virtual const std::map< std::string, ParametersMap > & | GetParametersDictionary () const |
| std::string | FilePathToTextureName (const std::string &path) |
| Convert a file path to a texture name by extracting the filename without extension. | |
| std::string | Trim (const std::string &s) |
| Remove leading and trailing whitespace from a string. | |
| vtkRenderMaterialLibrary () | |
| ~vtkRenderMaterialLibrary () override | |
| virtual const char * | GetFamilyName () const |
| virtual const char * | GetAcceptedFamilyName () const |
| std::string | InternalGetImplName (const std::string &nickname) const |
Protected Member Functions inherited from vtkObject | |
| vtkObject () | |
| ~vtkObject () override | |
| void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
| void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
| void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr) |
| These methods allow a command to exclusively grab all events. | |
| void | InternalReleaseFocus () |
| These methods allow a command to exclusively grab all events. | |
Protected Member Functions inherited from vtkObjectBase | |
| vtkObjectBase () | |
| virtual | ~vtkObjectBase () |
| virtual void | ReportReferences (vtkGarbageCollector *) |
| vtkObjectBase (const vtkObjectBase &) | |
| void | operator= (const vtkObjectBase &) |
Additional Inherited Members | |
Static Protected Member Functions inherited from vtkObjectBase | |
| static vtkMallocingFunction | GetCurrentMallocFunction () |
| static vtkReallocingFunction | GetCurrentReallocFunction () |
| static vtkFreeingFunction | GetCurrentFreeFunction () |
| static vtkFreeingFunction | GetAlternateFreeFunction () |
Protected Attributes inherited from vtkObject | |
| bool | Debug |
| vtkTimeStamp | MTime |
| vtkSubjectHelper * | SubjectHelper |
| std::string | ObjectName |
Protected Attributes inherited from vtkObjectBase | |
| std::atomic< int32_t > | ReferenceCount |
| vtkWeakPointerBase ** | WeakPointers |
a renderer-agnostic collection of materials for VTK apps to draw from
Definition at line 27 of file vtkRenderMaterialLibrary.h.
Definition at line 31 of file vtkRenderMaterialLibrary.h.
| using vtkRenderMaterialLibrary::ParametersMap = std::map<std::string, ParameterType> |
Definition at line 49 of file vtkRenderMaterialLibrary.h.
|
strong |
| Enumerator | |
|---|---|
| FLOAT | |
| FLOAT_DATA | |
| COLOR_RGB | |
| COLOR_RGBA | |
| VEC2 | |
| VEC3 | |
| VEC4 | |
| BOOLEAN | |
| INT | |
| TEXTURE | |
| NORMALIZED_FLOAT | |
Definition at line 34 of file vtkRenderMaterialLibrary.h.
|
protected |
|
overrideprotected |
|
static |
|
static |
|
virtual |
Return 1 if this class is the same type of (or a subclass of) the named class.
Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkObjectBase.
Reimplemented in vtkANARIMaterialLibrary, and vtkOSPRayMaterialLibrary.
|
static |
|
protectedvirtual |
Reimplemented in vtkANARIMaterialLibrary, and vtkOSPRayMaterialLibrary.
| vtkRenderMaterialLibrary * vtkRenderMaterialLibrary::NewInstance | ( | ) | const |
|
overridevirtual |
| bool vtkRenderMaterialLibrary::ReadFile | ( | const char * | FileName | ) |
Read a material file from disk.
Supports JSON and OBJ/MTL file formats.
| FileName | Path to the material file to read |
| bool vtkRenderMaterialLibrary::ReadBuffer | ( | const char * | Buffer | ) |
Parse material data from a buffer in memory.
| Buffer | String containing material data (JSON or MTL format) |
| const std::set< std::string > & vtkRenderMaterialLibrary::GetMaterialNames | ( | ) | const |
Get the set of all material nicknames currently in the library.
| std::string vtkRenderMaterialLibrary::LookupImplName | ( | const std::string & | nickname | ) | const |
Look up the implementation name for a material nickname.
The implementation name indicates the underlying material type (e.g., "glass", "metal").
| nickname | The user-facing material name |
| std::vector< std::string > vtkRenderMaterialLibrary::GetDoubleShaderVariableList | ( | const std::string & | nickname | ) | const |
Get the list of double-valued shader variables for a material.
| nickname | The material to query |
|
virtual |
Get the value of a double shader variable for a material.
| nickname | The material to query |
| varname | The variable name to retrieve |
Reimplemented in vtkOSPRayMaterialLibrary.
| std::vector< std::string > vtkRenderMaterialLibrary::GetTextureList | ( | const std::string & | nickname | ) | const |
Get the list of texture variables for a material.
| nickname | The material to query |
| vtkTexture * vtkRenderMaterialLibrary::GetTexture | ( | const std::string & | nickname, |
| const std::string & | varname ) const |
Get a texture object for a material variable.
| nickname | The material to query |
| varname | The texture variable name |
|
virtual |
Get texture information for a material variable.
| nickname | The material to query |
| varname | The texture variable name |
Reimplemented in vtkOSPRayMaterialLibrary.
| std::string vtkRenderMaterialLibrary::GetTextureName | ( | const std::string & | nickname, |
| const std::string & | varname ) const |
Get the registered name of a texture variable.
| nickname | The material to query |
| varname | The texture variable name |
| std::string vtkRenderMaterialLibrary::GetTextureFilename | ( | const std::string & | nickname, |
| const std::string & | varname ) const |
Get the filename path of a texture variable.
| nickname | The material to query |
| varname | The texture variable name |
|
virtual |
Add a new material to the library or replace an existing one.
Subclasses may override to add validation logic.
| nickname | User-facing name for the material |
| implname | Implementation/type name of the material |
Reimplemented in vtkANARIMaterialLibrary, and vtkOSPRayMaterialLibrary.
| void vtkRenderMaterialLibrary::RemoveMaterial | ( | const std::string & | nickname | ) |
Remove a material from the library.
Also removes all associated textures and shader variables.
| nickname | The material to remove |
|
virtual |
Add a texture to a material.
Subclasses may override to add validation logic.
| nickname | The material to modify |
| varname | The texture variable name |
| tex | The texture object to add |
| texturename | Optional name for the texture |
| filename | Optional filename path for the texture |
Reimplemented in vtkANARIMaterialLibrary, and vtkOSPRayMaterialLibrary.
|
virtual |
Add a shader variable to a material.
Subclasses may override to add validation logic.
| nickname | The material to modify |
| variablename | The shader variable name |
| numVars | Number of values in the variable |
| x | Array of double values for the variable |
Reimplemented in vtkANARIMaterialLibrary, and vtkOSPRayMaterialLibrary.
|
inline |
Add a shader variable from an initializer list of doubles.
Convenience overload that forwards to AddShaderVariable(string, string, int, const double*).
| nickname | The material to modify |
| variablename | The shader variable name |
| data | Initializer list of double values |
Definition at line 181 of file vtkRenderMaterialLibrary.h.
| void vtkRenderMaterialLibrary::RemoveShaderVariable | ( | const std::string & | nickname, |
| const std::string & | variablename ) |
Remove a shader variable from a material.
| nickname | The material to modify |
| variablename | The shader variable to remove |
| void vtkRenderMaterialLibrary::RemoveAllShaderVariables | ( | const std::string & | nickname | ) |
Remove all shader variables from a material.
| nickname | The material to modify |
| void vtkRenderMaterialLibrary::RemoveTexture | ( | const std::string & | nickname, |
| const std::string & | varname ) |
Remove a texture from a material.
| nickname | The material to modify |
| varname | The texture variable to remove |
| void vtkRenderMaterialLibrary::RemoveAllTextures | ( | const std::string & | nickname | ) |
Remove all textures from a material.
| nickname | The material to modify |
| const char * vtkRenderMaterialLibrary::WriteBuffer | ( | bool | writeImageInline = true | ) |
Write the material library to a string buffer.
| writeImageInline | If true, embed image data inline in the output; if false, use file references |
| void vtkRenderMaterialLibrary::WriteFile | ( | const std::string & | filename, |
| bool | writeImageInline = false ) |
Write the material library to a file on disk.
| filename | Path to write the material file to |
| writeImageInline | If true, embed image data inline in the output; if false, use file references |
|
protectedvirtual |
Load texture from file or inline data.
Subclasses may override for custom texture loading.
| texFilenameOrData | Path to file or inline XML/binary data |
| fromfile | True if texFilenameOrData is a file path |
| parentDir | Parent directory for relative paths |
| textr | Texture object to populate |
| textureName | Output: name of the texture |
| textureFilename | Output: full path to texture file |
Reimplemented in vtkANARIMaterialLibrary, and vtkOSPRayMaterialLibrary.
|
protected |
|
protectedvirtual |
Reimplemented in vtkOSPRayMaterialLibrary.
|
protected |
|
protectedvirtual |
Reimplemented in vtkANARIMaterialLibrary, and vtkOSPRayMaterialLibrary.
|
protected |
Convert a file path to a texture name by extracting the filename without extension.
| path | File path to convert |
|
protected |
Remove leading and trailing whitespace from a string.
| s | Input string |
|
inlineprotectedvirtual |
Reimplemented in vtkANARIMaterialLibrary, and vtkOSPRayMaterialLibrary.
Definition at line 267 of file vtkRenderMaterialLibrary.h.
|
inlineprotectedvirtual |
Reimplemented in vtkANARIMaterialLibrary, and vtkOSPRayMaterialLibrary.
Definition at line 268 of file vtkRenderMaterialLibrary.h.
|
protected |