7 #ifndef MI_NEURAYLIB_DEFINITION_WRAPPER_H
8 #define MI_NEURAYLIB_DEFINITION_WRAPPER_H
32 class Definition_wrapper
56 Definition_wrapper( ITransaction* transaction,
const char* name, IMdl_factory* mdl_factory);
231 const IExpression_list* arguments = 0,
Sint32* errors = 0)
const;
258 if ( !ptr_iscene_element)
260 T* ptr_T =
static_cast<T*
>( ptr_iscene_element->
get_interface(
typename T::IID()));
307 m_type = m_access ? m_access->get_element_type() :
static_cast<Element_type>( 0);
328 return md->get_mdl_name();
334 return fd->get_mdl_name();
346 return md->get_module();
352 return fd->get_module();
364 return md->is_exported();
370 return fd->is_exported();
382 return md->get_parameter_count();
388 return fd->get_parameter_count();
400 return md->get_parameter_name( index);
406 return fd->get_parameter_name( index);
418 return md->get_parameter_index( name);
424 return fd->get_parameter_index( name);
436 return md->get_parameter_types();
442 return fd->get_parameter_types();
458 return fd->get_return_type();
470 return md->get_thumbnail();
477 return fd->get_thumbnail();
490 return md->get_defaults();
496 return fd->get_defaults();
515 if( !default_constant)
519 return result == 0 ? 0 : -5;
531 if( !default_constant)
535 return result == 0 ? 0 : -5;
554 if( !default_constant)
558 return result == 0 ? 0 : -5;
570 if( !default_constant)
574 return result == 0 ? 0 : -5;
586 return md->get_annotations();
592 return fd->get_annotations();
604 return md->get_parameter_annotations();
610 return fd->get_parameter_annotations();
626 return fd->get_return_annotations();
638 return md->get_enable_if_conditions();
645 return fd->get_enable_if_conditions();
657 return md->get_enable_if_users( index);
664 return fd->get_enable_if_users( index);
676 return md->get_enable_if_user( index, u_index);
683 return fd->get_enable_if_user( index, u_index);
697 return md->create_material_instance( arguments, errors);
703 m_mdl_factory->create_expression_factory( m_transaction.get()));
706 Size count = md->get_parameter_count();
707 for(
Size i = 0; i < count; ++i) {
708 const char* name = md->get_parameter_name( i);
714 local_arguments->add_expression( name, expr.
get());
717 return md->create_material_instance( local_arguments.get(), errors);
724 return fd->create_function_call( arguments, errors);
730 m_mdl_factory->create_expression_factory( m_transaction.get()));
733 Size count = fd->get_parameter_count();
734 for(
Size i = 0; i < count; ++i) {
735 const char* name = fd->get_parameter_name( i);
741 local_arguments->add_expression( name, expr.
get());
744 return fd->create_function_call( local_arguments.get(), errors);
752 m_transaction->retain();
753 return m_transaction.get();
758 m_mdl_factory->retain();
759 return m_mdl_factory.get();
765 return m_access.get();
782 #endif // MI_NEURAYLIB_DEFINITION_WRAPPER_H