imdl_entity_resolver.h File Reference
Description
Interfaces for resolving and accessing MDL entities.
Code Example
imdl_entity_resolver.h
/***************************************************************************************************
* Copyright 2024 NVIDIA Corporation. All rights reserved.
**************************************************************************************************/
#ifndef MI_NEURAYLIB_IMDL_ENTITY_RESOLVER_H
#define MI_NEURAYLIB_IMDL_ENTITY_RESOLVER_H
#include <mi/base/interface_declare.h>
namespace mi {
namespace neuraylib {
class IMdl_execution_context;
class IMdl_resolved_module;
class IMdl_resolved_resource;
class IReader;
class IMdl_entity_resolver : public
mi::base::Interface_declare<0xfe6e553a,0x6a1f,0x4300,0xb5,0x46,0x96,0xc8,0xee,0x12,0xcf,0x95>
{
public:
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;
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;
};
enum Uvtile_mode {
UVTILE_MODE_NONE = 0,
UVTILE_MODE_UDIM = 1,
UVTILE_MODE_UVTILE0 = 2,
UVTILE_MODE_UVTILE1 = 3,
UVTILE_MODE_FORCE_32_BIT = 0xffffffffU
};
class IMdl_resolved_module : public
mi::base::Interface_declare<0xd725c3bb,0xd34d,0x4a1a,0x93,0x5d,0xa3,0x96,0x53,0x9f,0xb1,0x76>
{
public:
virtual const char* get_module_name() const = 0;
virtual const char* get_filename() const = 0;
virtual IReader* create_reader() const = 0;
};
class IMdl_resolved_resource_element : public
mi::base::Interface_declare<0x0c49fcd6,0xc675,0x4ca5,0xbf,0xae,0xb1,0x59,0xd9,0x75,0x5f,0xe2>
{
public:
virtual Size
get_frame_number() const = 0;
virtual Size
get_count() const = 0;
virtual const char* get_mdl_file_path( Size i) const = 0;
virtual const char* get_filename( Size i) const = 0;
virtual IReader* create_reader( Size i) const = 0;
virtual base::Uuid
get_resource_hash( Size i) const = 0;
virtual bool get_uvtile_uv( Size i, Sint32& u, Sint32& v) const = 0;
};
class IMdl_resolved_resource : public
mi::base::Interface_declare<0x650cbe23,0xed44,0x4c2f,0x9f,0xbc,0x3b,0x64,0x4a,0x08,0x15,0xa1>
{
public:
virtual bool has_sequence_marker() const = 0;
virtual Uvtile_mode
get_uvtile_mode() const = 0;
virtual const char* get_mdl_file_path_mask() const = 0;
virtual const char* get_filename_mask() const = 0;
virtual Size
get_count() const = 0;
virtual const IMdl_resolved_resource_element* get_element( Size i) const = 0;
};
// end group mi_neuray_mdl_misc
} // namespace neuraylib
} // namespace mi
#endif // MI_NEURAYLIB_IMDL_ENTITY_RESOLVER_H
Namespaces
- namespace
- Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH. More...
- namespace
- Namespace for the neuray API. More...
Classes
- class
- The entity resolver is used to resolve MDL modules and resources in such modules. More...
- class
- Describes a resolved module (or a failed attempt). More...
- class
- Describes an ordered set of resolved resource elements. More...
- class
- Describes an ordered set of resolved resource entities. More...
Enumerations
- enum {UVTILE_MODE_NONE = 0, UVTILE_MODE_UDIM = 1, UVTILE_MODE_UVTILE0 = 2, UVTILE_MODE_UVTILE1 = 3, UVTILE_MODE_FORCE_32_BIT = 0xffffffffU }
- Supported uvtile modes for resources. More...