MDL SDK API nvidia_logo_transpbg.gif Up
mi::neuraylib::IMdl_evaluator_api Class Referenceabstract

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

#include <imdl_evaluator_api.h>

Inheritance diagram for mi::neuraylib::IMdl_evaluator_api:

Public Member Functions

virtual const IValue_boolis_function_parameter_enabled (ITransaction *trans, IValue_factory *fact, const IFunction_call *call, Size index, Sint32 *errors) const =0
 Evaluates if a function call parameter is enabled, i.e., the enable_if condition evaluates to true). More...
 
- Public Member Functions inherited from mi::base::IInterface
virtual Uint32 retain () const =0
 Increments the reference count. More...
 
virtual Uint32 release () const =0
 Decrements the reference count. More...
 
virtual const IInterfaceget_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 IInterfaceget_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...
 

Additional Inherited Members

- Public Types inherited from mi::base::Interface_declare< 0x1dc8e8c2, ... >
typedef Interface_declare< id1, ... > Self
 Own type. More...
 
typedef Uuid_t< id1, ... > IID
 Declares the interface ID (IID) of this interface. More...
 
- Public Types inherited from mi::base::IInterface
typedef Uuid_t<0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0> IID
 Declares the interface ID (IID) of this interface. More...
 
- Static Public Member Functions inherited from mi::base::Interface_declare< 0x1dc8e8c2, ... >
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 Public Member Functions inherited from mi::base::IInterface
static bool compare_iid (const Uuid &iid)
 Compares the interface ID iid against the interface ID of this interface. More...
 

Detailed Description

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

Member Function Documentation

 is_function_parameter_enabled()

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

Evaluates if a function call parameter is enabled, i.e., the enable_if condition evaluates to 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]errorsAn 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.