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
ilightprofile.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_ILIGHTPROFILE_H
9
#define MI_NEURAYLIB_ILIGHTPROFILE_H
10
11
#include <
mi/neuraylib/iscene_element.h
>
12
13
namespace
mi {
14
19
enum
Lightprofile_flags
{
32
LIGHTPROFILE_CLOCKWISE
= 1,
34
LIGHTPROFILE_COUNTER_CLOCKWISE
= 2,
36
LIGHTPROFILE_ROTATE_TYPE_B
= 4,
38
LIGHTPROFILE_ROTATE_TYPE_C_90_270
= 8,
39
LIGHTPROFILE_FLAGS_FORCE_32_BIT = 0xffffffffU
40
};
41
42
mi_static_assert
(
sizeof
(
Lightprofile_flags
) ==
sizeof
(
Uint32
));
43
50
enum
Lightprofile_degree
{
51
LIGHTPROFILE_HERMITE_BASE_1
= 1,
52
LIGHTPROFILE_HERMITE_BASE_3
= 3,
53
LIGHTPROFILE_DEGREE_FORCE_32_BIT = 0xffffffffU
54
};
55
56
mi_static_assert
(
sizeof
(
Lightprofile_degree
) ==
sizeof
(
Uint32
));
57
68
class
ILightprofile
:
69
public
base::Interface_declare
<0xa4ac11fd,0x705d,0x4a0a,0x80,0x0b,0x38,0xe5,0x3d,0x46,0x96,0x47,
70
IScene_element>
71
{
72
public
:
92
virtual
Sint32
reset_file
(
93
const
char
* filename,
94
Uint32
resolution_phi = 0,
95
Uint32
resolution_theta = 0,
96
Lightprofile_degree
degree =
LIGHTPROFILE_HERMITE_BASE_1
,
97
Uint32
flags =
LIGHTPROFILE_COUNTER_CLOCKWISE
) = 0;
98
105
virtual
const
char
*
get_filename
()
const
= 0;
106
112
virtual
const
char
*
get_original_filename
()
const
= 0;
113
115
virtual
Uint32
get_resolution_phi
()
const
= 0;
116
118
virtual
Uint32
get_resolution_theta
()
const
= 0;
119
121
virtual
Lightprofile_degree
get_degree
()
const
= 0;
122
126
virtual
Uint32
get_flags
()
const
= 0;
127
132
virtual
Float32
get_phi
(
Uint32
index)
const
= 0;
133
138
virtual
Float32
get_theta
(
Uint32
index)
const
= 0;
139
147
virtual
const
Float32
*
get_data
()
const
= 0;
148
156
virtual
Float32
get_data
(
Uint32
index_phi,
Uint32
index_theta)
const
= 0;
157
162
virtual
Float64
get_candela_multiplier
()
const
= 0;
163
176
virtual
Float32
sample
(
Float32
phi,
Float32
theta,
bool
candela)
const
= 0;
177
178
#ifdef MI_NEURAYLIB_DEPRECATED_5_1
179
Uint32
get_phi_size()
const
{
return
get_resolution_phi
(); }
180
181
Uint32
get_theta_size()
const
{
return
get_resolution_theta
(); }
182
183
void
set_resolution_phi(
Uint32
resolution)
184
{
185
reset_file
(
186
get_filename
(), resolution,
get_resolution_theta
(),
get_degree
(),
get_flags
());
187
}
188
189
void
set_resolution_theta(
Uint32
resolution)
190
{
191
reset_file
(
192
get_filename
(),
get_resolution_phi
(), resolution,
get_degree
(),
get_flags
());
193
}
194
195
void
set_degree(
Lightprofile_degree
degree)
196
{
197
reset_file
(
198
get_filename
(),
get_resolution_phi
(),
get_resolution_theta
(), degree,
get_flags
());
199
}
200
201
void
set_flags(
Lightprofile_flags
flags)
202
{
203
reset_file
(
204
get_filename
(),
get_resolution_phi
(),
get_resolution_theta
(),
get_degree
(), flags);
205
}
206
#endif // MI_NEURAYLIB_DEPRECATED_5_1
207
};
208
// end group mi_neuray_misc
210
211
}
// namespace mi
212
213
#endif // MI_NEURAYLIB_ILIGHTPROFILE_H
mi
neuraylib
ilightprofile.h
Generated on Tue Aug 12 2014 15:28:35. Build 221133.3991, Doxygen 1.8.4