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
imaterial_definition.h
Go to the documentation of this file.
1
/***************************************************************************************************
2
* Copyright 2018 NVIDIA Corporation. All rights reserved.
3
**************************************************************************************************/
6
7
#ifndef MI_NEURAYLIB_IMATERIAL_DEFINITION_H
8
#define MI_NEURAYLIB_IMATERIAL_DEFINITION_H
9
10
#include <
mi/neuraylib/iexpression.h
>
11
#include <
mi/neuraylib/iscene_element.h
>
12
13
namespace
mi {
14
15
namespace
neuraylib {
16
21
class
IMaterial_instance;
22
31
class
IMaterial_definition
:
public
32
mi::base::Interface_declare
<0x73753e3d,0x62e4,0x41a7,0xa8,0xf5,0x37,0xeb,0xda,0xd9,0x01,0xd9,
33
neuraylib::IScene_element>
34
{
35
public
:
39
virtual
const
char
*
get_module
()
const
= 0;
40
47
virtual
const
char
*
get_mdl_name
()
const
= 0;
48
51
virtual
const
char
*
get_prototype
()
const
= 0;
52
54
virtual
bool
is_exported
()
const
= 0;
55
57
virtual
Size
get_parameter_count
()
const
= 0;
58
63
virtual
const
char
*
get_parameter_name
(
Size
index)
const
= 0;
64
69
virtual
Size
get_parameter_index
(
const
char
* name)
const
= 0;
70
72
virtual
const
IType_list
*
get_parameter_types
()
const
= 0;
73
79
virtual
const
IExpression_list
*
get_defaults
()
const
= 0;
80
87
virtual
const
IExpression_list
*
get_enable_if_conditions
()
const
= 0;
88
95
virtual
Size
get_enable_if_users
(
Size
index)
const
= 0;
96
104
virtual
Size
get_enable_if_user
(
Size
index,
Size
u_index)
const
= 0;
105
108
virtual
const
IAnnotation_block
*
get_annotations
()
const
= 0;
109
116
virtual
const
IAnnotation_list
*
get_parameter_annotations
()
const
= 0;
117
148
virtual
IMaterial_instance
*
create_material_instance
(
149
const
IExpression_list
* arguments,
Sint32
* errors = 0)
const
= 0;
150
159
virtual
const
char
*
get_thumbnail
()
const
= 0;
160
};
161
// end group mi_neuray_mdl_elements
163
164
}
// namespace neuraylib
165
166
}
// namespace mi
167
168
#endif // MI_NEURAYLIB_IMATERIAL_DEFINITION_H
11 December 2018, 20:41, revision 313481, Doxygen 1.8.4
© 1986, 2018 NVIDIA Corporation.
All rights reserved.