neuray API Programmer's Manual

imdl_module.h File Reference

Description

Scene element Mdl_module.

Code Example

imdl_module.h

‎//*****************************************************************************
// Copyright 1986, 2016 NVIDIA Corporation. All rights reserved.
//*****************************************************************************
//*****************************************************************************

#ifndef MI_NEURAYLIB_IMDL_MODULE_H
#define MI_NEURAYLIB_IMDL_MODULE_H

#include <mi/neuraylib/iscene_element.h>
#include <mi/neuraylib/version.h>

namespace mi {

class IArray;

namespace neuraylib {
 // end group mi_neuray_materials

class IAttribute_container;

class IMdl_module : public
    mi::base::Interface_declare<0xc14d6df4,0x41bd,0x4909,0xbb,0x4f,0x91,0x68,0x2f,0xd6,0x02,0xa5,
                                neuraylib::IScene_element>
{
public:
    virtual const char* get_filename() const = 0;

    virtual const char* get_name() const = 0;

    virtual Uint32 
               get_import_count() const = 0;

    virtual const char* get_import( Uint32 index) const = 0;

    virtual Uint32 
               get_function_count() const = 0;

    virtual const char* get_function( Uint32 index) const = 0;

    virtual Uint32 
               get_material_count() const = 0;

    virtual const char* get_material( Uint32 index) const = 0;

    virtual bool is_standard_module() const = 0;

    virtual const IArray* get_function_overloads(
        const char* name, const IAttribute_container* arguments = 0) const = 0;

    virtual const IArray* get_function_overloads(
        const char* name, const char* param_sig) const = 0;
};
 // end group mi_neuray_materials

} // namespace neuraylib

#ifdef MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
using neuraylib::IAttribute_container;
using neuraylib::IMdl_module;
using neuraylib::IScene_element;
#endif // MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION

} // namespace mi

#endif // MI_NEURAYLIB_IMDL_MODULE_H

Namespaces

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

Classes

class 
This interfaces represents an MDL module. More...