This interface represents a material instance. More...
#include <imaterial_instance.h>

Public Types | |
| enum | Compilation_options : Uint32 { DEFAULT_OPTIONS = 0 , CLASS_COMPILATION = 1 } |
| Various options for the creation of compiled materials. More... | |
Public Types inherited from mi::base::Interface_declare< 0x037ec156, ... > | |
| using | Self = Interface_declare< id1, ... > |
| Own type. More... | |
| using | IID = Uuid_t< id1, ... > |
| Declares the interface ID (IID) of this interface. More... | |
Public Types inherited from mi::base::Interface_declare< 0x8a2a4da9, ... > | |
| using | Self = Interface_declare< id1, ... > |
| Own type. More... | |
| using | IID = Uuid_t< id1, ... > |
| Declares the interface ID (IID) of this interface. More... | |
Public Types inherited from mi::base::Interface_declare< 0x1bcb8d48, ... > | |
| using | Self = Interface_declare< id1, ... > |
| Own type. More... | |
| using | IID = Uuid_t< id1, ... > |
| Declares the interface ID (IID) of this interface. More... | |
Public Types inherited from mi::base::IInterface | |
| using | IID = Uuid_t<0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0> |
| Declares the interface ID (IID) of this interface. More... | |
Public Member Functions | |
| virtual ICompiled_material * | create_compiled_material (Uint32 flags, IMdl_execution_context *context=nullptr) const =0 |
| Creates a compiled material. More... | |
Public Member Functions inherited from mi::neuraylib::IScene_element | |
| virtual Element_type | get_element_type () const =0 |
| Indicates the actual scene element represented by interfaces derived from this interface. More... | |
Public Member Functions inherited from mi::neuraylib::IAttribute_set | |
| virtual IData * | create_attribute (const char *name, const char *type)=0 |
Creates a new attribute name of the type type. More... | |
| template<class T> | |
| T * | create_attribute (const char *name, const char *type) |
Creates a new attribute name of the type type. More... | |
| template<class T> | |
| T * | create_attribute (const char *name) |
Creates a new attribute name of the type T. More... | |
| virtual bool | destroy_attribute (const char *name)=0 |
Destroys the attribute name. More... | |
| virtual const IData * | access_attribute (const char *name) const =0 |
Returns a const pointer to the attribute name. More... | |
| template<class T> | |
| const T * | access_attribute (const char *name) const |
Returns a const pointer to the attribute name. More... | |
| virtual IData * | edit_attribute (const char *name)=0 |
Returns a mutable pointer to the attribute name. More... | |
| template<class T> | |
| T * | edit_attribute (const char *name) |
Returns a mutable pointer to the attribute name. More... | |
| virtual bool | is_attribute (const char *name) const =0 |
| Indicates existence of an attribute. More... | |
| virtual const char * | get_attribute_type_name (const char *name) const =0 |
| Returns the type of an attribute. More... | |
| virtual Sint32 | set_attribute_propagation (const char *name, Propagation_type value)=0 |
Sets the propagation type of the attribute name. More... | |
| virtual Propagation_type | get_attribute_propagation (const char *name) const =0 |
Returns the propagation type of the attribute name. More... | |
| virtual const char * | enumerate_attributes (Sint32 index) const =0 |
Returns the name of the attribute indicated by index. More... | |
Public Member Functions inherited from mi::base::IInterface | |
| virtual Uint32 | retain () const =0 |
| Increments the reference count. More... | |
| virtual Uint32 | release () const =0 |
| Decrements the reference count. More... | |
| virtual const IInterface * | get_interface (const Uuid &interface_id) const =0 |
| Acquires a const interface from another. More... | |
| template<class T> | |
| const T * | get_interface () const |
| Acquires a const interface from another. More... | |
| virtual IInterface * | get_interface (const Uuid &interface_id)=0 |
| Acquires a mutable interface from another. More... | |
| template<class T> | |
| T * | get_interface () |
| Acquires a mutable interface from another. More... | |
| virtual Uuid | get_iid () const =0 |
| Returns the interface ID of the most derived interface. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from mi::base::Interface_declare< 0x037ec156, ... > | |
| static bool | compare_iid (const Uuid &iid) |
Compares the interface ID iid against the interface ID of this interface and of its ancestors. More... | |
Static Public Member Functions inherited from mi::base::Interface_declare< 0x8a2a4da9, ... > | |
| static bool | compare_iid (const Uuid &iid) |
Compares the interface ID iid against the interface ID of this interface and of its ancestors. More... | |
Static Public Member Functions inherited from mi::base::Interface_declare< 0x1bcb8d48, ... > | |
| static bool | compare_iid (const Uuid &iid) |
Compares the interface ID iid against the interface ID of this interface and of its ancestors. More... | |
Static Public Member Functions inherited from mi::base::IInterface | |
| static bool | compare_iid (const Uuid &iid) |
Compares the interface ID iid against the interface ID of this interface. More... | |
This interface represents a material instance.
This interface is almost obsolete. The only remaining purpose is the method create_compiled_material() and the associated enum Compilation_options. Use mi::neuraylib::IFunction_call for all other purposes.
Various options for the creation of compiled materials.
| Enumerator | |
|---|---|
| DEFAULT_OPTIONS | Default compilation options (e.g., instance compilation). |
| CLASS_COMPILATION | Selects class compilation instead of instance compilation. |
|
pure virtual |
Creates a compiled material.
| flags | A bitmask of flags of type Compilation_options. | |
| [in,out] | context | An optional pointer to an execution context which can be used to pass compilation options to the MDL compiler. The following options are supported for this operation:
|
nullptr in case of failure.