MDL SDK API nvidia_logo_transpbg.gif Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
imodule.h
Go to the documentation of this file.
1 /***************************************************************************************************
2  * Copyright 2022 NVIDIA Corporation. All rights reserved.
3  **************************************************************************************************/
6 
7 #ifndef MI_NEURAYLIB_IMODULE_H
8 #define MI_NEURAYLIB_IMODULE_H
9 
12 #include <mi/neuraylib/version.h>
13 
14 
15 namespace mi {
16 
17 class IArray;
18 
19 namespace neuraylib {
20 
21 class IAnnotation_block;
22 class IAnnotation_definition;
23 class IExpression_list;
24 class IMdl_execution_context;
25 class IType_list;
26 class IType_resource;
27 class IValue_list;
28 class IValue_resource;
29  // end group mi_neuray_mdl_elements
681 
686 class IModule : public
690  mi::base::Interface_declare<0xe283b0ee,0x712b,0x4bdb,0xa2,0x13,0x32,0x77,0x7a,0x98,0xf9,0xa6,
691  neuraylib::IScene_element>
692 {
693 public:
698  virtual const char* get_filename() const = 0;
699 
706  virtual const char* get_mdl_name() const = 0;
707 
709  virtual Size get_mdl_package_component_count() const = 0;
710 
715  virtual const char* get_mdl_package_component_name( Size index) const = 0;
716 
723  virtual const char* get_mdl_simple_name() const = 0;
724 
726  virtual Mdl_version get_mdl_version() const = 0;
727 
729  virtual Size get_import_count() const = 0;
730 
735  virtual const char* get_import( Size index) const = 0;
736 
738  virtual const IType_list* get_types() const = 0;
739 
741  virtual const IValue_list* get_constants() const = 0;
742 
744  virtual Size get_function_count() const = 0;
745 
752  virtual const char* get_function( Size index) const = 0;
753 
755  virtual Size get_material_count() const = 0;
756 
763  virtual const char* get_material( Size index) const = 0;
764 
768  virtual Size get_resources_count() const = 0;
769 
773  virtual const IValue_resource* get_resource( Size index) const = 0;
774 
776  virtual Size get_annotation_definition_count() const = 0;
777 
783  virtual const IAnnotation_definition* get_annotation_definition( Size index) const = 0;
784 
789  virtual const IAnnotation_definition* get_annotation_definition( const char* name) const = 0;
790 
792  virtual const IAnnotation_block* get_annotations() const = 0;
793 
798  virtual bool is_standard_module() const = 0;
799 
801  virtual bool is_mdle_module() const = 0;
802 
817  virtual const IArray* get_function_overloads(
818  const char* name, const IExpression_list* arguments = 0) const = 0;
819 
846  virtual const IArray* get_function_overloads(
847  const char* name, const IArray* parameter_types) const = 0;
848 
853  virtual bool is_valid( IMdl_execution_context* context) const = 0;
854 
866  virtual Sint32 reload( bool recursive, IMdl_execution_context* context) = 0;
867 
882  virtual Sint32 reload_from_string(
883  const char* module_source,
884  bool recursive,
885  IMdl_execution_context* context) = 0;
886 
887  virtual const IArray* deprecated_get_function_overloads(
888  const char* name, const char* param_sig) const = 0;
889 
890 #ifdef MI_NEURAYLIB_DEPRECATED_11_1
891  inline const IArray* get_function_overloads(
892  const char* name, const char* param_sig) const
893  {
894  return deprecated_get_function_overloads( name, param_sig);
895  }
896 #endif
897 
898  virtual const IType_resource* MI_NEURAYLIB_DEPRECATED_METHOD_12_1(get_resource_type)(
899  Size index) const = 0;
900 
901  virtual const char* MI_NEURAYLIB_DEPRECATED_METHOD_12_1(get_resource_mdl_file_path)(
902  Size index) const = 0;
903 
904  virtual const char* MI_NEURAYLIB_DEPRECATED_METHOD_12_1(get_resource_name)(
905  Size index) const = 0;
906 };
907  // end group mi_neuray_mdl_elements
909 
910 } // namespace neuraylib
911 
912 } // namespace mi
913 
914 #endif // MI_NEURAYLIB_IMODULE_H