neuray API Programmer's Manual

iimpexp_base.h File Reference

Description

Abstract base interface common for importers and exporters.

Code Example

iimpexp_base.h

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

#ifndef MI_NEURAYLIB_IIMPEXP_BASE_H
#define MI_NEURAYLIB_IIMPEXP_BASE_H

#include <mi/base/interface_declare.h>

namespace mi {

namespace neuraylib {

class IImpexp_state;







enum Impexp_priority
{
    IMPEXP_PRIORITY_OVERRIDE        = 4,
    IMPEXP_PRIORITY_WELL_DEFINED    = 3,
    IMPEXP_PRIORITY_AMBIGUOUS       = 2,
    IMPEXP_PRIORITY_GUESS           = 1,
    //  Undocumented, for alignment only
    IMPEXP_PRIORITY_FORCE_32_BIT    = 0xffffffffU
};

mi_static_assert( sizeof( Impexp_priority) == sizeof( Uint32));

class IImpexp_base :
    public base::Interface_declare<0xf14bab60,0x91d8,0x4a78,0xaa,0xc4,0x6d,0x14,0x02,0xb1,0x97,0x47>
{
public:
    virtual IImpexp_state* create_impexp_state(
        const char* uri,
        const IImpexp_state* parent_state = 0) const = 0;

    virtual bool test_file_type( const char* extension) const = 0;

    virtual Impexp_priority 
               get_priority() const = 0;

    virtual const char* get_supported_extensions( Uint32 i) const = 0;

    virtual const char* get_name() const = 0;

    virtual const char* get_author() const = 0;

    virtual base::Uuid 
               get_uuid() const = 0;

    virtual Uint32 
               get_major_version() const = 0;

    virtual Uint32 
               get_minor_version() const = 0;
};

/*
@}
*/ // end group mi_neuray_impexp

} // namespace neuraylib

} // namespace mi

#endif // MI_NEURAYLIB_IIMPEXP_BASE_H

Namespaces

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

Classes

class 
Abstract base interface common for importers and exporters. More...

Enumerations

enum  {IMPEXP_PRIORITY_OVERRIDE = 4, IMPEXP_PRIORITY_WELL_DEFINED = 3, IMPEXP_PRIORITY_AMBIGUOUS = 2, IMPEXP_PRIORITY_GUESS = 1, IMPEXP_PRIORITY_FORCE_32_BIT = 0xffffffffU }
Confidence in capabilities of an importer or exporter. More...