NVIDIA Iray API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
imdl_module.h
Go to the documentation of this file.
1 //*****************************************************************************
2 // Copyright 1986, 2014 NVIDIA Corporation. All rights reserved.
3 //*****************************************************************************
6 //*****************************************************************************
7 
8 #ifndef MI_NEURAYLIB_IMDL_MODULE_H
9 #define MI_NEURAYLIB_IMDL_MODULE_H
10 
12 #include <mi/neuraylib/version.h>
13 
14 namespace mi {
15 
16 class IArray;
17  // end group mi_neuray_materials
151 
156 class IAttribute_container;
157 
162 class IMdl_module : public
163  mi::base::Interface_declare<0xc14d6df4,0x41bd,0x4909,0xbb,0x4f,0x91,0x68,0x2f,0xd6,0x02,0xa5,
164  IScene_element>
165 {
166 public:
171  virtual const char* get_filename() const = 0;
172 
180  virtual const char* get_name() const = 0;
181 
185  virtual Uint32 get_import_count() const = 0;
186 
191  virtual const char* get_import( Uint32 index) const = 0;
192 
196  virtual Uint32 get_function_count() const = 0;
197 
204  virtual const char* get_function( Uint32 index) const = 0;
205 
209  virtual Uint32 get_material_count() const = 0;
210 
217  virtual const char* get_material( Uint32 index) const = 0;
218 
223  virtual bool is_standard_module() const = 0;
224 
240  virtual const IArray* get_function_overloads(
241  const char* name, const IAttribute_container* arguments = 0) const = 0;
242 
258  virtual const IArray* get_function_overloads(
259  const char* name, const char* param_sig) const = 0;
260 
261  virtual Sint32 MI_NEURAYLIB_DEPRECATED_METHOD_5_1(clone)(
262  const char* prototype, const char* clone, const IAttribute_container* defaults) = 0;
263 };
264  // end group mi_neuray_materials
266 
267 } // namespace mi
268 
269 #endif // MI_NEURAYLIB_IMDL_MODULE_H