|
VTK
9.6.20260625
|
a collection of materials for ANARI-based rendering More...
#include <vtkANARIMaterialLibrary.h>
Public Types | |
| typedef vtkRenderMaterialLibrary | Superclass |
Public Types inherited from vtkRenderMaterialLibrary | |
| 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. | |
| vtkANARIMaterialLibrary * | NewInstance () const |
| void | PrintSelf (ostream &os, vtkIndent indent) override |
| Methods invoked by print to print information about the object including superclasses. | |
| void | AddMaterial (const std::string &nickname, const std::string &implname) override |
| Add Material Adds a new material nickname to the set of known materials. | |
| void | AddTexture (const std::string &nickname, const std::string &varname, vtkTexture *tex, const std::string &texturename="unnamedTexture", const std::string &filename="") override |
Add Texture Given a material nickname and a shader variable varname, set its data to a specific texture tex named texturename. | |
| void | AddShaderVariable (const std::string &nickname, const std::string &variablename, int numVars, const double *x) override |
| Add control variable Adds a new control variable validated against the ANARI parameter dictionary. | |
| const std::map< std::string, ParametersMap > & | GetParametersDictionary () const override |
| Get the dictionary of all possible materials based on ANARI documentation. | |
Public Member Functions inherited from vtkRenderMaterialLibrary | |
| 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. | |
| void | RemoveMaterial (const std::string &nickname) |
| Remove a material from the library. | |
| 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 vtkANARIMaterialLibrary * | New () |
| static vtkTypeBool | IsTypeOf (const char *type) |
| static vtkANARIMaterialLibrary * | SafeDownCast (vtkObjectBase *o) |
Static Public Member Functions inherited from vtkRenderMaterialLibrary | |
| 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 |
| bool | ReadTextureFileOrData (const std::string &texFilenameOrData, bool fromfile, const std::string &parentDir, vtkTexture *textr, std::string &textureName, std::string &textureFilename) override |
| Load texture from file or inline XML data. | |
| vtkANARIMaterialLibrary () | |
| ~vtkANARIMaterialLibrary () override | |
| const char * | GetFamilyName () const override |
| const char * | GetAcceptedFamilyName () const override |
Protected Member Functions inherited from vtkRenderMaterialLibrary | |
| 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) |
| 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 | |
| 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 collection of materials for ANARI-based rendering
A singleton instance of this class manages a collection of materials for use with the ANARI renderer. The materials can be read in from disk or created programmatically.
This class extends vtkRenderMaterialLibrary with ANARI-specific material type validation and the ANARI material parameter dictionary. It accepts material files with the "ANARI" family designation.
Definition at line 30 of file vtkANARIMaterialLibrary.h.
Definition at line 35 of file vtkANARIMaterialLibrary.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 vtkRenderMaterialLibrary.
|
static |
|
protectedvirtual |
Reimplemented from vtkRenderMaterialLibrary.
| vtkANARIMaterialLibrary * vtkANARIMaterialLibrary::NewInstance | ( | ) | const |
|
overridevirtual |
Methods invoked by print to print information about the object including superclasses.
Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from vtkObjectBase.
|
overridevirtual |
Add Material Adds a new material nickname to the set of known materials.
The implementation name is validated against the ANARI material dictionary. If the name is a repeat, we replace the old one.
Reimplemented from vtkRenderMaterialLibrary.
|
overridevirtual |
Add Texture Given a material nickname and a shader variable varname, set its data to a specific texture tex named texturename.
The variable name is validated against the ANARI material parameter dictionary.
Replaces any previous content.
Reimplemented from vtkRenderMaterialLibrary.
|
overridevirtual |
Add control variable Adds a new control variable validated against the ANARI parameter dictionary.
Replaces any previous content.
Reimplemented from vtkRenderMaterialLibrary.
|
overridevirtual |
Get the dictionary of all possible materials based on ANARI documentation.
Reimplemented from vtkRenderMaterialLibrary.
|
overrideprotectedvirtual |
Load texture from file or inline XML data.
Implements image loading for ANARI materials.
Reimplemented from vtkRenderMaterialLibrary.
|
inlineoverrideprotectedvirtual |
Reimplemented from vtkRenderMaterialLibrary.
Definition at line 81 of file vtkANARIMaterialLibrary.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from vtkRenderMaterialLibrary.
Definition at line 82 of file vtkANARIMaterialLibrary.h.