NVIDIA Iray API Home  Up
 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, 2016 NVIDIA Corporation. All rights reserved.
3 //*****************************************************************************
6 //*****************************************************************************
7 
8 #ifndef MI_NEURAYLIB_ILIGHTPROFILE_H
9 #define MI_NEURAYLIB_ILIGHTPROFILE_H
10 
12 #include <mi/neuraylib/version.h>
13 
14 namespace mi {
15 
16 namespace neuraylib {
17 
22 enum Lightprofile_flags {
42  LIGHTPROFILE_FLAGS_FORCE_32_BIT = 0xffffffffU
43 };
44 
45 mi_static_assert( sizeof( Lightprofile_flags) == sizeof( Uint32));
46 
56  LIGHTPROFILE_DEGREE_FORCE_32_BIT = 0xffffffffU
57 };
58 
59 mi_static_assert( sizeof( Lightprofile_degree) == sizeof( Uint32));
60 
72  public base::Interface_declare<0xa4ac11fd,0x705d,0x4a0a,0x80,0x0b,0x38,0xe5,0x3d,0x46,0x96,0x47,
73  neuraylib::IScene_element>
74 {
75 public:
95  virtual Sint32 reset_file(
96  const char* filename,
97  Uint32 resolution_phi = 0,
98  Uint32 resolution_theta = 0,
101 
108  virtual const char* get_filename() const = 0;
109 
115  virtual const char* get_original_filename() const = 0;
116 
118  virtual Uint32 get_resolution_phi() const = 0;
119 
121  virtual Uint32 get_resolution_theta() const = 0;
122 
124  virtual Lightprofile_degree get_degree() const = 0;
125 
129  virtual Uint32 get_flags() const = 0;
130 
135  virtual Float32 get_phi( Uint32 index) const = 0;
136 
141  virtual Float32 get_theta( Uint32 index) const = 0;
142 
150  virtual const Float32* get_data() const = 0;
151 
159  virtual Float32 get_data( Uint32 index_phi, Uint32 index_theta) const = 0;
160 
165  virtual Float64 get_candela_multiplier() const = 0;
166 
179  virtual Float32 sample( Float32 phi, Float32 theta, bool candela) const = 0;
180 };
181  // end group mi_neuray_misc
183 
184 } // namespace neuraylib
185 
186 #ifdef MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
191 using neuraylib::LIGHTPROFILE_DEGREE_FORCE_32_BIT;
192 using neuraylib::LIGHTPROFILE_FLAGS_FORCE_32_BIT;
199 #endif // MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
200 
201 } // namespace mi
202 
203 #endif // MI_NEURAYLIB_ILIGHTPROFILE_H