iimpexp_base.h File Reference
Description
Abstract base interface common for importers and exporters.
                     Code Example
                     
                  
                  iimpexp_base.h
/***************************************************************************************************
 * Copyright 2024 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_HNamespaces
- 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...