NVIDIA Iray API
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Groups
Pages
itriangle_mesh.h
Go to the documentation of this file.
1
//*****************************************************************************
2
// Copyright 1986, 2014 NVIDIA Corporation. All rights reserved.
3
//*****************************************************************************
6
//*****************************************************************************
7
8
#ifndef MI_NEURAYLIB_ITRIANGLE_MESH_H
9
#define MI_NEURAYLIB_ITRIANGLE_MESH_H
10
11
#include <
mi/neuraylib/iattribute_vector.h
>
12
#include <
mi/neuraylib/identifier.h
>
13
#include <
mi/neuraylib/iscene_element.h
>
14
#include <
mi/neuraylib/itriangle_connectivity.h
>
15
#include <
mi/neuraylib/typedefs.h
>
16
17
namespace
mi {
18
23
class
ITriangle_mesh :
117
public
base::Interface_declare<0x71006633,0x1e05,0x4c21,0xa0,0x09,0x07,0x6f,0x33,0x6d,0x9c,0x89,
118
IScene_element>
119
{
120
public
:
121
123
124
126
virtual
Uint32
points_size
()
const
= 0;
127
134
virtual
Uint32
points_capacity
()
const
= 0;
135
142
virtual
void
reserve_points
(
Uint32
n) = 0;
143
153
virtual
Sint32
point
(
Uint32
index,
Float32_3_struct
& p)
const
= 0;
154
164
virtual
Sint32
point
(
Uint32
index,
Float64_3_struct
& p)
const
= 0;
165
171
virtual
Uint32
append_point
(
const
Float32_3_struct
& p) = 0;
172
178
virtual
Uint32
append_point
(
const
Float64_3_struct
& p) = 0;
179
189
virtual
Sint32
set_point
(
Uint32
index,
const
Float32_3_struct
& p) = 0;
190
200
virtual
Sint32
set_point
(
Uint32
index,
const
Float64_3_struct
& p) = 0;
201
203
205
207
virtual
Uint32
triangles_size
()
const
= 0;
208
215
virtual
Uint32
triangles_capacity
()
const
= 0;
216
223
virtual
void
reserve_triangles
(
Uint32
n) = 0;
224
228
virtual
Triangle_point_indices_struct
triangle_point_indices
(
229
Triangle_handle_struct
hnd)
const
= 0;
230
240
virtual
Triangle_handle_struct
append_triangle
(
241
const
Triangle_point_indices_struct& triangle)= 0;
242
254
virtual
Sint32
set_triangle
(
255
Triangle_handle_struct
hnd,
const
Triangle_point_indices_struct& triangle) = 0;
256
258
260
264
virtual
const
ITriangle_connectivity*
access_mesh_connectivity
()
const
= 0;
265
273
virtual
ITriangle_connectivity*
edit_mesh_connectivity
() = 0;
274
290
virtual
Sint32
attach_mesh_connectivity
( ITriangle_connectivity* connectivity) = 0;
291
293
295
302
virtual
ITriangle_connectivity*
create_connectivity
(
303
Connectivity_map_type
map_type =
CONNECTIVITY_MAP_GENERIC
) = 0;
304
310
virtual
const
ITriangle_connectivity*
access_connectivity
(
Mesh_attribute_name
name)
const
= 0;
311
321
virtual
ITriangle_connectivity*
edit_connectivity
(
Mesh_attribute_name
name) = 0;
322
337
virtual
Sint32
attach_connectivity
( ITriangle_connectivity* connectivity) = 0;
338
340
342
347
virtual
bool
has_attribute
(
Mesh_attribute_name
name)
const
= 0;
348
365
virtual
IAttribute_vector*
create_attribute_vector
(
366
Mesh_attribute_name
name,
Uint32
dim = 1) = 0;
367
377
virtual
const
IAttribute_vector*
access_attribute_vector
(
378
Mesh_attribute_name
name)
const
= 0;
379
394
virtual
IAttribute_vector*
edit_attribute_vector
(
Mesh_attribute_name
name) = 0;
395
411
virtual
Sint32
attach_attribute_vector
( IAttribute_vector* attribute_vector) = 0;
412
414
416
418
virtual
const
Float32_3_struct
&
get_bbox_min
()
const
= 0;
419
421
virtual
const
Float32_3_struct
&
get_bbox_max
()
const
= 0;
422
426
virtual
Bbox3_struct
get_tight_bbox
(
427
const
Float64_4_4_struct
& transformation_matrix)
const
= 0;
428
430
432
438
virtual
void
set_maximum_displacement
(
Float32
displacement) = 0;
439
443
virtual
Float32
get_maximum_displacement
()
const
= 0;
444
446
};
447
// end group mi_neuray_leaf_nodes
449
450
}
// namespace mi
451
452
#endif // MI_NEURAYLIB_ITRIANGLE_MESH_H
mi
neuraylib
itriangle_mesh.h
Generated on Tue Aug 12 2014 15:28:35. Build 221133.3991, Doxygen 1.8.4