Iray SDK API nvidia_logo_transpbg.gif Up
iimport_api.h
Go to the documentation of this file.
1/***************************************************************************************************
2 * Copyright 2024 NVIDIA Corporation. All rights reserved.
3 **************************************************************************************************/
6
7#ifndef MI_NEURAYLIB_IIMPORT_API_H
8#define MI_NEURAYLIB_IIMPORT_API_H
9
11
12namespace mi {
13
14class IMap;
15class IString;
16
17namespace neuraylib {
18
19class IBuffer;
20class IBsdf_isotropic_data;
21class ICanvas;
22class IImpexp_state;
23class IImport_result;
24class IImporter;
25class IReader;
26class ITransaction;
27
98class IImport_api : public
99 mi::base::Interface_declare<0x13fc124d,0x2525,0x473f,0xb1,0x9e,0xef,0x63,0x80,0x5a,0x2c,0x68>
100{
101public:
103
104
162 ITransaction* transaction,
163 const char* uri,
164 const IMap* importer_options = 0,
165 const IImpexp_state* parent_state = 0) const = 0;
166
218 ITransaction* transaction,
219 const char* data,
220 const char* file_extension,
221 const IMap* importer_options = 0,
222 const IImpexp_state* parent_state = 0) const = 0;
223
232 virtual ICanvas* import_canvas( const char* uri) const = 0;
233
260 const char* uri,
261 IBsdf_isotropic_data** reflection,
262 IBsdf_isotropic_data** transmission) const = 0;
263
265
267
274 virtual Size get_importer_length() const = 0;
275
283 virtual const IImporter* get_importer( Size index) const = 0;
284
290 virtual const IImporter* select_importer_by_uri( const char* uri) const = 0;
291
297 virtual IReader* get_reader( const char* uri) const = 0;
298
300 virtual IReader* create_reader( const IBuffer* buffer) const = 0;
301
303
305
317 ITransaction* transaction, const char* path) const = 0;
318
327 virtual const IString* create_importer_directory( ITransaction* transaction) const = 0;
328
371 virtual const IString* convert_filename_to_uri( const char* filename) const = 0;
372
428 virtual const IString* convert_uri_to_filename( const char* uri) const = 0;
429
431};
432 // end group mi_neuray_impexp
434
435} // namespace neuraylib
436
437} // namespace mi
438
439#endif // MI_NEURAYLIB_IIMPORT_API_H
This interface represents maps, i.e., a key-value based data structure.
Definition: imap.h:41
A simple string class.
Definition: istring.h:22
Mixin class template for deriving new interface declarations.
Definition: interface_declare.h:43
Abstract interface for isotropic BSDF data.
Definition: ibsdf_isotropic_data.h:44
Abstract interface for a simple buffer with binary data.
Definition: ibuffer.h:25
Abstract interface for a canvas represented by a rectangular array of tiles.
Definition: icanvas.h:85
This interface represents states that are passed to recursive calls of importers and exporters.
Definition: iimpexp_state.h:36
This interface is used to import files.
Definition: iimport_api.h:100
virtual const IString * convert_filename_to_uri(const char *filename) const =0
Converts a filename into a URI.
virtual const IString * get_absolute_path(ITransaction *transaction, const char *path) const =0
Returns the absolute path corresponding to the given path.
virtual Size get_importer_length() const =0
Returns the number of registered importers.
virtual const IImport_result * import_elements(ITransaction *transaction, const char *uri, const IMap *importer_options=0, const IImpexp_state *parent_state=0) const =0
Imports scene elements.
virtual ICanvas * import_canvas(const char *uri) const =0
Imports a canvas from a file on disk.
virtual const IImport_result * import_elements_from_string(ITransaction *transaction, const char *data, const char *file_extension, const IMap *importer_options=0, const IImpexp_state *parent_state=0) const =0
Imports scene data from a string into the database.
virtual Sint32 import_bsdf_data(const char *uri, IBsdf_isotropic_data **reflection, IBsdf_isotropic_data **transmission) const =0
Imports BSDF data from a file on disk.
virtual IReader * create_reader(const IBuffer *buffer) const =0
Creates a random-access reader for a given buffer.
virtual IReader * get_reader(const char *uri) const =0
Returns a random-access reader that can be used to import the given resource.
virtual const IImporter * get_importer(Size index) const =0
Returns a registered importer.
virtual const IString * convert_uri_to_filename(const char *uri) const =0
Converts a URI into a filename.
virtual const IImporter * select_importer_by_uri(const char *uri) const =0
Returns the importer that would be used for a particular resource.
virtual const IString * create_importer_directory(ITransaction *transaction) const =0
Creates a unique directory that can be used by importers for temporary files.
This interface represents the result of an import operation.
Definition: iimport_result.h:44
Abstract interface for importers.
Definition: iimporter.h:32
A reader supports binary block reads and string-oriented line reads that zero-terminate the result.
Definition: ireader.h:27
A transaction provides a consistent view on the database.
Definition: itransaction.h:81
Uint64 Size
Unsigned integral type that is large enough to hold the size of all types.
Definition: types.h:112
signed int Sint32
32-bit signed integer.
Definition: types.h:46
Mixin class template for deriving new interface declarations.
Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH.
Definition: neuraylib.h:179