本文整理汇总了C++中inputarray::iterator::name方法的典型用法代码示例。如果您正苦于以下问题:C++ iterator::name方法的具体用法?C++ iterator::name怎么用?C++ iterator::name使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类inputarray::iterator
的用法示例。
在下文中一共展示了iterator::name方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: bind_texture_instance_to_input
void InputBinder::bind_texture_instance_to_input(
const TextureInstanceContainer& texture_instances,
const UniqueID assembly_uid,
const char* entity_type,
const char* entity_name,
const char* param_value,
InputArray::iterator& input)
{
const TextureInstance* texture_instance = texture_instances.get_by_name(param_value);
assert(texture_instance);
try
{
input.bind(
new TextureSource(
assembly_uid,
*texture_instance));
}
catch (const exception& e)
{
RENDERER_LOG_ERROR(
"while defining %s \"%s\", failed to bind \"%s\" to input \"%s\" (%s).",
entity_type,
entity_name,
param_value,
input.name(),
e.what());
++m_error_count;
}
}
示例2: bind_assembly_entity_to_input
void InputBinder::bind_assembly_entity_to_input(
const Scene& scene,
const SymbolTable& scene_symbols,
const Assembly& assembly,
const SymbolTable& assembly_symbols,
const char* entity_type,
const char* entity_name,
const char* param_value,
InputArray::iterator& input)
{
switch (assembly_symbols.lookup(param_value))
{
case SymbolTable::SymbolColor:
bind_color_to_input(
assembly.colors(),
param_value,
input);
break;
case SymbolTable::SymbolTextureInstance:
bind_texture_instance_to_input(
assembly.textures(),
assembly.texture_instances(),
assembly.get_uid(),
entity_type,
entity_name,
param_value,
input);
break;
case SymbolTable::SymbolNotFound:
// No entity with this name was found in this scope.
// Attempt to bind the input to a scene entity.
bind_scene_entity_to_input(
scene,
scene_symbols,
entity_type,
entity_name,
param_value,
input);
break;
default:
RENDERER_LOG_ERROR(
"while defining %s \"%s\": cannot bind \"%s\" to parameter \"%s\".",
entity_type,
entity_name,
param_value,
input.name());
++m_error_count;
break;
}
}
示例3: bind_scene_entity_to_input
void InputBinder::bind_scene_entity_to_input(
const Scene& scene,
const SymbolTable& scene_symbols,
const char* entity_type,
const char* entity_name,
const char* param_value,
InputArray::iterator& input)
{
switch (scene_symbols.lookup(param_value))
{
case SymbolTable::SymbolColor:
bind_color_to_input(
scene.colors(),
param_value,
input);
break;
case SymbolTable::SymbolTextureInstance:
bind_texture_instance_to_input(
scene.textures(),
scene.texture_instances(),
~0, // the parent is the scene, not an assembly
entity_type,
entity_name,
param_value,
input);
break;
default:
RENDERER_LOG_ERROR(
"while defining %s \"%s\": cannot bind \"%s\" to parameter \"%s\".",
entity_type,
entity_name,
param_value,
input.name());
++m_error_count;
break;
}
}
示例4: bind_texture_instance_to_input
void InputBinder::bind_texture_instance_to_input(
const TextureContainer& textures,
const TextureInstanceContainer& texture_instances,
const UniqueID assembly_uid,
const char* entity_type,
const char* entity_name,
const char* param_value,
InputArray::iterator& input)
{
const TextureInstance* texture_instance = texture_instances.get_by_name(param_value);
assert(texture_instance);
const size_t texture_index = texture_instance->get_texture_index();
assert(texture_index != ~0);
Texture* texture = textures.get_by_index(texture_index);
assert(texture);
try
{
input.bind(
new TextureSource(
assembly_uid,
*texture_instance,
texture->properties()));
}
catch (const exception& e)
{
RENDERER_LOG_ERROR(
"while defining %s \"%s\", while binding \"%s\" to parameter \"%s\": %s.",
entity_type,
entity_name,
param_value,
input.name(),
e.what());
++m_error_count;
}
}