neuray API Programmer's Manual

iexport_api.h File Reference

Description

API component for export operations and exporter management.

Code Example

iexport_api.h

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

#ifndef MI_NEURAYLIB_IEXPORT_API_H
#define MI_NEURAYLIB_IEXPORT_API_H

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

namespace mi {

class IArray;
class IMap;
class IString;

namespace neuraylib {

class IBsdf_isotropic_data;
class ICanvas;
class IExport_result;
class IExporter;
class IImpexp_state;
class ILightprofile;
class ITransaction;
class IVolume_data;
class IWriter;


class IExport_api : public
    mi::base::Interface_declare<0xe254f559,0x4056,0x4166,0x83,0x6a,0x4c,0x00,0x90,0x0a,0xdb,0x22>
{
public:


    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;

    virtual const IExport_result* export_elements(
        ITransaction* transaction,
        const char* uri,
        const IArray* elements,
        const IMap* exporter_options = 0) const = 0;

    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;

    virtual Sint32 
               export_canvas(
        const char* uri,
        const ICanvas* canvas,
        Uint32 quality = 100,
        bool force_default_gamma = false) const = 0;

    virtual Sint32 
               export_lightprofile(
        const char* uri, const ILightprofile* lightprofile) const = 0;

    virtual Sint32 
               export_bsdf_data(
        const char* uri,
        const IBsdf_isotropic_data* reflection,
        const IBsdf_isotropic_data* transmission) const = 0;

    virtual Sint32 
               export_volume_data(
        const char* uri,
        const char* selectors[],
        const IVolume_data* data[],
        Size count) const = 0;




    virtual Size 
               get_exporter_length() const = 0;

    virtual const IExporter* get_exporter( Size index) const = 0;

    virtual const IExporter* select_exporter_by_extension( const char* extension) const = 0;

    virtual IWriter* get_writer( const char* uri) const = 0;




    virtual const IString* convert_filename_to_uri( const char* filename) const = 0;

    virtual const IString* convert_uri_to_filename( const char* uri) const = 0;

    virtual const IArray* get_export_dependencies(
        ITransaction* transaction,
        const char* rootgroup,
        const char* caminst,
        const char* options) const = 0;

    virtual const IString* frame_uvtile_marker_to_string(
        const char* marker, Size f, Sint32 u, Sint32 v) const = 0;

#ifdef MI_NEURAYLIB_DEPRECATED_12_1
    inline const IString* uvtile_marker_to_string( const char* marker, Sint32 u, Sint32 v)
    { return frame_uvtile_marker_to_string( marker, 0, u, v); }
#endif

    virtual const IString* MI_NEURAYLIB_DEPRECATED_METHOD_12_1(uvtile_string_to_marker)(
        const char* str, const char* marker) const = 0;

};
 // end group mi_neuray_impexp

} // namespace neuraylib

} // namespace mi

#endif // MI_NEURAYLIB_IEXPORT_API_H

Namespaces

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

Classes

class 
This interface is used to export files. More...