neuray API Programmer's Manual

iexporter.h File Reference

Description

Abstract interface for exporters.

Code Example

iexporter.h

‎/***************************************************************************************************
 * Copyright 2024 NVIDIA Corporation. All rights reserved.
 **************************************************************************************************/

#ifndef MI_NEURAYLIB_IEXPORTER_H
#define MI_NEURAYLIB_IEXPORTER_H

#include <mi/base/interface_declare.h>
#include <mi/neuraylib/iimpexp_base.h>

namespace mi {

class IArray;
class IMap;

namespace neuraylib {

class IExport_result;
class IImpexp_state;
class ITransaction;
class IWriter;


class IExporter :
    public base::Interface_declare<0x543b5252,0x7c50,0x4998,0xa9,0xf3,0x97,0xa9,0x4e,0x11,0xfd,0x3a,
                                   neuraylib::IImpexp_base>
{
public:
    virtual bool test_file_type(const char* extension, const IWriter* writer) const = 0;

    using IImpexp_base::test_file_type;

    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;

    virtual IExport_result* export_elements(
        ITransaction* transaction,
        const char* extension,
        IWriter* writer,
        const IArray* elements,
        const IMap* exporter_options,
        IImpexp_state* state) const = 0;
};
 // end group mi_neuray_impexp

} // namespace neuraylib

} // namespace mi

#endif // MI_NEURAYLIB_IEXPORTER_H

Namespaces

namespace 
Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH. More...
namespace 
Namespace for the neuray API. More...

Classes

class 
Abstract interface for exporters. More...