neuray API Programmer's Manual

imdl_module_transformer.h File Reference

Description

The MDL module transformer.

Code Example

imdl_module_transformer.h

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

#ifndef MI_NEURAYLIB_IMDL_MODULE_TRANSFORMER_H
#define MI_NEURAYLIB_IMDL_MODULE_TRANSFORMER_H

#include <mi/base/interface_declare.h>
#include <mi/neuraylib/iexpression.h>

namespace mi {

class IString;

namespace neuraylib {

class IMdl_execution_context;












class IMdl_module_transformer : public
    mi::base::Interface_declare<0x3501f2ef,0xe7c0,0x492e,0xb2,0xd5,0x73,0xe2,0x33,0xa0,0x77,0x36>
{
public:
    virtual Sint32 
               upgrade_mdl_version( Mdl_version version, IMdl_execution_context* context) = 0;

    virtual Sint32 
               use_absolute_import_declarations(
        const char* include_filter,
        const char* exclude_filter,
        IMdl_execution_context* context) = 0;

    virtual Sint32 
               use_relative_import_declarations(
        const char* include_filter,
        const char* exclude_filter,
        IMdl_execution_context* context) = 0;

    virtual Sint32 
               use_absolute_resource_file_paths(
        const char* include_filter,
        const char* exclude_filter,
        IMdl_execution_context* context) = 0;

    virtual Sint32 
               use_relative_resource_file_paths(
        const char* include_filter,
        const char* exclude_filter,
        IMdl_execution_context* context) = 0;

    virtual Sint32 
               inline_imported_modules(
        const char* include_filter,
        const char* exclude_filter,
        bool omit_anno_origin,
        IMdl_execution_context* context) = 0;

    virtual Sint32 
               export_module( const char* filename, IMdl_execution_context* context) = 0;

    virtual Sint32 
               export_module_to_string(
        IString* exported_module, IMdl_execution_context* context) = 0;
};
 // end group mi_neuray_mdl_misc

} // namespace neuraylib

} // namespace mi

#endif // MI_NEURAYLIB_IMDL_MODULE_TRANSFORMER_H

Namespaces

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

Classes

class 
The module transformer allows to apply certain transformations on an MDL module. More...