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
ipolygon_mesh.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_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
#include <
mi/neuraylib/version.h
>
17
18
namespace
mi {
19
20
namespace
neuraylib {
21
26
class
IPolygon_mesh :
128
public
base::Interface_declare<0x598d264b,0x1d1f,0x40c9,0x88,0xe6,0x54,0x19,0x30,0x08,0xc7,0xb2,
129
neuraylib::IScene_element>
130
{
131
public
:
132
134
135
137
virtual
Uint32
points_size
()
const
= 0;
138
145
virtual
Uint32
points_capacity
()
const
= 0;
146
153
virtual
void
reserve_points
(
Uint32
n) = 0;
154
164
virtual
Sint32
point
(
Uint32
index,
Float32_3_struct
& p)
const
= 0;
165
175
virtual
Sint32
point
(
Uint32
index,
Float64_3_struct
& p)
const
= 0;
176
182
virtual
Uint32
append_point
(
const
Float32_3_struct
& p) = 0;
183
189
virtual
Uint32
append_point
(
const
Float64_3_struct
& p) = 0;
190
200
virtual
Sint32
set_point
(
Uint32
index,
const
Float32_3_struct
& p) = 0;
201
211
virtual
Sint32
set_point
(
Uint32
index,
const
Float64_3_struct
& p) = 0;
212
214
216
218
virtual
Uint32
polygons_size
()
const
= 0;
219
223
virtual
Uint32
polygon_corners_size
(
Polygon_handle_struct
p)
const
= 0;
224
226
virtual
bool
is_hole
(
Polygon_handle_struct
p)
const
= 0;
227
230
virtual
Uint32
indices_size
()
const
= 0;
231
233
virtual
bool
is_polygon_size_constant
()
const
= 0;
234
243
virtual
Polygon_handle_struct
add_polygon
(
Uint32
num_vertices,
bool
hole =
false
) = 0;
244
246
248
252
virtual
const
IPolygon_connectivity*
access_mesh_connectivity
()
const
= 0;
253
261
virtual
IPolygon_connectivity*
edit_mesh_connectivity
() = 0;
262
278
virtual
Sint32
attach_mesh_connectivity
( IPolygon_connectivity* connectivity) = 0;
279
281
283
290
virtual
IPolygon_connectivity*
create_connectivity
(
291
Connectivity_map_type
map_type =
CONNECTIVITY_MAP_GENERIC
) = 0;
292
299
virtual
const
IPolygon_connectivity*
access_connectivity
(
Mesh_attribute_name
name)
const
= 0;
300
311
virtual
IPolygon_connectivity*
edit_connectivity
(
Mesh_attribute_name
name) = 0;
312
327
virtual
Sint32
attach_connectivity
( IPolygon_connectivity* connectivity) = 0;
328
340
virtual
Sint32
remove_connectivity
(
Mesh_attribute_name
name) = 0;
341
343
345
350
virtual
bool
has_attribute
(
Mesh_attribute_name
name)
const
= 0;
351
364
virtual
IAttribute_vector*
create_attribute_vector
(
365
Mesh_attribute_name
name,
Uint32
dim = 1) = 0;
366
372
virtual
const
IAttribute_vector*
access_attribute_vector
(
373
Mesh_attribute_name
name)
const
= 0;
374
385
virtual
IAttribute_vector*
edit_attribute_vector
(
Mesh_attribute_name
name) = 0;
386
402
virtual
Sint32
attach_attribute_vector
( IAttribute_vector* attribute_vector) = 0;
403
411
virtual
Sint32
remove_attribute_vector
(
Mesh_attribute_name
name) = 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
437
virtual
void
set_maximum_displacement
(
Float32
displacement) = 0;
438
442
virtual
Float32
get_maximum_displacement
()
const
= 0;
443
445
};
446
// end group mi_neuray_leaf_nodes
448
449
}
// namespace neuraylib
450
451
#ifdef MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
452
using
neuraylib::CONNECTIVITY_MAP_GENERIC
;
453
using
neuraylib::Connectivity_map_type
;
454
using
neuraylib::IAttribute_vector;
455
using
neuraylib::IPolygon_connectivity;
456
using
neuraylib::IPolygon_mesh;
457
using
neuraylib::IScene_element;
458
using
neuraylib::Mesh_attribute_name
;
459
using
neuraylib::Polygon_handle_struct
;
460
#endif // MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
461
462
}
// namespace mi
463
464
#endif // MI_NEURAYLIB_IPOLYGON_MESH_H
mi
neuraylib
ipolygon_mesh.h
Generated on Fri Mar 4 2016 19:53:39. Build 250909.11169, Doxygen 1.8.4