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

Provides access to various functions for the evaluation of MDL expressions. More...

Inheritance diagram for mi::neuraylib::IMdl_evaluator_api:
mi::base::Interface_declare< 0x1dc8e8c2, 0xa19e, 0x4dc9, 0xa3, 0x0f, 0xeb, 0xb4, 0x0a, 0xf1, 0x08, 0x58 > mi::base::IInterface

Public Member Functions

virtual IValue_bool const * is_material_parameter_enabled (ITransaction *trans, IValue_factory *fact, IMaterial_instance const *inst, Size index, Sint32 *error) const =0
 Evaluates if a material instance parameter is enabled (i.e. More...
 
virtual IValue_bool const * is_function_parameter_enabled (ITransaction *trans, IValue_factory *fact, IFunction_call const *call, Size index, Sint32 *error) const =0
 Evaluates if a function call parameter is enabled (i.e. More...
 

Additional Inherited Members

- Public Types inherited from mi::base::Interface_declare< 0x1dc8e8c2, 0xa19e, 0x4dc9, 0xa3, 0x0f, 0xeb, 0xb4, 0x0a, 0xf1, 0x08, 0x58 >
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< 0x1dc8e8c2, 0xa19e, 0x4dc9, 0xa3, 0x0f, 0xeb, 0xb4, 0x0a, 0xf1, 0x08, 0x58 >
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

Provides access to various functions for the evaluation of MDL expressions.

Member Function Documentation

virtual IValue_bool const* mi::neuraylib::IMdl_evaluator_api::is_function_parameter_enabled ( ITransaction trans,
IValue_factory fact,
IFunction_call const *  call,
Size  index,
Sint32 error 
) const
pure virtual

Evaluates if a function call parameter is enabled (i.e.

the enable_if condition computes true).

Parameters
[in]transthe transaction
[in]factthe expression factory to create the result value
[in]callthe function call
[in]indexthe index of the material instance parameter
[out]errorAn optional pointer to an mi::Sint32 to which an error code will be written. The error codes have the following meaning:
  • 0: Success.
  • -1: An input parameter is NULL.
  • -2: The parameter index is out of bounds.
  • -3: A malformed expression (contains temporaries).
  • -4: An unsupported expression occurred.
  • -5: The evaluation was aborted, too complex to evaluate.
Returns
NULL if the condition was to complex to evaluate, else true or false
virtual IValue_bool const* mi::neuraylib::IMdl_evaluator_api::is_material_parameter_enabled ( ITransaction trans,
IValue_factory fact,
IMaterial_instance const *  inst,
Size  index,
Sint32 error 
) const
pure virtual

Evaluates if a material instance parameter is enabled (i.e.

the enable_if condition computes true).

Parameters
[in]transthe transaction
[in]factthe expression factory to create the result value
[in]instthe material instance
[in]indexthe index of the material instance parameter
[out]errorAn optional pointer to an mi::Sint32 to which an error code will be written. The error codes have the following meaning:
  • 0: Success.
  • -1: An input parameter is NULL.
  • -2: The parameter index is out of bounds.
  • -3: A malformed expression (contains temporaries).
  • -4: An unsupported expression occurred.
  • -5: The evaluation was aborted, too complex to evaluate.
Returns
NULL if the condition was too complex to evaluate, else true or false