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
isubdivision_surface.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_ISUBDIVISION_SURFACE_H
9
#define MI_NEURAYLIB_ISUBDIVISION_SURFACE_H
10
11
#include <
mi/neuraylib/ipolygon_mesh.h
>
12
#include <
mi/neuraylib/version.h
>
13
14
namespace
mi {
15
16
class
IArray;
17
18
namespace
neuraylib {
19
24
enum
Vertex_feature
{
31
SMOOTH_VERTEX
= 0,
32
CORNER_VERTEX
= 1,
33
VERTEX_FEATURE_FORCE_32_BIT = 0xffffffffU
34
};
35
36
mi_static_assert
(
sizeof
(
Vertex_feature
) ==
sizeof
(
Uint32
));
37
57
class
ISubdivision_surface
:
58
public
base::Interface_declare
<0x6a65666a,0x849d,0x4081,0xaa,0x32,0xb3,0xa1,0xeb,0xa0,0x6f,0xe2,
59
neuraylib::IPolygon_mesh>
60
{
61
public
:
63
64
66
virtual
Uint32
triangles_size
()
const
= 0;
67
74
virtual
Uint32
triangles_capacity
()
const
= 0;
75
82
virtual
void
reserve_triangles
(
Uint32
n) = 0;
83
85
virtual
Uint32
quads_size
()
const
= 0;
86
93
virtual
Uint32
quads_capacity
()
const
= 0;
94
101
virtual
void
reserve_quads
(
Uint32
n) = 0;
102
104
106
126
virtual
Sint32
set_crease_value
(
Polygon_handle_struct
p,
Uint32
index,
Float32
value) = 0;
127
135
virtual
Float32
get_crease_value
(
Polygon_handle_struct
p,
Uint32
index)
const
= 0;
136
152
virtual
Sint32
set_crease_values
(
Polygon_handle_struct
p,
const
Float32
* values) = 0;
153
161
virtual
const
Float32
*
get_crease_values
(
Polygon_handle_struct
p)
const
= 0;
162
175
virtual
IArray
*
get_inconsistent_crease_values
()
const
= 0;
176
178
180
189
virtual
Sint32
set_vertex_feature
(
Uint32
index,
Vertex_feature
feature) = 0;
190
195
virtual
Vertex_feature
get_vertex_feature
(
Uint32
index)
const
= 0;
196
198
};
199
// end group mi_neuray_leaf_nodes
201
202
}
// namespace neuraylib
203
204
#ifdef MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
205
using
neuraylib::CORNER_VERTEX
;
206
using
neuraylib::IPolygon_mesh
;
207
using
neuraylib::ISubdivision_surface
;
208
using
neuraylib::Polygon_handle_struct
;
209
using
neuraylib::SMOOTH_VERTEX
;
210
using
neuraylib::VERTEX_FEATURE_FORCE_32_BIT;
211
using
neuraylib::Vertex_feature
;
212
#endif // MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
213
214
}
// namespace mi
215
216
#endif // MI_NEURAYLIB_ISUBDIVISION_SURFACE_H
mi
neuraylib
isubdivision_surface.h
Generated on Fri Mar 4 2016 19:53:39. Build 250909.11169, Doxygen 1.8.4