NVIDIA Iray API
Home
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
iattribute_vector.h
Go to the documentation of this file.
1
//*****************************************************************************
2
// Copyright 1986, 2016 NVIDIA Corporation. All rights reserved.
3
//*****************************************************************************
6
//*****************************************************************************
7
8
#ifndef MI_NEURAYLIB_IATTRIBUTE_VECTOR_H
9
#define MI_NEURAYLIB_IATTRIBUTE_VECTOR_H
10
11
#include <
mi/base/interface_declare.h
>
12
#include <
mi/neuraylib/typedefs.h
>
13
#include <
mi/neuraylib/version.h
>
14
15
namespace
mi {
16
17
namespace
neuraylib {
18
23
enum
Mesh_attribute_name
60
{
61
// Tag used to indicate no attribute.
62
ATTR_NONE = 0,
63
65
ATTR_NORMAL
= 1,
66
69
ATTR_MOTION
= 2,
70
72
ATTR_DERIVATIVES
= 3,
73
79
ATTR_MATERIAL_INDEX
= 4,
80
86
ATTR_TEXTURE
= 6,
87
89
ATTR_TEXTURE_NUM
= 256,
90
92
ATTR_MAX
=
ATTR_TEXTURE
+
ATTR_TEXTURE_NUM
,
93
94
// Undocumented, for alignment only.
95
ATTR_FORCE_32_BIT = 0xffffffffU
96
};
97
98
mi_static_assert
(
sizeof
(
Mesh_attribute_name
) ==
sizeof
(
Uint32
));
99
106
enum
Connectivity_map_type
{
107
111
CONNECTIVITY_MAP_GENERIC
,
112
113
// Undocumented, for alignment only.
114
CONNECTIVITY_FORCE_32_BIT = 0xffffffffU
115
};
116
117
mi_static_assert
(
sizeof
(
Connectivity_map_type
) ==
sizeof
(
Uint32
));
118
119
152
class
IAttribute_vector
:
153
public
base::Interface_declare
<0xfbe79601,0x3c89,0x4a8d,0xbf,0x0d,0xae,0x21,0x59,0x9a,0xbf,0x80>
154
{
155
public
:
157
158
160
virtual
Uint32
size
()
const
= 0;
161
163
virtual
Uint32
capacity
()
const
= 0;
164
166
virtual
void
resize
(
Uint32
size
) = 0;
167
169
virtual
void
reserve
(
Uint32
size) = 0;
170
174
virtual
void
clear
() = 0;
175
180
virtual
bool
is_valid_attribute
()
const
= 0;
181
190
virtual
Uint32
array_size
()
const
= 0;
191
193
195
200
virtual
Uint32
get_uint32
(
Uint32
index)
const
= 0;
201
208
virtual
Sint32
append_uint32
(
Uint32
u) = 0;
209
217
virtual
Sint32
set_uint32
(
Uint32
index,
Uint32
u) = 0;
218
220
222
227
virtual
const
Float32_3_struct
&
get_vector3
(
Uint32
index)
const
= 0;
228
235
virtual
Sint32
append_vector3
(
const
Float32_3_struct
& v) = 0;
236
244
virtual
Sint32
set_vector3
(
Uint32
index,
const
Float32_3_struct
& v) = 0;
245
247
249
255
virtual
const
Float32_3_struct
*
get_vector3
(
Uint32
index,
Uint32
n)
const
= 0;
256
266
virtual
Sint32
append_vector3
(
const
Float32_3_struct
* v,
Uint32
n) = 0;
267
278
virtual
Sint32
set_vector3
(
279
Uint32
index,
const
Float32_3_struct
* v,
Uint32
n) = 0;
280
282
284
290
virtual
const
Float32
*
get_float32
(
Uint32
index,
Uint32
n)
const
= 0;
291
300
virtual
Sint32
append_float32
(
const
Float32
* f,
Uint32
n) = 0;
301
311
virtual
Sint32
set_float32
(
Uint32
index,
const
Float32
* f,
Uint32
n) = 0;
312
314
};
315
// end group mi_neuray_leaf_nodes
317
318
}
// namespace neuraylib
319
320
#ifdef MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
321
using
neuraylib::ATTR_DERIVATIVES
;
322
using
neuraylib::ATTR_FORCE_32_BIT;
323
using
neuraylib::ATTR_MATERIAL_INDEX
;
324
using
neuraylib::ATTR_MAX
;
325
using
neuraylib::ATTR_MOTION
;
326
using
neuraylib::ATTR_NONE;
327
using
neuraylib::ATTR_NORMAL
;
328
using
neuraylib::ATTR_TEXTURE
;
329
using
neuraylib::ATTR_TEXTURE_NUM
;
330
using
neuraylib::CONNECTIVITY_FORCE_32_BIT;
331
using
neuraylib::CONNECTIVITY_MAP_GENERIC
;
332
using
neuraylib::Connectivity_map_type
;
333
using
neuraylib::IAttribute_vector
;
334
using
neuraylib::Mesh_attribute_name
;
335
#endif // MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
336
337
}
// namespace mi
338
339
#endif // MI_NEURAYLIB_IATTRIBUTE_VECTOR_H
mi
neuraylib
iattribute_vector.h
Generated on Fri Mar 4 2016 19:53:39. Build 250909.11169, Doxygen 1.8.4