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
icompound.h
Go to the documentation of this file.
1
/***************************************************************************************************
2
* Copyright 2018 NVIDIA Corporation. All rights reserved.
3
**************************************************************************************************/
6
7
#ifndef MI_NEURAYLIB_ICOMPOUND_H
8
#define MI_NEURAYLIB_ICOMPOUND_H
9
10
#include <
mi/neuraylib/idata.h
>
11
12
namespace
mi {
13
27
class
ICompound :
public
61
base::Interface_declare<0x65437cd6,0x9727,0x488c,0xa9,0xc5,0x92,0x42,0x43,0xf5,0x5b,0xa0,
62
IData_collection>
63
{
64
public
:
66
virtual
Size
get_number_of_rows
()
const
= 0;
67
71
virtual
Size
get_number_of_columns
()
const
= 0;
72
76
virtual
Size
get_length
()
const
= 0;
77
79
virtual
const
char
*
get_element_type_name
()
const
= 0;
80
84
virtual
bool
get_value
(
Size
row,
Size
column,
bool
& value)
const
= 0;
85
89
virtual
bool
get_value
(
Size
row,
Size
column,
Sint32
& value)
const
= 0;
90
94
virtual
bool
get_value
(
Size
row,
Size
column,
Uint32
& value)
const
= 0;
95
99
virtual
bool
get_value
(
Size
row,
Size
column,
Float32
& value)
const
= 0;
100
104
virtual
bool
get_value
(
Size
row,
Size
column,
Float64
& value)
const
= 0;
105
109
template
<
class
T>
110
T
get_value
(
Size
row,
Size
column)
const
111
{
112
T value;
113
bool
result =
get_value
( row, column, value);
114
return
result ? value :
static_cast<
T
>
( 0);
115
}
116
120
virtual
bool
set_value
(
Size
row,
Size
column,
bool
value) = 0;
121
125
virtual
bool
set_value
(
Size
row,
Size
column,
Sint32
value) = 0;
126
130
virtual
bool
set_value
(
Size
row,
Size
column,
Uint32
value) = 0;
131
135
virtual
bool
set_value
(
Size
row,
Size
column,
Float32
value) = 0;
136
140
virtual
bool
set_value
(
Size
row,
Size
column,
Float64
value) = 0;
141
146
virtual
void
get_values
(
bool
* values)
const
= 0;
147
152
virtual
void
get_values
(
Sint32
* values)
const
= 0;
153
158
virtual
void
get_values
(
Uint32
* values)
const
= 0;
159
164
virtual
void
get_values
(
Float32
* values)
const
= 0;
165
170
virtual
void
get_values
(
Float64
* values)
const
= 0;
171
176
virtual
void
set_values
(
const
bool
* values) = 0;
177
182
virtual
void
set_values
(
const
Sint32
* values) = 0;
183
188
virtual
void
set_values
(
const
Uint32
* values) = 0;
189
194
virtual
void
set_values
(
const
Float32
* values) = 0;
195
200
virtual
void
set_values
(
const
Float64
* values) = 0;
201
202
using
IData_collection::get_value
;
203
204
using
IData_collection::set_value
;
205
};
206
// end group mi_neuray_compounds
208
209
}
// namespace mi
210
211
#endif // MI_NEURAYLIB_ICOMPOUND_H
11 December 2018, 20:41, revision 313481, Doxygen 1.8.4
© 1986, 2018 NVIDIA Corporation.
All rights reserved.