Represents a link-unit of an MDL backend. More...
#include <imdl_backend.h>

Public Types | |
| enum | Function_execution_context : Uint32 { FEC_ENVIRONMENT = 0 , FEC_CORE = 1 , FEC_DISPLACEMENT = 2 } |
| Execution context for functions. More... | |
Public Types inherited from mi::base::Interface_declare< 0x1df9bbb0, ... > | |
| 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 Sint32 | add_material_expression (const ICompiled_material *inst, const char *path, const char *fname, IMdl_execution_context *context)=0 |
| Add an expression that is part of an MDL material instance as a function to this link unit. More... | |
| virtual Sint32 | add_material_df (const ICompiled_material *material, const char *path, const char *base_fname, IMdl_execution_context *context)=0 |
| Add an MDL distribution function to this link unit. More... | |
| virtual Sint32 | add_material (const ICompiled_material *material, Target_function_description *function_descriptions, Size description_count, IMdl_execution_context *context)=0 |
| Add (multiple) MDL distribution functions and expressions of a material to this link unit. More... | |
| virtual Sint32 | add_function (const IFunction_call *call, Function_execution_context fexc, const char *fname, IMdl_execution_context *context=nullptr)=0 |
| Add an MDL function call as a function to this link unit. More... | |
| virtual Sint32 | add_function (const IFunction_definition *function, Function_execution_context fexc, const char *fname, IMdl_execution_context *context)=0 |
| Add an MDL function definition as a function to this link unit. 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< 0x1df9bbb0, ... > | |
| 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... | |
Represents a link-unit of an MDL backend.