Iray SDK API nvidia_logo_transpbg.gif Up
iexport_api.h
Go to the documentation of this file.
1/***************************************************************************************************
2 * Copyright 2024 NVIDIA Corporation. All rights reserved.
3 **************************************************************************************************/
6
7#ifndef MI_NEURAYLIB_IEXPORT_API_H
8#define MI_NEURAYLIB_IEXPORT_API_H
9
12
13namespace mi {
14
15class IArray;
16class IMap;
17class IString;
18
19namespace neuraylib {
20
21class IBsdf_isotropic_data;
22class ICanvas;
23class IExport_result;
24class IExporter;
25class IImpexp_state;
26class ILightprofile;
27class ITransaction;
28class IVolume_data;
29class IWriter;
30
36class IExport_api : public
37 mi::base::Interface_declare<0xe254f559,0x4056,0x4166,0x83,0x6a,0x4c,0x00,0x90,0x0a,0xdb,0x22>
38{
39public:
41
42
84 ITransaction* transaction,
85 const char* uri,
86 const char* rootgroup,
87 const char* caminst = 0,
88 const char* options = 0,
89 const IMap* exporter_options = 0) const = 0;
90
152 ITransaction* transaction,
153 const char* uri,
154 const IArray* elements,
155 const IMap* exporter_options = 0) const = 0;
156
172 ITransaction* transaction,
173 const IArray* elements,
174 const char* file_extension,
175 IString* result_string,
176 const IMap* exporter_options = 0) const = 0;
177
216 const char* uri,
217 const ICanvas* canvas,
218 Uint32 quality = 100,
219 bool force_default_gamma = false) const = 0;
220
233 const char* uri, const ILightprofile* lightprofile) const = 0;
234
247 const char* uri,
248 const IBsdf_isotropic_data* reflection,
249 const IBsdf_isotropic_data* transmission) const = 0;
250
270 const char* uri,
271 const char* selectors[],
272 const IVolume_data* data[],
273 Size count) const = 0;
274
276
278
285 virtual Size get_exporter_length() const = 0;
286
294 virtual const IExporter* get_exporter( Size index) const = 0;
295
306 virtual const IExporter* select_exporter_by_extension( const char* extension) const = 0;
307
313 virtual IWriter* get_writer( const char* uri) const = 0;
314
316
318
362 virtual const IString* convert_filename_to_uri( const char* filename) const = 0;
363
418 virtual const IString* convert_uri_to_filename( const char* uri) const = 0;
419
441 ITransaction* transaction,
442 const char* rootgroup,
443 const char* caminst,
444 const char* options) const = 0;
445
455 const char* marker, Size f, Sint32 u, Sint32 v) const = 0;
456
457#ifdef MI_NEURAYLIB_DEPRECATED_12_1
458 inline const IString* uvtile_marker_to_string( const char* marker, Sint32 u, Sint32 v)
459 { return frame_uvtile_marker_to_string( marker, 0, u, v); }
460#endif
461
462 virtual const IString* MI_NEURAYLIB_DEPRECATED_METHOD_12_1(uvtile_string_to_marker)(
463 const char* str, const char* marker) const = 0;
464
466};
467 // end group mi_neuray_impexp
469
470} // namespace neuraylib
471
472} // namespace mi
473
474#endif // MI_NEURAYLIB_IEXPORT_API_H
This interface represents static arrays, i.e., arrays with a fixed number of elements.
Definition: iarray.h:37
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 canvas represented by a rectangular array of tiles.
Definition: icanvas.h:85
This interface is used to export files.
Definition: iexport_api.h:38
virtual const IExport_result * export_elements(ITransaction *transaction, const char *uri, const IArray *elements, const IMap *exporter_options=0) const =0
Exports scene elements.
virtual Sint32 export_lightprofile(const char *uri, const ILightprofile *lightprofile) const =0
Exports a light profile to disk.
virtual const IString * frame_uvtile_marker_to_string(const char *marker, Size f, Sint32 u, Sint32 v) const =0
Replaces a frame and/or uv-tile marker by coordinates of a given uv-tile.
virtual const IExport_result * export_elements_to_string(ITransaction *transaction, const IArray *elements, const char *file_extension, IString *result_string, const IMap *exporter_options=0) const =0
Exports scene elements to string.
virtual const IString * convert_filename_to_uri(const char *filename) const =0
Converts a filename into a URI.
virtual const IExporter * select_exporter_by_extension(const char *extension) const =0
Returns the exporter that would be used for a particular file name extension.
virtual Sint32 export_canvas(const char *uri, const ICanvas *canvas, Uint32 quality=100, bool force_default_gamma=false) const =0
Exports a canvas to a file on disk.
virtual Size get_exporter_length() const =0
Returns the number of registered exporters.
virtual const IArray * get_export_dependencies(ITransaction *transaction, const char *rootgroup, const char *caminst, const char *options) const =0
Returns scene dependencies suitable for an export operation.
virtual const IExport_result * export_scene(ITransaction *transaction, const char *uri, const char *rootgroup, const char *caminst=0, const char *options=0, const IMap *exporter_options=0) const =0
Exports a scene.
virtual Sint32 export_volume_data(const char *uri, const char *selectors[], const IVolume_data *data[], Size count) const =0
Exports a number of volume data sets to a file.
virtual IWriter * get_writer(const char *uri) const =0
Returns a random-access writer that can be used to export to the given resource.
virtual const IString * convert_uri_to_filename(const char *uri) const =0
Converts a URI into a filename.
virtual Sint32 export_bsdf_data(const char *uri, const IBsdf_isotropic_data *reflection, const IBsdf_isotropic_data *transmission) const =0
Exports BSDF data to a file on disk.
virtual const IExporter * get_exporter(Size index) const =0
Returns a registered exporter.
This interface represents the result of an export operation.
Definition: iexport_result.h:44
Abstract interface for exporters.
Definition: iexporter.h:33
This interface represents light profiles.
Definition: ilightprofile.h:73
A transaction provides a consistent view on the database.
Definition: itransaction.h:81
Interface representing a volume data set.
Definition: ivolume.h:89
A writer supports binary block writes and string-oriented line writes that accept a zero-terminated s...
Definition: iwriter.h:27
unsigned int Uint32
32-bit unsigned integer.
Definition: types.h:49
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
Major and minor version number and an optional qualifier.