NVIDIA Iray API Home  Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
mi::neuraylib::IMdl_module Class Referenceabstract

This interfaces represents an MDL module. More...

Inheritance diagram for mi::neuraylib::IMdl_module:
Inheritance graph
[legend]

Public Member Functions

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_name () const =0
  Returns the MDL name of the module. More...
 
virtual Uint32  get_import_count () const =0
  Returns the number of modules imported by the module. More...
 
virtual const char *  get_import (Uint32 index) const =0
  Returns the DB name of the imported module at index. More...
 
virtual Uint32  get_function_count () const =0
  Returns the number of function definitions exported by the module. More...
 
virtual const char *  get_function (Uint32 index) const =0
  Returns the DB name of the function definition at index. More...
 
virtual Uint32  get_material_count () const =0
  Returns the number of material definitions exported by the module. More...
 
virtual const char *  get_material (Uint32 index) const =0
  Returns the DB name of the material definition at index. More...
 
virtual bool  is_standard_module () const =0
  Indicates whether this module is a standard module. More...
 
virtual const IArray get_function_overloads (const char *name, const IAttribute_container *arguments=0) const =0
  Returns overloads of a function definition. More...
 
virtual const IArray get_function_overloads (const char *name, const char *param_sig) const =0
  Returns overloads of a function definition. More...
 

Additional Inherited Members

- Public Types inherited from mi::base::Interface_declare< 0xc14d6df4, 0x41bd, 0x4909, 0xbb, 0x4f, 0x91, 0x68, 0x2f, 0xd6, 0x02, 0xa5, neuraylib::IScene_element >
typedef Interface_declare< id1,
id2, id3, id4, id5, id6, id7,
id8, id9, id10, id11,
neuraylib::IScene_element
Self
  Own type. More...
 
typedef Uuid_t< id1, id2, id3,
id4, id5, id6, id7, id8, id9,
id10, id11 > 
IID
  Declares the interface ID (IID) of this interface. More...
 
- Static Public Member Functions inherited from mi::base::Interface_declare< 0xc14d6df4, 0x41bd, 0x4909, 0xbb, 0x4f, 0x91, 0x68, 0x2f, 0xd6, 0x02, 0xa5, neuraylib::IScene_element >
static bool  compare_iid (const Uuid &iid)
  Compares the interface ID iid against the interface ID of this interface and of its ancestors. More...
 

Detailed Description

Member Function Documentation

virtual const char* mi::neuraylib::IMdl_module::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::IMdl_module::get_function ( Uint32  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 Uint32 mi::neuraylib::IMdl_module::get_function_count ( ) const
pure virtual

Returns the number of function definitions exported by the module.

Returns
The number of function definitions.
virtual const IArray* mi::neuraylib::IMdl_module::get_function_overloads ( const char *  name,
const IAttribute_container arguments = 0 
) const
pure virtual

Returns overloads of a function definition.

The method returns overloads of function definition of this module, either all overloads or just the overloads matching a given set of arguments.

Parameters
name The DB name of a function definition from this module. Due to the nature of this method the function signature (starting with the left parenthesis) is irrelevant and thus optional.
arguments Optional arguments to select a specific overload. If present, the method returns only the overloads of name whose signature matches the provided arguments, i.e., a call to mi::neuraylib::IMdl_function_definition::create_function_call() with these arguments would succeed.
Returns
The DB names of overloads of the given function definition, or NULL if name is invalid.
virtual const IArray* mi::neuraylib::IMdl_module::get_function_overloads ( const char *  name,
const char *  param_sig 
) const
pure virtual

Returns overloads of a function definition.

The method returns the best-matching overloads of a function definition of this module, given a list of positional parameter types.

Parameters
name The DB name of a function definition from this module without signature.
param_sig A parameter signature as a comma separated string of MDL type names. The method returns only the overloads of name whose signature matches the provided positional parameter types. In addition, it returns only the best-matching overloads according to the MDL rules for overload resolution. Optionally, the parameter signature can be enclosed in parentheses.
Returns
The DB names of overloads of the given function definition, or NULL if name is invalid.
virtual const char* mi::neuraylib::IMdl_module::get_import ( Uint32  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 Uint32 mi::neuraylib::IMdl_module::get_import_count ( ) const
pure virtual

Returns the number of modules imported by the module.

Returns
The number of imported modules.
virtual const char* mi::neuraylib::IMdl_module::get_material ( Uint32  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 Uint32 mi::neuraylib::IMdl_module::get_material_count ( ) const
pure virtual

Returns the number of material definitions exported by the module.

Returns
The number of material definitions.
virtual const char* mi::neuraylib::IMdl_module::get_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 bool mi::neuraylib::IMdl_module::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".