Material Definition Language 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 2019 NVIDIA Corporation. All rights reserved.
3  **************************************************************************************************/
6 
7 #ifndef MI_NEURAYLIB_IMODULE_H
8 #define MI_NEURAYLIB_IMODULE_H
9 
11 
12 
13 namespace mi {
14 
15 class IArray;
16 
17 namespace neuraylib {
18 
19 class IAnnotation_block;
20 class IExpression_list;
21 class IType_list;
22 class IType_resource;
23 class IValue_list;
24 class IValue_resource;
25  // end group mi_neuray_mdl_elements
159 
164 class IModule : public
169  mi::base::Interface_declare<0xe283b0ee,0x712b,0x4bdb,0xa2,0x13,0x32,0x77,0x7a,0x98,0xf9,0xa6,
170  neuraylib::IScene_element>
171 {
172 public:
177  virtual const char* get_filename() const = 0;
178 
185  virtual const char* get_mdl_name() const = 0;
186 
188  virtual Size get_import_count() const = 0;
189 
194  virtual const char* get_import( Size index) const = 0;
195 
197  virtual const IType_list* get_types() const = 0;
198 
200  virtual const IValue_list* get_constants() const = 0;
201 
203  virtual Size get_function_count() const = 0;
204 
211  virtual const char* get_function( Size index) const = 0;
212 
214  virtual Size get_material_count() const = 0;
215 
222  virtual const char* get_material( Size index) const = 0;
223 
226  virtual Size get_resources_count() const = 0;
227 
232  virtual const IType_resource* get_resource_type( Size index) const = 0;
233 
238  virtual const char* get_resource_mdl_file_path( Size index) const = 0;
239 
245  virtual const char* get_resource_name( Size index) const = 0;
246 
248  virtual const IAnnotation_block* get_annotations() const = 0;
249 
254  virtual bool is_standard_module() const = 0;
255 
271  virtual const IArray* get_function_overloads(
272  const char* name, const IExpression_list* arguments = 0) const = 0;
273 
289  virtual const IArray* get_function_overloads(
290  const char* name, const char* param_sig) const = 0;
291 
292 };
293  // end group mi_neuray_mdl_elements
295 
296 } // namespace neuraylib
297 
298 } // namespace mi
299 
300 #endif // MI_NEURAYLIB_IMODULE_H