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
ipolygon_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_IPOLYGON_MESH_H
9
#define MI_NEURAYLIB_IPOLYGON_MESH_H
10
11
#include <
mi/neuraylib/iattribute_vector.h
>
12
#include <
mi/neuraylib/identifier.h
>
13
#include <
mi/neuraylib/ipolygon_connectivity.h
>
14
#include <
mi/neuraylib/iscene_element.h
>
15
#include <
mi/neuraylib/typedefs.h
>
16
17
namespace
mi {
18
23
class
IPolygon_mesh :
123
public
base::Interface_declare<0x598d264b,0x1d1f,0x40c9,0x88,0xe6,0x54,0x19,0x30,0x08,0xc7,0xb2,
124
IScene_element>
125
{
126
public
:
127
129
130
132
virtual
Uint32
points_size
()
const
= 0;
133
140
virtual
Uint32
points_capacity
()
const
= 0;
141
148
virtual
void
reserve_points
(
Uint32
n) = 0;
149
159
virtual
Sint32
point
(
Uint32
index,
Float32_3_struct
& p)
const
= 0;
160
170
virtual
Sint32
point
(
Uint32
index,
Float64_3_struct
& p)
const
= 0;
171
177
virtual
Uint32
append_point
(
const
Float32_3_struct
& p) = 0;
178
184
virtual
Uint32
append_point
(
const
Float64_3_struct
& p) = 0;
185
195
virtual
Sint32
set_point
(
Uint32
index,
const
Float32_3_struct
& p) = 0;
196
206
virtual
Sint32
set_point
(
Uint32
index,
const
Float64_3_struct
& p) = 0;
207
209
211
213
virtual
Uint32
polygons_size
()
const
= 0;
214
218
virtual
Uint32
polygon_corners_size
(
Polygon_handle_struct
p)
const
= 0;
219
221
virtual
bool
is_hole
(
Polygon_handle_struct
p)
const
= 0;
222
225
virtual
Uint32
indices_size
()
const
= 0;
226
228
virtual
bool
is_polygon_size_constant
()
const
= 0;
229
238
virtual
Polygon_handle_struct
add_polygon
(
Uint32
num_vertices,
bool
hole =
false
) = 0;
239
241
243
247
virtual
const
IPolygon_connectivity*
access_mesh_connectivity
()
const
= 0;
248
256
virtual
IPolygon_connectivity*
edit_mesh_connectivity
() = 0;
257
273
virtual
Sint32
attach_mesh_connectivity
( IPolygon_connectivity* connectivity) = 0;
274
276
278
285
virtual
IPolygon_connectivity*
create_connectivity
(
286
Connectivity_map_type
map_type =
CONNECTIVITY_MAP_GENERIC
) = 0;
287
293
virtual
const
IPolygon_connectivity*
access_connectivity
(
Mesh_attribute_name
name)
const
= 0;
294
304
virtual
IPolygon_connectivity*
edit_connectivity
(
Mesh_attribute_name
name) = 0;
305
320
virtual
Sint32
attach_connectivity
( IPolygon_connectivity* connectivity) = 0;
321
323
325
330
virtual
bool
has_attribute
(
Mesh_attribute_name
name)
const
= 0;
331
344
virtual
IAttribute_vector*
create_attribute_vector
(
345
Mesh_attribute_name
name,
Uint32
dim = 1) = 0;
346
352
virtual
const
IAttribute_vector*
access_attribute_vector
(
353
Mesh_attribute_name
name)
const
= 0;
354
365
virtual
IAttribute_vector*
edit_attribute_vector
(
Mesh_attribute_name
name) = 0;
366
382
virtual
Sint32
attach_attribute_vector
( IAttribute_vector* attribute_vector) = 0;
383
385
387
389
virtual
const
Float32_3_struct
&
get_bbox_min
()
const
= 0;
390
392
virtual
const
Float32_3_struct
&
get_bbox_max
()
const
= 0;
393
397
virtual
Bbox3_struct
get_tight_bbox
(
398
const
Float64_4_4_struct
& transformation_matrix)
const
= 0;
399
401
403
409
virtual
void
set_maximum_displacement
(
Float32
displacement) = 0;
410
414
virtual
Float32
get_maximum_displacement
()
const
= 0;
415
417
418
};
419
// end group mi_neuray_leaf_nodes
421
422
}
// namespace mi
423
424
#endif // MI_NEURAYLIB_IPOLYGON_MESH_H
mi
neuraylib
ipolygon_mesh.h
Generated on Tue Aug 12 2014 15:28:35. Build 221133.3991, Doxygen 1.8.4