neuray API Programmer's Manual

iimport_api.h File Reference

Description

API component for import operations and importer management.

Code Example

iimport_api.h

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

#ifndef MI_NEURAYLIB_IIMPORT_API_H
#define MI_NEURAYLIB_IIMPORT_API_H

#include <mi/base/interface_declare.h>

namespace mi {

class IMap;
class IString;

namespace neuraylib {

class IBuffer;
class IBsdf_isotropic_data;
class ICanvas;
class IImpexp_state;
class IImport_result;
class IImporter;
class IReader;
class ITransaction;


class IImport_api : public
    mi::base::Interface_declare<0x13fc124d,0x2525,0x473f,0xb1,0x9e,0xef,0x63,0x80,0x5a,0x2c,0x68>
{
public:


    virtual const IImport_result* import_elements(
        ITransaction* transaction,
        const char* uri,
        const IMap* importer_options = 0,
        const IImpexp_state* parent_state = 0) const = 0;

    virtual const IImport_result* import_elements_from_string(
        ITransaction* transaction,
        const char* data,
        const char* file_extension,
        const IMap* importer_options = 0,
        const IImpexp_state* parent_state = 0) const = 0;

    virtual ICanvas* import_canvas( const char* uri) const = 0;

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




    virtual Size 
               get_importer_length() const = 0;

    virtual const IImporter* get_importer( Size index) const = 0;

    virtual const IImporter* select_importer_by_uri( const char* uri) const = 0;

    virtual IReader* get_reader( const char* uri) const = 0;

    virtual IReader* create_reader( const IBuffer* buffer) const = 0;




    virtual const IString* get_absolute_path(
        ITransaction* transaction, const char* path) const = 0;

    virtual const IString* create_importer_directory( ITransaction* transaction) 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

} // namespace mi

#endif // MI_NEURAYLIB_IIMPORT_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 import files. More...