Iray SDK API nvidia_logo_transpbg.gif Up
iexporter.h
Go to the documentation of this file.
1/***************************************************************************************************
2 * Copyright 2024 NVIDIA Corporation. All rights reserved.
3 **************************************************************************************************/
6
7#ifndef MI_NEURAYLIB_IEXPORTER_H
8#define MI_NEURAYLIB_IEXPORTER_H
9
12
13namespace mi {
14
15class IArray;
16class IMap;
17
18namespace neuraylib {
19
20class IExport_result;
21class IImpexp_state;
22class ITransaction;
23class IWriter;
24
30class IExporter :
31 public base::Interface_declare<0x543b5252,0x7c50,0x4998,0xa9,0xf3,0x97,0xa9,0x4e,0x11,0xfd,0x3a,
32 neuraylib::IImpexp_base>
33{
34public:
42 virtual bool test_file_type(const char* extension, const IWriter* writer) const = 0;
43
45
79 ITransaction* transaction,
80 const char* extension,
81 IWriter* writer,
82 const char* rootgroup,
83 const char* caminst,
84 const char* options,
85 const IMap* exporter_options,
86 IImpexp_state* state) const = 0;
87
117 ITransaction* transaction,
118 const char* extension,
119 IWriter* writer,
120 const IArray* elements,
121 const IMap* exporter_options,
122 IImpexp_state* state) const = 0;
123};
124 // end group mi_neuray_impexp
126
127} // namespace neuraylib
128
129} // namespace mi
130
131#endif // MI_NEURAYLIB_IEXPORTER_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
Mixin class template for deriving new interface declarations.
Definition: interface_declare.h:43
This interface represents the result of an export operation.
Definition: iexport_result.h:44
Abstract interface for exporters.
Definition: iexporter.h:33
virtual IExport_result * export_scene(ITransaction *transaction, const char *extension, IWriter *writer, const char *rootgroup, const char *caminst, const char *options, const IMap *exporter_options, IImpexp_state *state) const =0
Exports a scene via a writer.
virtual bool test_file_type(const char *extension, const IWriter *writer) const =0
Indicates whether the exporter can handle the file type.
virtual IExport_result * export_elements(ITransaction *transaction, const char *extension, IWriter *writer, const IArray *elements, const IMap *exporter_options, IImpexp_state *state) const =0
Exports a set of named elements via a writer.
This interface represents states that are passed to recursive calls of importers and exporters.
Definition: iimpexp_state.h:36
A transaction provides a consistent view on the database.
Definition: itransaction.h:81
A writer supports binary block writes and string-oriented line writes that accept a zero-terminated s...
Definition: iwriter.h:27
virtual bool test_file_type(const char *extension) const =0
Indicates whether a file name extension is supported.
Abstract base interface common for importers and exporters.
Mixin class template for deriving new interface declarations.
Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH.
Definition: neuraylib.h:179