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 1986, 2016 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 ITransaction;
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) const = 0;

    virtual Sint32 
               export_bsdf_data(
        const char* uri,
        const IBsdf_isotropic_data* reflection,
        const IBsdf_isotropic_data* transmission) 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;
};
 // end group mi_neuray_impexp

} // namespace neuraylib

#ifdef MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
using neuraylib::IBsdf_isotropic_data;
using neuraylib::IExport_result;
using neuraylib::IImpexp_state;
using neuraylib::IWriter;
#endif // MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION

} // 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...