NVIDIA Iray API Home  Up
 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, 2016 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 
18 namespace neuraylib {
19  // end group mi_neuray_materials
154 
159 class IAttribute_container;
160 
165 class IMdl_module : public
166  mi::base::Interface_declare<0xc14d6df4,0x41bd,0x4909,0xbb,0x4f,0x91,0x68,0x2f,0xd6,0x02,0xa5,
167  neuraylib::IScene_element>
168 {
169 public:
174  virtual const char* get_filename() const = 0;
175 
183  virtual const char* get_name() const = 0;
184 
188  virtual Uint32 get_import_count() const = 0;
189 
194  virtual const char* get_import( Uint32 index) const = 0;
195 
199  virtual Uint32 get_function_count() const = 0;
200 
207  virtual const char* get_function( Uint32 index) const = 0;
208 
212  virtual Uint32 get_material_count() const = 0;
213 
220  virtual const char* get_material( Uint32 index) const = 0;
221 
226  virtual bool is_standard_module() const = 0;
227 
243  virtual const IArray* get_function_overloads(
244  const char* name, const IAttribute_container* arguments = 0) const = 0;
245 
261  virtual const IArray* get_function_overloads(
262  const char* name, const char* param_sig) const = 0;
263 };
264  // end group mi_neuray_materials
266 
267 } // namespace neuraylib
268 
269 #ifdef MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
273 #endif // MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
274 
275 } // namespace mi
276 
277 #endif // MI_NEURAYLIB_IMDL_MODULE_H