8 #ifndef MI_NEURAYLIB_MDL_DEFINITION_WRAPPER_H
9 #define MI_NEURAYLIB_MDL_DEFINITION_WRAPPER_H
33 class Mdl_definition_wrapper
237 const IAttribute_container* arguments = 0,
Sint32* errors = 0)
const;
265 if ( !ptr_iscene_element)
267 T* ptr_T =
static_cast<T*
>( ptr_iscene_element->
get_interface(
typename T::IID()));
293 m_type = m_access.is_valid_interface()
294 ? m_access->get_element_type() :
static_cast<Element_type>( 0);
299 return m_access.is_valid_interface()
315 return md->get_name();
321 return fd->get_name();
333 return md->get_module();
339 return fd->get_module();
351 return md->is_exported();
357 return fd->is_exported();
369 return md->get_parameter_count();
375 return fd->get_parameter_count();
387 return md->get_parameter_name( index);
393 return fd->get_parameter_name( index);
405 return md->get_parameter_index( name);
411 return fd->get_parameter_index( name);
423 return md->get_parameter_type( index);
429 return fd->get_parameter_type( index);
441 return md->get_parameter_type( name);
447 return fd->get_parameter_type( name);
459 return md->is_parameter_type_uniform( index);
465 return fd->is_parameter_type_uniform( index);
477 return md->is_parameter_type_uniform( name);
483 return fd->is_parameter_type_uniform( name);
495 return md->get_argument_type( index);
501 return fd->get_argument_type( index);
513 return md->get_argument_type( name);
519 return fd->get_argument_type( name);
535 return fd->get_return_type();
552 return fd->is_return_type_varying();
566 if( !argument.is_valid_interface())
569 return result == 0 ? 0 : -3;
576 if( !argument.is_valid_interface())
579 return result == 0 ? 0 : -3;
593 if( !argument.is_valid_interface())
596 return result == 0 ? 0 : -3;
603 if( !argument.is_valid_interface())
606 return result == 0 ? 0 : -3;
618 return md->get_annotations();
624 return fd->get_annotations();
637 return md->get_parameter_annotations( index);
643 return fd->get_parameter_annotations( index);
650 const char* name)
const
656 return md->get_parameter_annotations( name);
662 return fd->get_parameter_annotations( name);
678 return fd->get_return_annotations();
692 return md->create_material_instance( arguments, errors);
696 Uint32 count = md->get_parameter_count();
697 for(
Uint32 i = 0; i < count; ++i) {
700 const char* name = md->get_parameter_name( i);
701 const char* type = md->get_argument_type( i);
703 local_arguments->create_attribute<
IAttachable>( name, type));
706 return md->create_material_instance( local_arguments.
get(), errors);
713 return fd->create_function_call( arguments, errors);
717 Uint32 count = fd->get_parameter_count();
718 for(
Uint32 i = 0; i < count; ++i) {
721 const char* name = fd->get_parameter_name( i);
722 const char* type = fd->get_argument_type( i);
724 local_arguments->create_attribute<
IAttachable>( name, type));
727 return fd->create_function_call( local_arguments.
get(), errors);
736 #ifdef MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
745 #endif // MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
749 #endif // MI_NEURAYLIB_MDL_DEFINITION_WRAPPER_H