Material Definition Language API nvidia_logo_transpbg.gif Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
mi::neuraylib::IMdl_execution_context Class Referenceabstract

The execution context can be used to query status information like error and warning messages concerning the operation it was passed into. More...

Inheritance diagram for mi::neuraylib::IMdl_execution_context:
mi::base::Interface_declare< 0x28eb1f99, 0x138f, 0x4fa2, 0xb5, 0x39, 0x17, 0xb4, 0xae, 0xfb, 0x1b, 0xca > mi::base::IInterface

Public Member Functions

Messages
virtual Size get_messages_count () const =0
 Returns the number of messages. More...
 
virtual Size get_error_messages_count () const =0
 Returns the number of error messages. More...
 
virtual const IMessageget_message (Size index) const =0
 Returns the message at index or NULL, if no such index exists. More...
 
virtual const IMessageget_error_message (Size index) const =0
 Returns the error message at index or NULL, if no such index exists. More...
 
virtual void clear_messages ()=0
 Clears all messages. More...
 
virtual void add_message (IMessage::Kind kind, base::Message_severity severity, Sint32 code, const char *message)=0
 Adds a message. More...
 
Options
virtual Size get_option_count () const =0
 Returns the number of supported options. More...
 
virtual const char * get_option_name (Size index) const =0
 Returns the option name at index. More...
 
virtual const char * get_option_type (const char *name) const =0
 Returns the option type name at index. More...
 
virtual Sint32 get_option (const char *name, const char *&value) const =0
 Returns a string option. More...
 
virtual Sint32 get_option (const char *name, Sint32 &value) const =0
 Returns an int option. More...
 
virtual Sint32 get_option (const char *name, Float32 &value) const =0
 Returns a float option. More...
 
virtual Sint32 get_option (const char *name, bool &value) const =0
 Returns a bool option. More...
 
virtual Sint32 get_option (const char *name, const base::IInterface **value) const =0
 Returns an interface option. More...
 
template<typename T >
const T * get_option (const char *name, Sint32 &return_code)
 Returns an interface option. More...
 
virtual Sint32 set_option (const char *name, const char *value)=0
 Sets a string option. More...
 
virtual Sint32 set_option (const char *name, Sint32 value)=0
 Sets an int option. More...
 
virtual Sint32 set_option (const char *name, Float32 value)=0
 Sets a float option. More...
 
virtual Sint32 set_option (const char *name, bool value)=0
 Sets a bool option. More...
 
virtual Sint32 set_option (const char *name, const base::IInterface *value)=0
 Sets an interface option. More...
 

Additional Inherited Members

- Public Types inherited from mi::base::Interface_declare< 0x28eb1f99, 0x138f, 0x4fa2, 0xb5, 0x39, 0x17, 0xb4, 0xae, 0xfb, 0x1b, 0xca >
typedef Interface_declare< id1,
id2, id3, id4, id5, id6, id7,
id8, id9, id10, id11,
IInterface
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< 0x28eb1f99, 0x138f, 0x4fa2, 0xb5, 0x39, 0x17, 0xb4, 0xae, 0xfb, 0x1b, 0xca >
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

The execution context can be used to query status information like error and warning messages concerning the operation it was passed into.

The context supports the following options:

Options for module loading

  • mi::Sint32 "optimization_level": Sets the optimization level. Possible values: 0 (all optimizations are disabled), 1 (only intra procedural optimizations are enabled), 2 (intra and inter procedural optimizations are enabled). Default: 2.
  • std::string "internal_space": Set the internal space of the backend. Possible values: "coordinate_world", "coordinate_object". Default: "coordinate_world".
  • bool "experimental": If true, enables undocumented experimental MDL features. Default: false.

Options for MDL export

  • bool "bundle_resources": If true, referenced resources are exported into the same directory as the module, even if they can be found via the module search path. Default: false.

Options for material compilation

  • bool "fold_meters_per_scene_unit": If true, occurrences of the functions state::meters_per_scene_unit() and state::scene_units_per_meter() will be folded using the meters_per_scene_unit option. Default: true
  • mi::Float32 "meters_per_scene_unit": The conversion ratio between meters and scene units for this material. Only used if folding is enabled. Default: 1.0f.
  • mi::Float32 "wavelength_min": The smallest supported wavelength. Default: 380.0f.
  • mi::Float32 "wavelength_max": The largest supported wavelength. Default: 780.0f.
  • mi::Float32 "fold_ternary_on_df": Fold all ternary operators of *df types, even in class compilation mode. Default: false.

Options for code generation

  • bool "fold_meters_per_scene_unit": If true, occurrences of the functions state::meters_per_scene_unit() and state::scene_units_per_meter() will be folded using the meters_per_scene_unit option. Default: true
  • mi::Float32 "meters_per_scene_unit": The conversion ratio between meters and scene units for this material. Only used if folding is enabled. Default: 1.0f.
  • mi::Float32 "wavelength_min": The smallest supported wavelength. Default: 380.0f.
  • mi::Float32 "wavelength_max": The largest supported wavelength. Default: 780.0f.
  • bool "include_geometry_normal": If true, the "geometry.normal" field will be applied to the MDL state prior to evaluation of the given DF. Default: true.

Member Function Documentation

virtual void mi::neuraylib::IMdl_execution_context::add_message ( IMessage::Kind  kind,
base::Message_severity  severity,
Sint32  code,
const char *  message 
)
pure virtual

Adds a message.

virtual void mi::neuraylib::IMdl_execution_context::clear_messages ( )
pure virtual

Clears all messages.

virtual const IMessage* mi::neuraylib::IMdl_execution_context::get_error_message ( Size  index) const
pure virtual

Returns the error message at index or NULL, if no such index exists.

virtual Size mi::neuraylib::IMdl_execution_context::get_error_messages_count ( ) const
pure virtual

Returns the number of error messages.

virtual const IMessage* mi::neuraylib::IMdl_execution_context::get_message ( Size  index) const
pure virtual

Returns the message at index or NULL, if no such index exists.

virtual Size mi::neuraylib::IMdl_execution_context::get_messages_count ( ) const
pure virtual

Returns the number of messages.

virtual Sint32 mi::neuraylib::IMdl_execution_context::get_option ( const char *  name,
const char *&  value 
) const
pure virtual

Returns a string option.

Parameters
nameThe name of the option.
[out]valueThe value of the option.
Returns
  • 0: Success.
  • -1: Invalid option name.
  • -2: The option type does not match the value type.
virtual Sint32 mi::neuraylib::IMdl_execution_context::get_option ( const char *  name,
Sint32 value 
) const
pure virtual

Returns an int option.

Parameters
nameThe name of the option.
[out]valueThe value of the option.
Returns
  • 0: Success.
  • -1: Invalid option name.
  • -2: The option type does not match the value type.
virtual Sint32 mi::neuraylib::IMdl_execution_context::get_option ( const char *  name,
Float32 value 
) const
pure virtual

Returns a float option.

Parameters
nameThe name of the option.
[out]valueThe value of the option.
Returns
  • 0: Success.
  • -1: Invalid option name.
  • -2: The option type does not match the value type.
virtual Sint32 mi::neuraylib::IMdl_execution_context::get_option ( const char *  name,
bool &  value 
) const
pure virtual

Returns a bool option.

Parameters
nameThe name of the option.
[out]valueThe value of the option.
Returns
  • 0: Success.
  • -1: Invalid option name.
  • -2: The option type does not match the value type.
virtual Sint32 mi::neuraylib::IMdl_execution_context::get_option ( const char *  name,
const base::IInterface **  value 
) const
pure virtual

Returns an interface option.

Parameters
nameThe name of the option.
[out]valueThe value of the option.
Returns
  • 0: Success.
  • -1: Invalid option name.
  • -2: The option type does not match the value type.
template<typename T >
const T* mi::neuraylib::IMdl_execution_context::get_option ( const char *  name,
Sint32 return_code 
)
inline

Returns an interface option.

Parameters
nameThe name of the option.
return_code
  • 0: Success.
  • -1: Invalid option name.
  • -2: The option type does not match the value type.
Returns
The interface value or NULL.
virtual Size mi::neuraylib::IMdl_execution_context::get_option_count ( ) const
pure virtual

Returns the number of supported options.

virtual const char* mi::neuraylib::IMdl_execution_context::get_option_name ( Size  index) const
pure virtual

Returns the option name at index.

virtual const char* mi::neuraylib::IMdl_execution_context::get_option_type ( const char *  name) const
pure virtual

Returns the option type name at index.

virtual Sint32 mi::neuraylib::IMdl_execution_context::set_option ( const char *  name,
const char *  value 
)
pure virtual

Sets a string option.

Parameters
nameThe name of the option.
valueThe value of the option.
Returns
  • 0: Success.
  • -1: Invalid option name.
  • -2: The option type does not match the value type.
virtual Sint32 mi::neuraylib::IMdl_execution_context::set_option ( const char *  name,
Sint32  value 
)
pure virtual

Sets an int option.

Parameters
nameThe name of the option.
valueThe value of the option.
Returns
  • 0: Success.
  • -1: Invalid option name.
  • -2: The option type does not match the value type.
virtual Sint32 mi::neuraylib::IMdl_execution_context::set_option ( const char *  name,
Float32  value 
)
pure virtual

Sets a float option.

Parameters
nameThe name of the option.
valueThe value of the option.
Returns
  • 0: Success.
  • -1: Invalid option name.
  • -2: The option type does not match the value type.
virtual Sint32 mi::neuraylib::IMdl_execution_context::set_option ( const char *  name,
bool  value 
)
pure virtual

Sets a bool option.

Parameters
nameThe name of the option.
valueThe value of the option.
Returns
  • 0: Success.
  • -1: Invalid option name.
  • -2: The option type does not match the value type.
  • -3: The value is invalid in the context of the option.
virtual Sint32 mi::neuraylib::IMdl_execution_context::set_option ( const char *  name,
const base::IInterface value 
)
pure virtual

Sets an interface option.

Parameters
nameThe name of the option.
valueThe value of the option.
Returns
  • 0: Success.
  • -1: Invalid option name.
  • -2: The option type does not match the value type.
  • -3: The value is invalid in the context of the option.