mi::neuraylib::IModule Class Reference
[MDL-related elements]
Description
This interface represents an MDL module.
See also:
mi::neuraylib::IFunction_definition, mi::neuraylib::IFunction_call
Public Member Functions
- virtual const IAnnotation_definition* get_annotation_definition( Size index) const =0
- Returns the annotation definition at index. More...
- virtual const IAnnotation_definition* get_annotation_definition( const char* name) const =0
- Returns the annotation definition of the given name. More...
- virtual Size get_annotation_definition_count() const =0
- Returns the number of annotations defined in the module.
- virtual const IAnnotation_block* get_annotations() const =0
- Returns the annotations of the module, or NULL if there are no such annotations.
- virtual const IValue_list* get_constants() const =0
- Returns the constants exported by this module.
- virtual const char* get_filename() const =0
- Returns the name of the MDL source file from which this module was created. More...
- virtual const char* get_function( Size index) const =0
- Returns the DB name of the function definition at index. More...
- virtual Size get_function_count() const =0
- Returns the number of function definitions exported by the module.
- virtual const IArray* get_function_overloads( const char* name, const IExpression_list* arguments = 0) const =0
- Returns overloads of a function or material definition. More...
- virtual const IArray* get_function_overloads( const char* name, const IArray* parameter_types) const =0
- Returns overloads of a function or material definition. More...
- virtual const char* get_import( Size index) const =0
- Returns the DB name of the imported module at index. More...
- virtual Size get_import_count() const =0
- Returns the number of modules imported by the module.
- virtual const char* get_material( Size index) const =0
- Returns the DB name of the material definition at index. More...
- virtual Size get_material_count() const =0
- Returns the number of material definitions exported by the module.
- virtual const char* get_mdl_name() const =0
- Returns the MDL name of the module. More...
- virtual Size get_mdl_package_component_count() const =0
- Returns the number of package components in the MDL name.
- virtual const char* get_mdl_package_component_name( Size index) const =0
- Returns the name of a package component in the MDL name. More...
- virtual const char* get_mdl_simple_name() const =0
- Returns the simple MDL name of the module. More...
- virtual Mdl_version get_mdl_version() const =0
- Returns the MDL version of this module.
- virtual const IValue_resource* get_resource( Size index) const =0
- Returns a resource defined in the module. More...
- virtual Size get_resources_count() const =0
- Returns the number of resources defined in the module. More...
- virtual const IStruct_category_list* get_struct_categories() const =0
- Returns the struct categories exported by this module.
- virtual const IType_list* get_types() const =0
- Returns the types exported by this module.
- virtual bool is_mdle_module() const =0
- Indicates whether this module results from an .mdle file.
- virtual bool is_standard_module() const =0
- Indicates whether this module is a standard module. More...
- virtual bool is_valid( IMdl_execution_context* context) const =0
- Returns true if all imports of the module are valid. More...
- virtual Sint32 reload( bool recursive, IMdl_execution_context* context) =0
- Reload the module from disk. More...
- virtual Sint32 reload_from_string( const char* module_source, bool recursive, IMdl_execution_context* context) =0
- Reload the module from string. More...
Member Functions
- virtual const IAnnotation_definition* mi::neuraylib::IModule::get_annotation_definition( Size index) const [pure virtual]
-
Returns the annotation definition at index.
Parameters
- index
- The index of the annotation definition.
Returns
The annotation definition or NULL if index is out of range.
- virtual const IAnnotation_definition* mi::neuraylib::IModule::get_annotation_definition( const char* name) const [pure virtual]
-
Returns the annotation definition of the given name.
Parameters
- name
- The name of the annotation definition.
Returns
The annotation definition or NULL if there is no such definition.
- virtual Size mi::neuraylib::IModule::get_annotation_definition_count() const [pure virtual]
-
Returns the number of annotations defined in the module.
- virtual const IAnnotation_block* mi::neuraylib::IModule::get_annotations() const [pure virtual]
-
Returns the annotations of the module, or NULL if there are no such annotations.
- virtual const IValue_list* mi::neuraylib::IModule::get_constants() const [pure virtual]
-
Returns the constants exported by this module.
- virtual const char* mi::neuraylib::IModule::get_filename() const [pure virtual]
-
Returns the name of the MDL source file from which this module was created.
Returns
The full pathname of the source file from which this MDL module was created, or NULL if no such file exists.
- virtual const char* mi::neuraylib::IModule::get_function( Size index) const [pure virtual]
-
Returns the DB name of the function definition at index.
Parameters
- index
- The index of the function definition.
Returns
The DB name of the function definition. The method may return NULL for valid indices if the corresponding function definition has already been removed from the DB.
- virtual Size mi::neuraylib::IModule::get_function_count() const [pure virtual]
-
Returns the number of function definitions exported by the module.
- virtual const IArray* mi::neuraylib::IModule::get_function_overloads( const char* name, const IExpression_list* arguments = 0) const [pure virtual]
-
Returns overloads of a function or material definition. The method returns overloads of a function or material definition of this module, either all overloads or just the overloads matching a given set of arguments.
Parameters
- name
- The simple name or the DB name without signature of a function or material definition from this module.
- arguments
- Optional arguments to select specific overload(s). If present, the method returns only the overloads of name whose signature matches the provided arguments, i.e., a call to mi::neuraylib::IFunction_definition::create_function_call() with these arguments would succeed.
Returns
The DB names of overloads of the given function or material definition, or NULL if name is invalid.
- virtual const IArray* mi::neuraylib::IModule::get_function_overloads( const char* name, const IArray* parameter_types) const [pure virtual]
-
Returns overloads of a function or material definition. The method returns the best-matching overloads of a function or material definition of this module, given a list of positional parameter types.
Note:-
This overload should only be used if no actual arguments are available. If arguments are available, consider using get_function_overloads( const char*, const IExpression_list*)constinstead.
-
This method does not work for the function definitions with the following semantics:
-
mi::neuraylib::IFunction_definition::DS_INTRINSIC_DAG_ARRAY_CONSTRUCTOR,
-
mi::neuraylib::IFunction_definition::DS_INTRINSIC_DAG_ARRAY_LENGTH,
-
mi::neuraylib::IFunction_definition::DS_INTRINSIC_DAG_DECL_CAST, and
-
mi::neuraylib::IFunction_definition::DS_INTRINSIC_DAG_FIELD_ACCESS. These are the Template-like function definitions plus the field access function definitions.
-
Parameters
- name
- The simple name or the DB name without signature of a function or material definition from this module.
- parameter_types
- A static or dynamic array with elements of type mi::IString representing positional parameter type names as returned by mi::neuraylib::IFunction_definition::get_mdl_parameter_type_name().
Returns
The DB names of overloads of the given function or material definition, or NULL if name is invalid.
-
- virtual const char* mi::neuraylib::IModule::get_import( Size index) const [pure virtual]
-
Returns the DB name of the imported module at index.
Parameters
- index
- The index of the imported module.
Returns
The DB name of the imported module.
- virtual Size mi::neuraylib::IModule::get_import_count() const [pure virtual]
-
Returns the number of modules imported by the module.
- virtual const char* mi::neuraylib::IModule::get_material( Size index) const [pure virtual]
-
Returns the DB name of the material definition at index.
Parameters
- index
- The index of the material definition.
Returns
The DB name of the material definition. The method may return NULL for valid indices if the corresponding material definition has already been removed from the DB.
- virtual Size mi::neuraylib::IModule::get_material_count() const [pure virtual]
-
Returns the number of material definitions exported by the module.
- virtual const char* mi::neuraylib::IModule::get_mdl_name() const [pure virtual]
-
Returns the MDL name of the module.
Note:The MDL name of the module is different from the name of the DB element. Use mi::neuraylib::ITransaction::name_of() to obtain the name of the DB element.
Returns
The MDL name of the module.
- virtual Size mi::neuraylib::IModule::get_mdl_package_component_count() const [pure virtual]
-
Returns the number of package components in the MDL name.
- virtual const char* mi::neuraylib::IModule::get_mdl_package_component_name( Size index) const [pure virtual]
-
Returns the name of a package component in the MDL name.
Returns
The index -th package component name, or NULL if index is out of bounds.
- virtual const char* mi::neuraylib::IModule::get_mdl_simple_name() const [pure virtual]
-
Returns the simple MDL name of the module. The simple name is the last component of the MDL name, i.e., without any packages and scope qualifiers.
Returns
The simple MDL name of the module.
- virtual Mdl_version mi::neuraylib::IModule::get_mdl_version() const [pure virtual]
-
Returns the MDL version of this module.
- virtual const IValue_resource* mi::neuraylib::IModule::get_resource( Size index) const [pure virtual]
-
Returns a resource defined in the module. Resources defined in a module that is imported by this module are not included.
- virtual Size mi::neuraylib::IModule::get_resources_count() const [pure virtual]
-
Returns the number of resources defined in the module. Resources defined in a module that is imported by this module are not included.
- virtual const IStruct_category_list* mi::neuraylib::IModule::get_struct_categories() const [pure virtual]
-
Returns the struct categories exported by this module.
- virtual const IType_list* mi::neuraylib::IModule::get_types() const [pure virtual]
-
Returns the types exported by this module.
- virtual bool mi::neuraylib::IModule::is_mdle_module() const [pure virtual]
-
Indicates whether this module results from an .mdle file.
- virtual bool mi::neuraylib::IModule::is_standard_module() const [pure virtual]
-
Indicates whether this module is a standard module. Examples for standard modules are "limits", "anno", "state", "math", "tex", "noise", and "df".
- virtual bool mi::neuraylib::IModule::is_valid( IMdl_execution_context* context) const [pure virtual]
-
Returns true if all imports of the module are valid.
Parameters
- context
- In case of failure, the execution context can be checked for error messages. Can be NULL.
- virtual Sint32 mi::neuraylib::IModule::reload( bool recursive, IMdl_execution_context* context) [pure virtual]
-
Reload the module from disk.
Note:This function works for file-based modules, only.
Parameters
- recursive
- If true, all imported file-based modules are reloaded prior to this one.
- context
- In case of failure, the execution context can be checked for error messages. Can be NULL.
Returns
- 0: Success
- -1: Reloading failed, check the context for details.
- virtual Sint32 mi::neuraylib::IModule::reload_from_string( const char* module_source, bool recursive, IMdl_execution_context* context) [pure virtual]
-
Reload the module from string.
Note:This function works for string/memory-based modules, only. Standard modules and the built-in modules mdl::base and mdl::nvidia::distilling_support cannot be reloaded.
Parameters
- module_source
- The module source code.
- recursive
- If true, all imported file-based modules are reloaded prior to this one.
- context
- In case of failure, the execution context can be checked for error messages. Can be NULL.
Returns
- 0: Success
- -1: Reloading failed, check the context for details.