Iray SDK API nvidia_logo_transpbg.gif Up
imdl_evaluator_api.h
Go to the documentation of this file.
1/***************************************************************************************************
2 * Copyright 2024 NVIDIA Corporation. All rights reserved.
3 **************************************************************************************************/
6
7#ifndef MI_NEURAYLIB_IMDL_EVALUATOR_H
8#define MI_NEURAYLIB_IMDL_EVALUATOR_H
9
11
12namespace mi {
13namespace neuraylib {
14
15class IFunction_call;
16class ITransaction;
17class IValue_bool;
18class IValue_factory;
19
25class IMdl_evaluator_api : public
26 mi::base::Interface_declare<0x1dc8e8c2,0xa19e,0x4dc9,0xa3,0x0f,0xeb,0xb4,0x0a,0xf1,0x08,0x58>
27{
28public:
47 ITransaction* trans,
48 IValue_factory* fact,
49 const IFunction_call* call,
50 Size index,
51 Sint32* error) const = 0;
52};
53 // end group mi_neuray_mdl_misc
55
56} // namespace neuraylib
57} // namespace mi
58
59#endif // MI_NEURAYLIB_IMDL_EVALUATOR_H
Mixin class template for deriving new interface declarations.
Definition: interface_declare.h:43
This interface represents a function call.
Definition: ifunction_call.h:52
Provides access to various functions for the evaluation of MDL expressions.
Definition: imdl_evaluator_api.h:27
virtual const IValue_bool * is_function_parameter_enabled(ITransaction *trans, IValue_factory *fact, const IFunction_call *call, Size index, Sint32 *error) const =0
Evaluates if a function call parameter is enabled, i.e., the enable_if condition evaluates to true).
A transaction provides a consistent view on the database.
Definition: itransaction.h:81
A value of type boolean.
Definition: ivalue.h:106
The interface for creating values.
Definition: ivalue.h:660
std::basic_ostream<C, T> & error(std::basic_ostream<C, T> &ostream)
Manipulator for mi::base::Log_stream.
Definition: ilogger.h:542
Uint64 Size
Unsigned integral type that is large enough to hold the size of all types.
Definition: types.h:112
signed int Sint32
32-bit signed integer.
Definition: types.h:46
Mixin class template for deriving new interface declarations.
Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH.
Definition: neuraylib.h:179