Material Definition Language API nvidia_logo_transpbg.gif 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 2020 NVIDIA Corporation. All rights reserved.
3  **************************************************************************************************/
6 
7 #ifndef MI_NEURAYLIB_ILIGHTPROFILE_H
8 #define MI_NEURAYLIB_ILIGHTPROFILE_H
9 
11 
12 namespace mi {
13 
14 namespace neuraylib {
15 
20 class IReader;
21 
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 
71  public base::Interface_declare<0xa4ac11fd,0x705d,0x4a0a,0x80,0x0b,0x38,0xe5,0x3d,0x46,0x96,0x47,
72  neuraylib::IScene_element>
73 {
74 public:
112  virtual Sint32 reset_file(
113  const char* filename,
114  Uint32 resolution_phi = 0,
115  Uint32 resolution_theta = 0,
118 
155  virtual Sint32 reset_reader(
156  IReader* reader,
157  Uint32 resolution_phi = 0,
158  Uint32 resolution_theta = 0,
161 
168  virtual const char* get_filename() const = 0;
169 
175  virtual const char* get_original_filename() const = 0;
176 
178  virtual Uint32 get_resolution_phi() const = 0;
179 
181  virtual Uint32 get_resolution_theta() const = 0;
182 
185  virtual Lightprofile_degree get_degree() const = 0;
186 
191  virtual Uint32 get_flags() const = 0;
192 
198  virtual Float32 get_phi( Uint32 index) const = 0;
199 
205  virtual Float32 get_theta( Uint32 index) const = 0;
206 
214  virtual const Float32* get_data() const = 0;
215 
224  virtual Float32 get_data( Uint32 index_phi, Uint32 index_theta) const = 0;
225 
231  virtual Float64 get_candela_multiplier() const = 0;
232 
246  virtual Float32 sample( Float32 phi, Float32 theta, bool candela) const = 0;
247 };
248  // end group mi_neuray_misc
250 
251 } // namespace neuraylib
252 
253 } // namespace mi
254 
255 #endif // MI_NEURAYLIB_ILIGHTPROFILE_H