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
itriangle_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_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
#include <
mi/neuraylib/version.h
>
17
18
namespace
mi {
19
20
namespace
neuraylib {
21
26
class
ITriangle_mesh :
122
public
base::Interface_declare<0x71006633,0x1e05,0x4c21,0xa0,0x09,0x07,0x6f,0x33,0x6d,0x9c,0x89,
123
neuraylib::IScene_element>
124
{
125
public
:
126
128
129
131
virtual
Uint32
points_size
()
const
= 0;
132
139
virtual
Uint32
points_capacity
()
const
= 0;
140
147
virtual
void
reserve_points
(
Uint32
n) = 0;
148
158
virtual
Sint32
point
(
Uint32
index,
Float32_3_struct
& p)
const
= 0;
159
169
virtual
Sint32
point
(
Uint32
index,
Float64_3_struct
& p)
const
= 0;
170
176
virtual
Uint32
append_point
(
const
Float32_3_struct
& p) = 0;
177
183
virtual
Uint32
append_point
(
const
Float64_3_struct
& p) = 0;
184
194
virtual
Sint32
set_point
(
Uint32
index,
const
Float32_3_struct
& p) = 0;
195
205
virtual
Sint32
set_point
(
Uint32
index,
const
Float64_3_struct
& p) = 0;
206
208
210
212
virtual
Uint32
triangles_size
()
const
= 0;
213
220
virtual
Uint32
triangles_capacity
()
const
= 0;
221
228
virtual
void
reserve_triangles
(
Uint32
n) = 0;
229
233
virtual
Triangle_point_indices_struct
triangle_point_indices
(
234
Triangle_handle_struct
hnd)
const
= 0;
235
249
virtual
Triangle_handle_struct
append_triangle
(
250
const
Triangle_point_indices_struct& triangle)= 0;
251
267
virtual
Sint32
set_triangle
(
268
Triangle_handle_struct
hnd,
const
Triangle_point_indices_struct& triangle) = 0;
269
271
273
277
virtual
const
ITriangle_connectivity*
access_mesh_connectivity
()
const
= 0;
278
286
virtual
ITriangle_connectivity*
edit_mesh_connectivity
() = 0;
287
303
virtual
Sint32
attach_mesh_connectivity
( ITriangle_connectivity* connectivity) = 0;
304
306
308
315
virtual
ITriangle_connectivity*
create_connectivity
(
316
Connectivity_map_type
map_type =
CONNECTIVITY_MAP_GENERIC
) = 0;
317
324
virtual
const
ITriangle_connectivity*
access_connectivity
(
Mesh_attribute_name
name)
const
= 0;
325
336
virtual
ITriangle_connectivity*
edit_connectivity
(
Mesh_attribute_name
name) = 0;
337
352
virtual
Sint32
attach_connectivity
( ITriangle_connectivity* connectivity) = 0;
353
365
virtual
Sint32
remove_connectivity
(
Mesh_attribute_name
name) = 0;
366
368
370
375
virtual
bool
has_attribute
(
Mesh_attribute_name
name)
const
= 0;
376
389
virtual
IAttribute_vector*
create_attribute_vector
(
390
Mesh_attribute_name
name,
Uint32
dim = 1) = 0;
391
397
virtual
const
IAttribute_vector*
access_attribute_vector
(
398
Mesh_attribute_name
name)
const
= 0;
399
410
virtual
IAttribute_vector*
edit_attribute_vector
(
Mesh_attribute_name
name) = 0;
411
427
virtual
Sint32
attach_attribute_vector
( IAttribute_vector* attribute_vector) = 0;
428
436
virtual
Sint32
remove_attribute_vector
(
Mesh_attribute_name
name) = 0;
437
439
441
443
virtual
const
Float32_3_struct
&
get_bbox_min
()
const
= 0;
444
446
virtual
const
Float32_3_struct
&
get_bbox_max
()
const
= 0;
447
451
virtual
Bbox3_struct
get_tight_bbox
(
452
const
Float64_4_4_struct
& transformation_matrix)
const
= 0;
453
455
457
462
virtual
void
set_maximum_displacement
(
Float32
displacement) = 0;
463
467
virtual
Float32
get_maximum_displacement
()
const
= 0;
468
470
};
471
// end group mi_neuray_leaf_nodes
473
474
}
// namespace neuraylib
475
476
#ifdef MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
477
using
neuraylib::CONNECTIVITY_MAP_GENERIC
;
478
using
neuraylib::Connectivity_map_type
;
479
using
neuraylib::IAttribute_vector;
480
using
neuraylib::IScene_element;
481
using
neuraylib::ITriangle_connectivity;
482
using
neuraylib::ITriangle_mesh;
483
using
neuraylib::Mesh_attribute_name
;
484
using
neuraylib::Triangle_handle_struct
;
485
using
neuraylib::Triangle_point_indices_struct;
486
#endif // MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
487
488
}
// namespace mi
489
490
#endif // MI_NEURAYLIB_ITRIANGLE_MESH_H
mi
neuraylib
itriangle_mesh.h
Generated on Fri Mar 4 2016 19:53:39. Build 250909.11169, Doxygen 1.8.4