imodule.h File Reference
Description
Scene element Module.
Code Example
imodule.h
/***************************************************************************************************
* Copyright 2024 NVIDIA Corporation. All rights reserved.
**************************************************************************************************/
#ifndef MI_NEURAYLIB_IMODULE_H
#define MI_NEURAYLIB_IMODULE_H
#include <mi/neuraylib/iexpression.h>
#include <mi/neuraylib/iscene_element.h>
namespace mi {
class IArray;
namespace neuraylib {
class IAnnotation_block;
class IAnnotation_definition;
class IExpression_list;
class IMdl_execution_context;
class IType_list;
class IType_resource;
class IValue_list;
class IValue_resource;
// end group mi_neuray_mdl_elements
class IModule : public
mi::base::Interface_declare<0xe283b0ee,0x712b,0x4bdb,0xa2,0x13,0x32,0x77,0x7a,0x98,0xf9,0xa6,
neuraylib::IScene_element>
{
public:
virtual const char* get_filename() const = 0;
virtual const char* get_mdl_name() const = 0;
virtual Size
get_mdl_package_component_count() const = 0;
virtual const char* get_mdl_package_component_name( Size index) const = 0;
virtual const char* get_mdl_simple_name() const = 0;
virtual Mdl_version
get_mdl_version() const = 0;
virtual Size
get_import_count() const = 0;
virtual const char* get_import( Size index) const = 0;
virtual const IStruct_category_list* get_struct_categories() const = 0;
virtual const IType_list* get_types() const = 0;
virtual const IValue_list* get_constants() const = 0;
virtual Size
get_function_count() const = 0;
virtual const char* get_function( Size index) const = 0;
virtual Size
get_material_count() const = 0;
virtual const char* get_material( Size index) const = 0;
virtual Size
get_resources_count() const = 0;
virtual const IValue_resource* get_resource( Size index) const = 0;
virtual Size
get_annotation_definition_count() const = 0;
virtual const IAnnotation_definition* get_annotation_definition( Size index) const = 0;
virtual const IAnnotation_definition* get_annotation_definition( const char* name) const = 0;
virtual const IAnnotation_block* get_annotations() const = 0;
virtual bool is_standard_module() const = 0;
virtual bool is_mdle_module() const = 0;
virtual const IArray* get_function_overloads(
const char* name, const IExpression_list* arguments = 0) const = 0;
virtual const IArray* get_function_overloads(
const char* name, const IArray* parameter_types) const = 0;
virtual bool is_valid( IMdl_execution_context* context) const = 0;
virtual Sint32
reload( bool recursive, IMdl_execution_context* context) = 0;
virtual Sint32
reload_from_string(
const char* module_source,
bool recursive,
IMdl_execution_context* context) = 0;
};
// end group mi_neuray_mdl_elements
} // namespace neuraylib
} // namespace mi
#endif // MI_NEURAYLIB_IMODULE_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 represents an MDL module. More...