NVIDIA Iray API Home  Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
iexport_api.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_IEXPORT_API_H
9 #define MI_NEURAYLIB_IEXPORT_API_H
10 
12 #include <mi/neuraylib/version.h>
13 
14 namespace mi {
15 
16 class IArray;
17 class IMap;
18 class IString;
19 
20 namespace neuraylib {
21 
22 class IBsdf_isotropic_data;
23 class ICanvas;
24 class IExport_result;
25 class IExporter;
26 class IImpexp_state;
27 class ITransaction;
28 class IWriter;
29 
34 class IExport_api : public
36  mi::base::Interface_declare<0xe254f559,0x4056,0x4166,0x83,0x6a,0x4c,0x00,0x90,0x0a,0xdb,0x22>
37 {
38 public:
40 
41 
82  virtual const IExport_result* export_scene(
83  ITransaction* transaction,
84  const char* uri,
85  const char* rootgroup,
86  const char* caminst = 0,
87  const char* options = 0,
88  const IMap* exporter_options = 0) const = 0;
89 
146  virtual const IExport_result* export_elements(
147  ITransaction* transaction,
148  const char* uri,
149  const IArray* elements,
150  const IMap* exporter_options = 0) const = 0;
151 
158  virtual const IExport_result* export_elements_to_string(
159  ITransaction* transaction,
160  const IArray* elements,
161  const char* file_extension,
162  IString* result_string,
163  const IMap* exporter_options = 0) const = 0;
164 
197  virtual Sint32 export_canvas(
198  const char* uri, const ICanvas* canvas, Uint32 quality = 100) const = 0;
199 
211  virtual Sint32 export_bsdf_data(
212  const char* uri,
213  const IBsdf_isotropic_data* reflection,
214  const IBsdf_isotropic_data* transmission) const = 0;
215 
217 
219 
226  virtual Size get_exporter_length() const = 0;
227 
235  virtual const IExporter* get_exporter( Size index) const = 0;
236 
247  virtual const IExporter* select_exporter_by_extension( const char* extension) const = 0;
248 
254  virtual IWriter* get_writer( const char* uri) const = 0;
255 
257 
259 
301  virtual const IString* convert_filename_to_uri( const char* filename) const = 0;
302 
355  virtual const IString* convert_uri_to_filename( const char* uri) const = 0;
356 };
357  // end group mi_neuray_impexp
359 
360 } // namespace neuraylib
361 
362 #ifdef MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
363 using neuraylib::IBsdf_isotropic_data;
364 using neuraylib::IExport_result;
365 using neuraylib::IImpexp_state;
366 using neuraylib::IWriter;
367 #endif // MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
368 
369 } // namespace mi
370 
371 #endif // MI_NEURAYLIB_IEXPORT_API_H