Material Definition Language API
Up
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Groups
Pages
ifunction_call.h
Go to the documentation of this file.
1
/***************************************************************************************************
2
* Copyright 2019 NVIDIA Corporation. All rights reserved.
3
**************************************************************************************************/
6
7
#ifndef MI_NEURAYLIB_IFUNCTION_CALL_H
8
#define MI_NEURAYLIB_IFUNCTION_CALL_H
9
10
#include <cstring>
11
12
#include <
mi/neuraylib/iexpression.h
>
13
#include <
mi/neuraylib/iscene_element.h
>
14
15
namespace
mi {
16
17
namespace
neuraylib {
18
23
class
IFunction_call :
public
31
mi::base::Interface_declare
<0x67b29f5f,0xdbc1,0x4300,0x94,0x53,0x3e,0x2d,0x28,0x29,0xc1,0xe9,
32
neuraylib::IScene_element>
33
{
34
public
:
41
virtual
const
char
*
get_function_definition
()
const
= 0;
42
47
virtual
const
char
*
get_mdl_function_definition
()
const
= 0;
48
52
inline
bool
is_array_constructor
()
const
53
{
return
strcmp(
get_mdl_function_definition
(),
"T[](...)"
) == 0; }
54
56
virtual
const
IType
*
get_return_type
()
const
= 0;
57
59
virtual
Size
get_parameter_count
()
const
= 0;
60
65
virtual
const
char
*
get_parameter_name
(
Size
index)
const
= 0;
66
71
virtual
Size
get_parameter_index
(
const
char
* name)
const
= 0;
72
74
virtual
const
IType_list
*
get_parameter_types
()
const
= 0;
75
77
virtual
const
IExpression_list
*
get_arguments
()
const
= 0;
78
102
virtual
Sint32
set_arguments
(
const
IExpression_list
* arguments) = 0;
103
125
virtual
Sint32
set_argument
(
Size
index,
const
IExpression
* argument) = 0;
126
148
virtual
Sint32
set_argument
(
const
char
* name,
const
IExpression
* argument) = 0;
149
157
virtual
bool
is_default
()
const
= 0;
158
};
159
// end group mi_neuray_mdl_elements
161
162
}
// namespace neuraylib
163
164
}
// namespace mi
165
166
#endif // MI_NEURAYLIB_IFUNCTION_CALL
20 February 2019, 22:00, revision 315630, Doxygen 1.8.4
© 1986, 2019 NVIDIA Corporation.
All rights reserved.