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

This interface can be used to query and change the MDL configuration. More...

Inheritance diagram for mi::neuraylib::IMdl_configuration:
mi::base::Interface_declare< 0x2657ec0b, 0x8a40, 0x46c5, 0xa8, 0x3f, 0x2b, 0xb5, 0x72, 0xa0, 0x8b, 0x9c > mi::base::IInterface

Public Member Functions

virtual Sint32 set_implicit_cast_enabled (bool value)=0
 Defines whether a cast operator is automatically inserted for compatible argument types. More...
 
virtual bool get_implicit_cast_enabled () const =0
 Indicates whether the SDK is supposed to automatically insert the cast operator for compatible types. More...
 
virtual Sint32 set_expose_names_of_let_expressions (bool value)=0
 Defines whether an attempt is made to expose names of let expressions. More...
 
virtual bool get_expose_names_of_let_expressions () const =0
 Indicates whether an attempt is made to expose names of let expressions. More...
 

Additional Inherited Members

- Public Types inherited from mi::base::Interface_declare< 0x2657ec0b, 0x8a40, 0x46c5, 0xa8, 0x3f, 0x2b, 0xb5, 0x72, 0xa0, 0x8b, 0x9c >
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< 0x2657ec0b, 0x8a40, 0x46c5, 0xa8, 0x3f, 0x2b, 0xb5, 0x72, 0xa0, 0x8b, 0x9c >
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

This interface can be used to query and change the MDL configuration.

Member Function Documentation

virtual bool mi::neuraylib::IMdl_configuration::get_expose_names_of_let_expressions ( ) const
pure virtual

Indicates whether an attempt is made to expose names of let expressions.

See Also
set_expose_names_of_let_expressions()
virtual bool mi::neuraylib::IMdl_configuration::get_implicit_cast_enabled ( ) const
pure virtual

Indicates whether the SDK is supposed to automatically insert the cast operator for compatible types.

See Also
set_implicit_cast_enabled()
virtual Sint32 mi::neuraylib::IMdl_configuration::set_expose_names_of_let_expressions ( bool  value)
pure virtual

Defines whether an attempt is made to expose names of let expressions.

If set to true, the MDL compiler attempts to represent let expressions as temporaries, and makes the name of let expressions available as names of such temporaries. In order to do so, certain optimizations are disabled, in particular, constant folding. These names are only available on material and functions definitions, not on compiled materials, which are always highly optimized. Default: false.

Note
Since some optimizations are essential for inner workings of the MDL compiler, there
See Also
mi::neuraylib::IFunction_definition::get_temporary_name(), mi::neuraylib::IMaterial_definition::get_temporary_name()
virtual Sint32 mi::neuraylib::IMdl_configuration::set_implicit_cast_enabled ( bool  value)
pure virtual

Defines whether a cast operator is automatically inserted for compatible argument types.

If set to true, an appropriate cast operator is automatically inserted if arguments for instances of mi::neuraylib::IFunction_call or mi::neuraylib::IMaterial_instance have a different but compatible type. If set to false, such an assignment fails and it is necessary to insert the cast operator explicitly. Default: true.

See Also
mi::neuraylib::IExpression_factory::create_cast().
Parameters
valueTrue to enable the feature, false otherwise.
Returns
  • 0: Success.
  • -1: The method cannot be called at this point of time.