7#ifndef MI_NEURAYLIB_IMDL_ENTITY_RESOLVER_H
8#define MI_NEURAYLIB_IMDL_ENTITY_RESOLVER_H
16class IMdl_execution_context;
17class IMdl_resolved_module;
18class IMdl_resolved_resource;
33 mi::base::Interface_declare<0xfe6e553a,0x6a1f,0x4300,0xb5,0x46,0x96,0xc8,0xee,0x12,0xcf,0x95>
52 const char* module_name,
53 const char* owner_file_path,
54 const char* owner_name,
82 const char* file_path,
83 const char* owner_file_path,
84 const char* owner_name,
100 UVTILE_MODE_FORCE_32_BIT = 0xffffffffU
105 mi::base::Interface_declare<0xd725c3bb,0xd34d,0x4a1a,0x93,0x5d,0xa3,0x96,0x53,0x9f,0xb1,0x76>
125 mi::base::Interface_declare<0x0c49fcd6,0xc675,0x4ca5,0xbf,0xae,0xb1,0x59,0xd9,0x75,0x5f,0xe2>
193 mi::base::Interface_declare<0x650cbe23,0xed44,0x4c2f,0x9f,0xbc,0x3b,0x64,0x4a,0x08,0x15,0xa1>
Mixin class template for deriving new interface declarations.
Definition: interface_declare.h:43
The entity resolver is used to resolve MDL modules and resources in such modules.
Definition: imdl_entity_resolver.h:34
virtual IMdl_resolved_module * resolve_module(const char *module_name, const char *owner_file_path, const char *owner_name, Sint32 pos_line, Sint32 pos_column, IMdl_execution_context *context=0)=0
Resolves a module name.
virtual IMdl_resolved_resource * resolve_resource(const char *file_path, const char *owner_file_path, const char *owner_name, Sint32 pos_line, Sint32 pos_column, IMdl_execution_context *context=0)=0
Resolves a resource file path.
The execution context can be used to query status information like error and warning messages concern...
Definition: imdl_execution_context.h:131
Describes a resolved module (or a failed attempt).
Definition: imdl_entity_resolver.h:106
virtual IReader * create_reader() const =0
Returns a reader for the module.
virtual const char * get_module_name() const =0
Returns the MDL name of the module.
virtual const char * get_filename() const =0
Returns the absolute resolved filename of the module.
Describes an ordered set of resolved resource entities.
Definition: imdl_entity_resolver.h:126
virtual const char * get_filename(Size i) const =0
Returns the absolute resolved filename of a resource entity.
virtual IReader * create_reader(Size i) const =0
Returns a reader for a resource entity.
virtual bool get_uvtile_uv(Size i, Sint32 &u, Sint32 &v) const =0
Returns the u and v tile indices for a resource entity.
virtual const char * get_mdl_file_path(Size i) const =0
Returns the absolute MDL file path of a resource entity.
virtual base::Uuid get_resource_hash(Size i) const =0
Returns the resource hash value for a resource entity.
virtual Size get_count() const =0
Returns the number of resource entities for this element.
virtual Size get_frame_number() const =0
Returns the frame number of this element.
Describes an ordered set of resolved resource elements.
Definition: imdl_entity_resolver.h:194
virtual bool has_sequence_marker() const =0
Indicates whether this resource has a sequence marker.
virtual Size get_count() const =0
Returns the number of elements of the resolved resource.
virtual const char * get_filename_mask() const =0
Returns the absolute resolved filename mask for this resource.
virtual const IMdl_resolved_resource_element * get_element(Size i) const =0
Returns the i -th element of the resolved resource.
virtual const char * get_mdl_file_path_mask() const =0
Returns the absolute MDL file path mask for this resource.
virtual Uvtile_mode get_uvtile_mode() const =0
Returns the uvtile mode for this resource.
A reader supports binary block reads and string-oriented line reads that zero-terminate the result.
Definition: ireader.h:27
Uint64 Size
Unsigned integral type that is large enough to hold the size of all types.
Definition: types.h:112
signed int Sint32
32-bit signed integer.
Definition: types.h:46
Uvtile_mode
Supported uvtile modes for resources.
Definition: imdl_entity_resolver.h:95
@ UVTILE_MODE_UVTILE0
The UVTILE0 uvtile mode.
Definition: imdl_entity_resolver.h:98
@ UVTILE_MODE_UVTILE1
The UVTILE1 uvtile mode.
Definition: imdl_entity_resolver.h:99
@ UVTILE_MODE_NONE
No uvtile mode.
Definition: imdl_entity_resolver.h:96
@ UVTILE_MODE_UDIM
The UDIM uvtile mode.
Definition: imdl_entity_resolver.h:97
Mixin class template for deriving new interface declarations.
Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH.
Definition: example_derivatives.dox:5
A 128 bit representation of a universally unique identifier (UUID or GUID).
Definition: uuid.h:26