Material Definition Language API nvidia_logo_transpbg.gif Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
iimage.h
Go to the documentation of this file.
1 /***************************************************************************************************
2  * Copyright 2018 NVIDIA Corporation. All rights reserved.
3  **************************************************************************************************/
6 
7 #ifndef MI_NEURAYLIB_IIMAGE_H
8 #define MI_NEURAYLIB_IIMAGE_H
9 
11 
12 namespace mi {
13 
14 class IArray;
15 
16 namespace neuraylib {
17 
18 class ICanvas;
19 class IReader;
20 
32 class IImage :
63  public base::Interface_declare<0xca59b977,0x30ee,0x4172,0x91,0x53,0xb7,0x70,0x2c,0x6b,0x3a,0x76,
64  neuraylib::IScene_element>
65 {
66 public:
80  virtual Sint32 reset_file( const char* filename) = 0;
81 
95  virtual Sint32 reset_reader( IReader* reader, const char* image_format) = 0;
96 
110  virtual Sint32 reset_reader( IArray* reader, const char* image_format) = 0;
111 
119  virtual const char* get_filename( Uint32 uvtile_id = 0) const = 0;
120 
126  virtual const char* get_original_filename() const = 0;
127 
136  virtual bool set_from_canvas( const ICanvas* canvas) = 0;
137 
149  virtual bool set_from_canvas( ICanvas* canvas, bool shared = false) = 0;
150 
159  virtual bool set_from_canvas( const IArray* uvtiles) = 0;
160 
173  virtual bool set_from_canvas( IArray* uvtiles, bool shared = false) = 0;
174 
183  virtual const ICanvas* get_canvas( Uint32 level = 0, Uint32 uvtile_id = 0) const = 0;
184 
190  virtual const char* get_type( Uint32 uvtile_id = 0) const = 0 ;
191 
196  virtual Uint32 get_levels( Uint32 uvtile_id = 0) const = 0;
197 
203  virtual Uint32 resolution_x( Uint32 level = 0, Uint32 uvtile_id = 0) const = 0;
204 
210  virtual Uint32 resolution_y( Uint32 level = 0, Uint32 uvtile_id = 0) const = 0;
211 
217  virtual Uint32 resolution_z( Uint32 level = 0, Uint32 uvtile_id = 0) const = 0;
218 
221  virtual Size get_uvtile_length() const = 0;
222 
229  virtual Sint32 get_uvtile_uv( Uint32 uvtile_id, Sint32& u, Sint32& v) const = 0;
230 
231  // Returns the uvtile-id corresponding to the tile at u,v.
236  virtual Uint32 get_uvtile_id( Sint32 u, Sint32 v) const = 0;
237 
238  // Returns true if this image represents a uvtile/udim image sequence.
239  virtual bool is_uvtile() const = 0;
240 };
241  // end group mi_neuray_misc
243 
244 } // namespace neuraylib
245 
246 } // namespace mi
247 
248 #endif // MI_NEURAYLIB_IIMAGE_H