NVIDIA Iray API Home  Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
iimport_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_IIMPORT_API_H
9 #define MI_NEURAYLIB_IIMPORT_API_H
10 
12 #include <mi/neuraylib/version.h>
13 
14 namespace mi {
15 
16 class IMap;
17 class IString;
18 
19 namespace neuraylib {
20 
21 class IBsdf_isotropic_data;
22 class ICanvas;
23 class IImpexp_state;
24 class IImport_result;
25 class IImporter;
26 class IReader;
27 class ITransaction;
28 
96 class IImport_api : public
98  mi::base::Interface_declare<0x13fc124d,0x2525,0x473f,0xb1,0x9e,0xef,0x63,0x80,0x5a,0x2c,0x68>
99 {
100 public:
102 
103 
156  virtual const IImport_result* import_elements(
157  ITransaction* transaction,
158  const char* uri,
159  const IMap* importer_options = 0,
160  const IImpexp_state* parent_state = 0) const = 0;
161 
194  virtual const IImport_result* import_elements_from_string(
195  ITransaction* transaction,
196  const char* data,
197  const char* file_extension,
198  const IMap* importer_options = 0,
199  const IImpexp_state* parent_state = 0) const = 0;
200 
209  virtual ICanvas* import_canvas( const char* uri) const = 0;
210 
234  virtual Sint32 import_bsdf_data(
235  const char* uri,
236  IBsdf_isotropic_data** reflection,
237  IBsdf_isotropic_data** transmission) const = 0;
238 
240 
242 
249  virtual Size get_importer_length() const = 0;
250 
258  virtual const IImporter* get_importer( Size index) const = 0;
259 
265  virtual const IImporter* select_importer_by_uri( const char* uri) const = 0;
266 
272  virtual IReader* get_reader( const char* uri) const = 0;
273 
275 
277 
288  virtual const IString* get_absolute_path(
289  ITransaction* transaction, const char* path) const = 0;
290 
299  virtual const IString* create_importer_directory( ITransaction* transaction) const = 0;
300 
341  virtual const IString* convert_filename_to_uri( const char* filename) const = 0;
342 
396  virtual const IString* convert_uri_to_filename( const char* uri) const = 0;
397 
399 };
400  // end group mi_neuray_impexp
402 
403 } // namespace neuraylib
404 
405 #ifdef MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
406 using neuraylib::IBsdf_isotropic_data;
407 using neuraylib::IImpexp_state;
408 using neuraylib::IImport_result;
409 using neuraylib::IReader;
410 #endif // MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
411 
412 } // namespace mi
413 
414 #endif // MI_NEURAYLIB_IIMPORT_API_H