MDL SDK API nvidia_logo_transpbg.gif Up
imdl_evaluator_api.h
Go to the documentation of this file.
1/***************************************************************************************************
2 * Copyright 2022 NVIDIA Corporation. All rights reserved.
3 **************************************************************************************************/
6
7#ifndef MI_NEURAYLIB_IMDL_EVALUATOR_H
8#define MI_NEURAYLIB_IMDL_EVALUATOR_H
9
12
13namespace mi {
14namespace neuraylib {
15
16class IExpression;
17class IFunction_call;
18class IMaterial_instance;
19class ITransaction;
20class IValue_bool;
21class IValue_factory;
22
28class IMdl_evaluator_api : public
29 mi::base::Interface_declare<0x1dc8e8c2,0xa19e,0x4dc9,0xa3,0x0f,0xeb,0xb4,0x0a,0xf1,0x08,0x58>
30{
31public:
32 virtual const IValue_bool* MI_NEURAYLIB_DEPRECATED_METHOD_13_0(is_material_parameter_enabled)(
33 ITransaction* trans,
34 IValue_factory* fact,
35 const IMaterial_instance* inst,
36 Size index,
37 Sint32* error) const = 0;
38
57 ITransaction* trans,
58 IValue_factory* fact,
59 const IFunction_call* call,
60 Size index,
61 Sint32* error) const = 0;
62};
63 // end group mi_neuray_mdl_misc
65
66} // namespace neuraylib
67} // namespace mi
68
69#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
This interface represents a material instance.
Definition: imaterial_instance.h:34
Provides access to various functions for the evaluation of MDL expressions.
Definition: imdl_evaluator_api.h:30
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:84
A value of type boolean.
Definition: ivalue.h:106
The interface for creating values.
Definition: ivalue.h:656
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:110
signed int Sint32
32-bit signed integer.
Definition: types.h:44
Mixin class template for deriving new interface declarations.
Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH.
Definition: example_derivatives.dox:5
Major and minor version number and an optional qualifier.