The execution context can be used to query status information like error and warning messages concerning the operation it was passed into.
More...
|
|
| 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 IMessage * | get_message (Size index) const =0 |
| | Returns the message at index or nullptr, if no such index exists. More...
|
| |
| virtual const IMessage * | get_error_message (Size index) const =0 |
| | Returns the error message at index or nullptr, 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...
|
| |
|
| 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...
|
| |
| 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...
|
| |
|
| using | Self = Interface_declare< id1, ... > |
| | Own type. More...
|
| |
| using | IID = Uuid_t< id1, ... > |
| | Declares the interface ID (IID) of this interface. More...
|
| |
| using | IID = Uuid_t<0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0> |
| | Declares the interface ID (IID) of this interface. More...
|
| |
| 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 bool | compare_iid (const Uuid &iid) |
| | Compares the interface ID iid against the interface ID of this interface. More...
|
| |
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
std::string "warning": Silence compiler warnings or promote them to errors. Format: options = (option ',')* option. option = 'err' | number '=' ('on' | 'off' | 'err'). A single 'err' promotes all compiler warnings to errors. Otherwise, warning number is either enabled ('on'), disabled ('off'), or promoted to an error ('err').
- 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": Sets the internal space of the backend. Possible values: "coordinate_world", "coordinate_object". Default: "coordinate_world".
bool "mdl_next": If true, enables (possible incomplete) features from upcoming MDL version. Default: false.
bool "experimental": If true, enables undocumented experimental MDL features. Default: false.
- mi::base::IInterface* "user_data": A user-supplied pointer to an arbitrary interface. This option can be used to pass additional data from a call site of mi::neuraylib::IMdl_impexp_api::load_module() to a custom implementation of the entity resolver. Default:
nullptr.
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.
bool "export_resources_with_module_prefix": If true, the name of the exported resources start with the module name as prefix. Default: true.
std::string "handle_filename_conflicts": Controls what to do in case of filename conflicts for resources during export. Possible values:
"generate_unique": Always generates a unique filename that does not conflict with an existing resource file (adding a counter suffix if necessary).
"fail_if_existing": The export fails if an existing resource file would be overwritten by the export operation.
"overwrite_existing": The export operation silently overwrites existing resource files. Note that using this setting might destroy other modules. Setting the option "export_resources_with_module_prefix" (see above) to true reduces that risk (but does not eliminate it). Default: "generate_unique".
- mi::IMap* "filename_hints": A user-supplied map with typename
"Map<String>". The option allows to suggest filenames for resource files being created during export, in particular if there are no other hints available. This happens e.g. when using the module builder with in-memory textures obtained from distilling.
The keys of the map entries identify the resources by the name of the corresponding DB elements (for textures, the instance of mi::neuraylib::IImage, not mi::neuraylib::ITexture). The values are the suggested filenames including extension, but without any directory components (and not empty). For animated and/or uvtile textures, the string needs to contain the required markers.
Note that the provided filenames are just hints, other context options also affect the final filenames, and there is no guarantee that the hints of this option are actually used. Do not base application logic on such an assumption. Default: nullptr.
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.
bool "ignore_noinline": If true, anno::noinline() annotations are ignored during material compilation. Note: This option implicitely sets the "rerun_inlining" option to true. Default: false.
bool "rerun_inlining": If true, enables function inlining during material compilation. Beware: This might significantly increase the compilation time. 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.