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
iinstance.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_IINSTANCE_H
9
#define MI_NEURAYLIB_IINSTANCE_H
10
11
#include <
mi/neuraylib/iscene_element.h
>
12
#include <
mi/neuraylib/typedefs.h
>
13
#include <
mi/neuraylib/version.h
>
14
15
namespace
mi {
16
17
namespace
neuraylib {
18
23
enum
Transformation_type
{
27
SCALING
,
28
ROTATION
,
29
TRANSLATION
,
30
MATRIX
,
31
TRANSFORMATION_TYPE_FORCE_32_BIT = 0xffffffffU
32
};
33
34
mi_static_assert
(
sizeof
(
Transformation_type
) ==
sizeof
(
Uint32
));
35
101
class
IInstance
:
102
public
base::Interface_declare
<0x11b46e5a,0x577b,0x4767,0x8b,0x35,0x88,0xd5,0xa3,0x3e,0xd0,0xe9,
103
neuraylib::IScene_element>
104
{
105
public
:
117
virtual
Sint32
attach
(
const
char
* scene_element) = 0;
118
124
virtual
void
detach
() = 0;
125
129
virtual
const
char
*
get_item
()
const
= 0;
130
132
133
135
virtual
bool
srt_mode
()
const
= 0;
136
138
140
143
virtual
void
set_matrix
(
const
Float64_4_4_struct
& matrix) = 0;
144
149
virtual
const
Float64_4_4_struct
&
get_matrix
()
const
= 0;
150
152
154
162
virtual
void
resize_time_slots
(
Size
count) = 0;
163
165
virtual
Size
time_slots_size
()
const
= 0;
166
182
virtual
Sint32
set_time_value
(
Size
time_index,
Float64
value) = 0;
183
192
virtual
Sint32
get_time_value
(
Size
time_index,
Float64
& value)
const
= 0;
193
200
virtual
void
resize_transformation_sequences
(
Size
count) = 0;
201
203
virtual
Size
transformation_sequences_size
()
const
= 0;
204
218
virtual
Sint32
set_transformation_type
(
Size
sequence_index,
Transformation_type
type) = 0;
219
228
virtual
Sint32
get_transformation_type
(
229
Size
sequence_index,
Transformation_type
& type)
const
= 0;
230
245
virtual
Sint32
set_transformation_data
(
246
Size
time_index,
Size
sequence_index,
const
Float64
* data) = 0;
247
262
virtual
Sint32
get_transformation_data
(
263
Size
time_index,
Size
sequence_index,
Float64
* data)
const
= 0;
264
266
268
283
virtual
Float64_4_4_struct
evaluate
(
Float64
time = 0.0)
const
= 0;
284
286
};
287
// end group mi_neuray_scene_graph_structure
289
290
}
// namespace neuraylib
291
292
#ifdef MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
293
using
neuraylib::IInstance
;
294
using
neuraylib::IScene_element
;
295
using
neuraylib::MATRIX
;
296
using
neuraylib::ROTATION
;
297
using
neuraylib::SCALING
;
298
using
neuraylib::TRANSFORMATION_TYPE_FORCE_32_BIT;
299
using
neuraylib::TRANSLATION
;
300
using
neuraylib::Transformation_type
;
301
#endif // MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
302
303
}
// namespace mi
304
305
#endif // MI_NEURAYLIB_IINSTANCE_H
mi
neuraylib
iinstance.h
Generated on Fri Mar 4 2016 19:53:39. Build 250909.11169, Doxygen 1.8.4