MDL SDK API nvidia_logo_transpbg.gif Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
imdl_entity_resolver.h
Go to the documentation of this file.
1 /***************************************************************************************************
2  * Copyright 2022 NVIDIA Corporation. All rights reserved.
3  **************************************************************************************************/
6 
7 #ifndef MI_NEURAYLIB_IMDL_ENTITY_RESOLVER_H
8 #define MI_NEURAYLIB_IMDL_ENTITY_RESOLVER_H
9 
11 
12 namespace mi {
13 
14 namespace neuraylib {
15 
16 class IMdl_execution_context;
17 class IMdl_resolved_module;
18 class IMdl_resolved_resource;
19 class IReader;
20 
25 class IMdl_entity_resolver : public
33  mi::base::Interface_declare<0xfe6e553a,0x6a1f,0x4300,0xb5,0x46,0x96,0xc8,0xee,0x12,0xcf,0x95>
34 {
35 public:
51  virtual IMdl_resolved_module* resolve_module(
52  const char* module_name,
53  const char* owner_file_path,
54  const char* owner_name,
55  Sint32 pos_line,
56  Sint32 pos_column,
57  IMdl_execution_context* context = 0) = 0;
58 
79  virtual IMdl_resolved_resource* resolve_resource(
80  const char* file_path,
81  const char* owner_file_path,
82  const char* owner_name,
83  Sint32 pos_line,
84  Sint32 pos_column,
85  IMdl_execution_context* context = 0) = 0;
86 };
87 
98  UVTILE_MODE_FORCE_32_BIT = 0xffffffffU
99 };
100 
102 class IMdl_resolved_module : public
103  mi::base::Interface_declare<0xd725c3bb,0xd34d,0x4a1a,0x93,0x5d,0xa3,0x96,0x53,0x9f,0xb1,0x76>
104 {
105 public:
107  virtual const char* get_module_name() const = 0;
108 
110  virtual const char* get_filename() const = 0;
111 
115  virtual IReader* create_reader() const = 0;
116 };
117 
123  mi::base::Interface_declare<0x0c49fcd6,0xc675,0x4ca5,0xbf,0xae,0xb1,0x59,0xd9,0x75,0x5f,0xe2>
124 {
125 public:
130  virtual Size get_frame_number() const = 0;
131 
133  virtual Size get_count() const = 0;
134 
138  virtual const char* get_mdl_file_path( Size i) const = 0;
139 
148  virtual const char* get_filename( Size i) const = 0;
149 
153  virtual IReader* create_reader( Size i) const = 0;
154 
159  virtual base::Uuid get_resource_hash( Size i) const = 0;
160 
168  virtual bool get_uvtile_uv( Size i, Sint32& u, Sint32& v) const = 0;
169 };
170 
176  mi::base::Interface_declare<0x650cbe23,0xed44,0x4c2f,0x9f,0xbc,0x3b,0x64,0x4a,0x08,0x15,0xa1>
177 {
178 public:
182  virtual bool has_sequence_marker() const = 0;
183 
190  virtual Uvtile_mode get_uvtile_mode() const = 0;
191 
199  virtual const char* get_mdl_file_path_mask() const = 0;
200 
212  virtual const char* get_filename_mask() const = 0;
213 
215  virtual Size get_count() const = 0;
216 
220  virtual const IMdl_resolved_resource_element* get_element( Size i) const = 0;
221 };
222  // end group mi_neuray_mdl_misc
224 
225 } // namespace neuraylib
226 
227 } // namespace mi
228 
229 #endif // MI_NEURAYLIB_IMDL_ENTITY_RESOLVER_H