#ifndef EVAS_CANVAS3D_MESH_IMPL_HH
#define EVAS_CANVAS3D_MESH_IMPL_HH

#include "evas_canvas3d_mesh.eo.hh"

namespace evas { namespace canvas3d { 
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<Evas_Canvas3D_Shader_Mode>::type Mesh::shader_mode_get() const
{
    Evas_Canvas3D_Shader_Mode __return_value =  ::evas_canvas3d_mesh_shader_mode_get(_eo_ptr());
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Evas_Canvas3D_Shader_Mode>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::shader_mode_set( ::efl::eolian::in_traits<Evas_Canvas3D_Shader_Mode>::type mode) const
{
     ::evas_canvas3d_mesh_shader_mode_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<Evas_Canvas3D_Shader_Mode,  ::efl::eolian::in_traits<Evas_Canvas3D_Shader_Mode>::type>(mode));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<bool>::type Mesh::color_pick_enable_get() const
{
    Eina_Bool __return_value =  ::evas_canvas3d_mesh_color_pick_enable_get(_eo_ptr());
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::color_pick_enable_set( ::efl::eolian::in_traits<bool>::type enabled) const
{
     ::evas_canvas3d_mesh_color_pick_enable_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(enabled));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits< unsigned int>::type Mesh::vertex_count_get() const
{
    unsigned int __return_value =  ::evas_canvas3d_mesh_vertex_count_get(_eo_ptr());
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< unsigned int>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::vertex_count_set( ::efl::eolian::in_traits< unsigned int>::type count) const
{
     ::evas_canvas3d_mesh_vertex_count_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<unsigned int,  ::efl::eolian::in_traits< unsigned int>::type>(count));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<bool>::type Mesh::fog_enable_get() const
{
    Eina_Bool __return_value =  ::evas_canvas3d_mesh_fog_enable_get(_eo_ptr());
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::fog_enable_set( ::efl::eolian::in_traits<bool>::type enabled) const
{
     ::evas_canvas3d_mesh_fog_enable_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(enabled));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<bool>::type Mesh::alpha_test_enable_get() const
{
    Eina_Bool __return_value =  ::evas_canvas3d_mesh_alpha_test_enable_get(_eo_ptr());
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::alpha_test_enable_set( ::efl::eolian::in_traits<bool>::type enabled) const
{
     ::evas_canvas3d_mesh_alpha_test_enable_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(enabled));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::alpha_func_get( ::efl::eolian::out_traits<Evas_Canvas3D_Comparison>::type comparison_func,  ::efl::eolian::out_traits<Evas_Real>::type ref_value) const
{
    Evas_Canvas3D_Comparison __out_param_comparison_func = {};
    Evas_Real __out_param_ref_value = {};
     ::evas_canvas3d_mesh_alpha_func_get(_eo_ptr(),
        & __out_param_comparison_func,
        & __out_param_ref_value);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Canvas3D_Comparison>::type, Evas_Canvas3D_Comparison>(comparison_func, __out_param_comparison_func);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(ref_value, __out_param_ref_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::alpha_func_set( ::efl::eolian::in_traits<Evas_Canvas3D_Comparison>::type comparison_func,  ::efl::eolian::in_traits<Evas_Real>::type ref_value) const
{
     ::evas_canvas3d_mesh_alpha_func_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<Evas_Canvas3D_Comparison,  ::efl::eolian::in_traits<Evas_Canvas3D_Comparison>::type>(comparison_func),
         ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(ref_value));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<bool>::type Mesh::blending_enable_get() const
{
    Eina_Bool __return_value =  ::evas_canvas3d_mesh_blending_enable_get(_eo_ptr());
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::blending_enable_set( ::efl::eolian::in_traits<bool>::type blending) const
{
     ::evas_canvas3d_mesh_blending_enable_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(blending));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits< ::evas::canvas3d::Material>::type Mesh::frame_material_get( ::efl::eolian::in_traits<int>::type frame) const
{
     ::Evas_Canvas3D_Material* __return_value =  ::evas_canvas3d_mesh_frame_material_get(_eo_ptr(),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(frame));
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::evas::canvas3d::Material>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::frame_material_set( ::efl::eolian::in_traits<int>::type frame,  ::efl::eolian::in_traits< ::evas::canvas3d::Material>::type material) const
{
     ::evas_canvas3d_mesh_frame_material_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(frame),
         ::efl::eolian::convert_to_c< ::Evas_Canvas3D_Material*,  ::efl::eolian::in_traits< ::evas::canvas3d::Material>::type>(material));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<Evas_Canvas3D_Vertex_Assembly>::type Mesh::vertex_assembly_get() const
{
    Evas_Canvas3D_Vertex_Assembly __return_value =  ::evas_canvas3d_mesh_vertex_assembly_get(_eo_ptr());
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Evas_Canvas3D_Vertex_Assembly>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::vertex_assembly_set( ::efl::eolian::in_traits<Evas_Canvas3D_Vertex_Assembly>::type assembly) const
{
     ::evas_canvas3d_mesh_vertex_assembly_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<Evas_Canvas3D_Vertex_Assembly,  ::efl::eolian::in_traits<Evas_Canvas3D_Vertex_Assembly>::type>(assembly));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::shadows_edges_filtering_get( ::efl::eolian::out_traits<int>::type blur_level,  ::efl::eolian::out_traits<Evas_Real>::type edges_size) const
{
    int __out_param_blur_level = {};
    Evas_Real __out_param_edges_size = {};
     ::evas_canvas3d_mesh_shadows_edges_filtering_get(_eo_ptr(),
        & __out_param_blur_level,
        & __out_param_edges_size);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(blur_level, __out_param_blur_level);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(edges_size, __out_param_edges_size);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::shadows_edges_filtering_set( ::efl::eolian::in_traits<int>::type blur_level,  ::efl::eolian::in_traits<Evas_Real>::type edges_size) const
{
     ::evas_canvas3d_mesh_shadows_edges_filtering_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(blur_level),
         ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(edges_size));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<Evas_Real>::type Mesh::shadows_constant_bias_get() const
{
    Evas_Real __return_value =  ::evas_canvas3d_mesh_shadows_constant_bias_get(_eo_ptr());
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Evas_Real>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::shadows_constant_bias_set( ::efl::eolian::in_traits<Evas_Real>::type bias) const
{
     ::evas_canvas3d_mesh_shadows_constant_bias_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(bias));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::lod_boundary_get( ::efl::eolian::out_traits<Evas_Real>::type near_lod,  ::efl::eolian::out_traits<Evas_Real>::type far_lod) const
{
    Evas_Real __out_param_near_lod = {};
    Evas_Real __out_param_far_lod = {};
     ::evas_canvas3d_mesh_lod_boundary_get(_eo_ptr(),
        & __out_param_near_lod,
        & __out_param_far_lod);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(near_lod, __out_param_near_lod);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(far_lod, __out_param_far_lod);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::lod_boundary_set( ::efl::eolian::in_traits<Evas_Real>::type near_lod,  ::efl::eolian::in_traits<Evas_Real>::type far_lod) const
{
     ::evas_canvas3d_mesh_lod_boundary_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(near_lod),
         ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(far_lod));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::frame_vertex_data_set( ::efl::eolian::in_traits<int>::type frame,  ::efl::eolian::in_traits<Evas_Canvas3D_Vertex_Attrib>::type attrib,  ::efl::eolian::in_traits<int>::type stride,  ::efl::eolian::in_traits<void const*>::type data) const
{
     ::evas_canvas3d_mesh_frame_vertex_data_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(frame),
         ::efl::eolian::convert_to_c<Evas_Canvas3D_Vertex_Attrib,  ::efl::eolian::in_traits<Evas_Canvas3D_Vertex_Attrib>::type>(attrib),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(stride),
         ::efl::eolian::convert_to_c<const void *,  ::efl::eolian::in_traits<void const*>::type>(data));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::frame_vertex_data_copy_set( ::efl::eolian::in_traits<int>::type frame,  ::efl::eolian::in_traits<Evas_Canvas3D_Vertex_Attrib>::type attrib,  ::efl::eolian::in_traits<int>::type stride,  ::efl::eolian::in_traits<void const*>::type data) const
{
     ::evas_canvas3d_mesh_frame_vertex_data_copy_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(frame),
         ::efl::eolian::convert_to_c<Evas_Canvas3D_Vertex_Attrib,  ::efl::eolian::in_traits<Evas_Canvas3D_Vertex_Attrib>::type>(attrib),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(stride),
         ::efl::eolian::convert_to_c<const void *,  ::efl::eolian::in_traits<void const*>::type>(data));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void*>::type Mesh::frame_vertex_data_map( ::efl::eolian::in_traits<int>::type frame,  ::efl::eolian::in_traits<Evas_Canvas3D_Vertex_Attrib>::type attrib) const
{
    void * __return_value =  ::evas_canvas3d_mesh_frame_vertex_data_map(_eo_ptr(),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(frame),
         ::efl::eolian::convert_to_c<Evas_Canvas3D_Vertex_Attrib,  ::efl::eolian::in_traits<Evas_Canvas3D_Vertex_Attrib>::type>(attrib));
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<void*>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::frame_vertex_data_unmap( ::efl::eolian::in_traits<int>::type frame,  ::efl::eolian::in_traits<Evas_Canvas3D_Vertex_Attrib>::type attrib) const
{
     ::evas_canvas3d_mesh_frame_vertex_data_unmap(_eo_ptr(),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(frame),
         ::efl::eolian::convert_to_c<Evas_Canvas3D_Vertex_Attrib,  ::efl::eolian::in_traits<Evas_Canvas3D_Vertex_Attrib>::type>(attrib));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<int>::type Mesh::frame_vertex_stride_get( ::efl::eolian::in_traits<int>::type frame,  ::efl::eolian::in_traits<Evas_Canvas3D_Vertex_Attrib>::type attrib) const
{
    int __return_value =  ::evas_canvas3d_mesh_frame_vertex_stride_get(_eo_ptr(),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(frame),
         ::efl::eolian::convert_to_c<Evas_Canvas3D_Vertex_Attrib,  ::efl::eolian::in_traits<Evas_Canvas3D_Vertex_Attrib>::type>(attrib));
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<int>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::index_data_set( ::efl::eolian::in_traits<Evas_Canvas3D_Index_Format>::type format,  ::efl::eolian::in_traits<int>::type count,  ::efl::eolian::in_traits<void const*>::type indices) const
{
     ::evas_canvas3d_mesh_index_data_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<Evas_Canvas3D_Index_Format,  ::efl::eolian::in_traits<Evas_Canvas3D_Index_Format>::type>(format),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(count),
         ::efl::eolian::convert_to_c<const void *,  ::efl::eolian::in_traits<void const*>::type>(indices));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::convex_hull_data_get( ::efl::eolian::in_traits<int>::type frame,  ::efl::eolian::in_traits<Eina_Inarray const&>::type vertex,  ::efl::eolian::in_traits<Eina_Inarray const&>::type index) const
{
     ::evas_canvas3d_mesh_convex_hull_data_get(_eo_ptr(),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(frame),
         ::efl::eolian::convert_to_c<Eina_Inarray *,  ::efl::eolian::in_traits<Eina_Inarray const&>::type>(vertex),
         ::efl::eolian::convert_to_c<Eina_Inarray *,  ::efl::eolian::in_traits<Eina_Inarray const&>::type>(index));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::index_data_copy_set( ::efl::eolian::in_traits<Evas_Canvas3D_Index_Format>::type format,  ::efl::eolian::in_traits<int>::type count,  ::efl::eolian::in_traits<void const*>::type indices) const
{
     ::evas_canvas3d_mesh_index_data_copy_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<Evas_Canvas3D_Index_Format,  ::efl::eolian::in_traits<Evas_Canvas3D_Index_Format>::type>(format),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(count),
         ::efl::eolian::convert_to_c<const void *,  ::efl::eolian::in_traits<void const*>::type>(indices));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<Evas_Canvas3D_Index_Format>::type Mesh::index_format_get() const
{
    Evas_Canvas3D_Index_Format __return_value =  ::evas_canvas3d_mesh_index_format_get(_eo_ptr());
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Evas_Canvas3D_Index_Format>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<int>::type Mesh::index_count_get() const
{
    int __return_value =  ::evas_canvas3d_mesh_index_count_get(_eo_ptr());
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<int>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void*>::type Mesh::index_data_map() const
{
    void * __return_value =  ::evas_canvas3d_mesh_index_data_map(_eo_ptr());
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<void*>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::index_data_unmap() const
{
     ::evas_canvas3d_mesh_index_data_unmap(_eo_ptr());
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<bool>::type Mesh::frame_exist( ::efl::eolian::in_traits<int>::type frame) const
{
    Eina_Bool __return_value =  ::evas_canvas3d_mesh_frame_exist(_eo_ptr(),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(frame));
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::frame_add( ::efl::eolian::in_traits<int>::type frame) const
{
     ::evas_canvas3d_mesh_frame_add(_eo_ptr(),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(frame));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::frame_del( ::efl::eolian::in_traits<int>::type frame) const
{
     ::evas_canvas3d_mesh_frame_del(_eo_ptr(),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(frame));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::fog_color_set( ::efl::eolian::in_traits<Evas_Real>::type r,  ::efl::eolian::in_traits<Evas_Real>::type g,  ::efl::eolian::in_traits<Evas_Real>::type b,  ::efl::eolian::in_traits<Evas_Real>::type a) const
{
     ::evas_canvas3d_mesh_fog_color_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(r),
         ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(g),
         ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(b),
         ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(a));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::fog_color_get( ::efl::eolian::out_traits<Evas_Real>::type r,  ::efl::eolian::out_traits<Evas_Real>::type g,  ::efl::eolian::out_traits<Evas_Real>::type b,  ::efl::eolian::out_traits<Evas_Real>::type a) const
{
    Evas_Real __out_param_r = {};
    Evas_Real __out_param_g = {};
    Evas_Real __out_param_b = {};
    Evas_Real __out_param_a = {};
     ::evas_canvas3d_mesh_fog_color_get(_eo_ptr(),
        & __out_param_r,
        & __out_param_g,
        & __out_param_b,
        & __out_param_a);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(r, __out_param_r);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(g, __out_param_g);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(b, __out_param_b);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(a, __out_param_a);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::blending_func_set( ::efl::eolian::in_traits<Evas_Canvas3D_Blend_Func>::type sfactor,  ::efl::eolian::in_traits<Evas_Canvas3D_Blend_Func>::type dfactor) const
{
     ::evas_canvas3d_mesh_blending_func_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<Evas_Canvas3D_Blend_Func,  ::efl::eolian::in_traits<Evas_Canvas3D_Blend_Func>::type>(sfactor),
         ::efl::eolian::convert_to_c<Evas_Canvas3D_Blend_Func,  ::efl::eolian::in_traits<Evas_Canvas3D_Blend_Func>::type>(dfactor));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::blending_func_get( ::efl::eolian::out_traits<Evas_Canvas3D_Blend_Func>::type sfactor,  ::efl::eolian::out_traits<Evas_Canvas3D_Blend_Func>::type dfactor) const
{
    Evas_Canvas3D_Blend_Func __out_param_sfactor = {};
    Evas_Canvas3D_Blend_Func __out_param_dfactor = {};
     ::evas_canvas3d_mesh_blending_func_get(_eo_ptr(),
        & __out_param_sfactor,
        & __out_param_dfactor);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Canvas3D_Blend_Func>::type, Evas_Canvas3D_Blend_Func>(sfactor, __out_param_sfactor);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Canvas3D_Blend_Func>::type, Evas_Canvas3D_Blend_Func>(dfactor, __out_param_dfactor);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::from_primitive_set( ::efl::eolian::in_traits<int>::type frame,  ::efl::eolian::in_traits< ::evas::canvas3d::Primitive>::type primitive) const
{
     ::evas_canvas3d_mesh_from_primitive_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(frame),
         ::efl::eolian::convert_to_c< ::Evas_Canvas3D_Primitive*,  ::efl::eolian::in_traits< ::evas::canvas3d::Primitive>::type>(primitive));
}
#endif
} } 
namespace eo_cxx {
namespace evas { namespace canvas3d { 
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<Evas_Canvas3D_Shader_Mode>::type Mesh::shader_mode_get() const
{
    Evas_Canvas3D_Shader_Mode __return_value =  ::evas_canvas3d_mesh_shader_mode_get(_eo_ptr());
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Evas_Canvas3D_Shader_Mode>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::shader_mode_set( ::efl::eolian::in_traits<Evas_Canvas3D_Shader_Mode>::type mode) const
{
     ::evas_canvas3d_mesh_shader_mode_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<Evas_Canvas3D_Shader_Mode,  ::efl::eolian::in_traits<Evas_Canvas3D_Shader_Mode>::type>(mode));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<bool>::type Mesh::color_pick_enable_get() const
{
    Eina_Bool __return_value =  ::evas_canvas3d_mesh_color_pick_enable_get(_eo_ptr());
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::color_pick_enable_set( ::efl::eolian::in_traits<bool>::type enabled) const
{
     ::evas_canvas3d_mesh_color_pick_enable_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(enabled));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits< unsigned int>::type Mesh::vertex_count_get() const
{
    unsigned int __return_value =  ::evas_canvas3d_mesh_vertex_count_get(_eo_ptr());
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< unsigned int>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::vertex_count_set( ::efl::eolian::in_traits< unsigned int>::type count) const
{
     ::evas_canvas3d_mesh_vertex_count_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<unsigned int,  ::efl::eolian::in_traits< unsigned int>::type>(count));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<bool>::type Mesh::fog_enable_get() const
{
    Eina_Bool __return_value =  ::evas_canvas3d_mesh_fog_enable_get(_eo_ptr());
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::fog_enable_set( ::efl::eolian::in_traits<bool>::type enabled) const
{
     ::evas_canvas3d_mesh_fog_enable_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(enabled));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<bool>::type Mesh::alpha_test_enable_get() const
{
    Eina_Bool __return_value =  ::evas_canvas3d_mesh_alpha_test_enable_get(_eo_ptr());
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::alpha_test_enable_set( ::efl::eolian::in_traits<bool>::type enabled) const
{
     ::evas_canvas3d_mesh_alpha_test_enable_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(enabled));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::alpha_func_get( ::efl::eolian::out_traits<Evas_Canvas3D_Comparison>::type comparison_func,  ::efl::eolian::out_traits<Evas_Real>::type ref_value) const
{
    Evas_Canvas3D_Comparison __out_param_comparison_func = {};
    Evas_Real __out_param_ref_value = {};
     ::evas_canvas3d_mesh_alpha_func_get(_eo_ptr(),
        & __out_param_comparison_func,
        & __out_param_ref_value);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Canvas3D_Comparison>::type, Evas_Canvas3D_Comparison>(comparison_func, __out_param_comparison_func);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(ref_value, __out_param_ref_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::alpha_func_set( ::efl::eolian::in_traits<Evas_Canvas3D_Comparison>::type comparison_func,  ::efl::eolian::in_traits<Evas_Real>::type ref_value) const
{
     ::evas_canvas3d_mesh_alpha_func_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<Evas_Canvas3D_Comparison,  ::efl::eolian::in_traits<Evas_Canvas3D_Comparison>::type>(comparison_func),
         ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(ref_value));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<bool>::type Mesh::blending_enable_get() const
{
    Eina_Bool __return_value =  ::evas_canvas3d_mesh_blending_enable_get(_eo_ptr());
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::blending_enable_set( ::efl::eolian::in_traits<bool>::type blending) const
{
     ::evas_canvas3d_mesh_blending_enable_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(blending));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits< ::evas::canvas3d::Material>::type Mesh::frame_material_get( ::efl::eolian::in_traits<int>::type frame) const
{
     ::Evas_Canvas3D_Material* __return_value =  ::evas_canvas3d_mesh_frame_material_get(_eo_ptr(),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(frame));
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::evas::canvas3d::Material>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::frame_material_set( ::efl::eolian::in_traits<int>::type frame,  ::efl::eolian::in_traits< ::evas::canvas3d::Material>::type material) const
{
     ::evas_canvas3d_mesh_frame_material_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(frame),
         ::efl::eolian::convert_to_c< ::Evas_Canvas3D_Material*,  ::efl::eolian::in_traits< ::evas::canvas3d::Material>::type>(material));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<Evas_Canvas3D_Vertex_Assembly>::type Mesh::vertex_assembly_get() const
{
    Evas_Canvas3D_Vertex_Assembly __return_value =  ::evas_canvas3d_mesh_vertex_assembly_get(_eo_ptr());
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Evas_Canvas3D_Vertex_Assembly>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::vertex_assembly_set( ::efl::eolian::in_traits<Evas_Canvas3D_Vertex_Assembly>::type assembly) const
{
     ::evas_canvas3d_mesh_vertex_assembly_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<Evas_Canvas3D_Vertex_Assembly,  ::efl::eolian::in_traits<Evas_Canvas3D_Vertex_Assembly>::type>(assembly));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::shadows_edges_filtering_get( ::efl::eolian::out_traits<int>::type blur_level,  ::efl::eolian::out_traits<Evas_Real>::type edges_size) const
{
    int __out_param_blur_level = {};
    Evas_Real __out_param_edges_size = {};
     ::evas_canvas3d_mesh_shadows_edges_filtering_get(_eo_ptr(),
        & __out_param_blur_level,
        & __out_param_edges_size);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(blur_level, __out_param_blur_level);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(edges_size, __out_param_edges_size);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::shadows_edges_filtering_set( ::efl::eolian::in_traits<int>::type blur_level,  ::efl::eolian::in_traits<Evas_Real>::type edges_size) const
{
     ::evas_canvas3d_mesh_shadows_edges_filtering_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(blur_level),
         ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(edges_size));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<Evas_Real>::type Mesh::shadows_constant_bias_get() const
{
    Evas_Real __return_value =  ::evas_canvas3d_mesh_shadows_constant_bias_get(_eo_ptr());
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Evas_Real>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::shadows_constant_bias_set( ::efl::eolian::in_traits<Evas_Real>::type bias) const
{
     ::evas_canvas3d_mesh_shadows_constant_bias_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(bias));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::lod_boundary_get( ::efl::eolian::out_traits<Evas_Real>::type near_lod,  ::efl::eolian::out_traits<Evas_Real>::type far_lod) const
{
    Evas_Real __out_param_near_lod = {};
    Evas_Real __out_param_far_lod = {};
     ::evas_canvas3d_mesh_lod_boundary_get(_eo_ptr(),
        & __out_param_near_lod,
        & __out_param_far_lod);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(near_lod, __out_param_near_lod);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(far_lod, __out_param_far_lod);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::lod_boundary_set( ::efl::eolian::in_traits<Evas_Real>::type near_lod,  ::efl::eolian::in_traits<Evas_Real>::type far_lod) const
{
     ::evas_canvas3d_mesh_lod_boundary_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(near_lod),
         ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(far_lod));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::frame_vertex_data_set( ::efl::eolian::in_traits<int>::type frame,  ::efl::eolian::in_traits<Evas_Canvas3D_Vertex_Attrib>::type attrib,  ::efl::eolian::in_traits<int>::type stride,  ::efl::eolian::in_traits<void const*>::type data) const
{
     ::evas_canvas3d_mesh_frame_vertex_data_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(frame),
         ::efl::eolian::convert_to_c<Evas_Canvas3D_Vertex_Attrib,  ::efl::eolian::in_traits<Evas_Canvas3D_Vertex_Attrib>::type>(attrib),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(stride),
         ::efl::eolian::convert_to_c<const void *,  ::efl::eolian::in_traits<void const*>::type>(data));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::frame_vertex_data_copy_set( ::efl::eolian::in_traits<int>::type frame,  ::efl::eolian::in_traits<Evas_Canvas3D_Vertex_Attrib>::type attrib,  ::efl::eolian::in_traits<int>::type stride,  ::efl::eolian::in_traits<void const*>::type data) const
{
     ::evas_canvas3d_mesh_frame_vertex_data_copy_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(frame),
         ::efl::eolian::convert_to_c<Evas_Canvas3D_Vertex_Attrib,  ::efl::eolian::in_traits<Evas_Canvas3D_Vertex_Attrib>::type>(attrib),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(stride),
         ::efl::eolian::convert_to_c<const void *,  ::efl::eolian::in_traits<void const*>::type>(data));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void*>::type Mesh::frame_vertex_data_map( ::efl::eolian::in_traits<int>::type frame,  ::efl::eolian::in_traits<Evas_Canvas3D_Vertex_Attrib>::type attrib) const
{
    void * __return_value =  ::evas_canvas3d_mesh_frame_vertex_data_map(_eo_ptr(),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(frame),
         ::efl::eolian::convert_to_c<Evas_Canvas3D_Vertex_Attrib,  ::efl::eolian::in_traits<Evas_Canvas3D_Vertex_Attrib>::type>(attrib));
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<void*>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::frame_vertex_data_unmap( ::efl::eolian::in_traits<int>::type frame,  ::efl::eolian::in_traits<Evas_Canvas3D_Vertex_Attrib>::type attrib) const
{
     ::evas_canvas3d_mesh_frame_vertex_data_unmap(_eo_ptr(),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(frame),
         ::efl::eolian::convert_to_c<Evas_Canvas3D_Vertex_Attrib,  ::efl::eolian::in_traits<Evas_Canvas3D_Vertex_Attrib>::type>(attrib));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<int>::type Mesh::frame_vertex_stride_get( ::efl::eolian::in_traits<int>::type frame,  ::efl::eolian::in_traits<Evas_Canvas3D_Vertex_Attrib>::type attrib) const
{
    int __return_value =  ::evas_canvas3d_mesh_frame_vertex_stride_get(_eo_ptr(),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(frame),
         ::efl::eolian::convert_to_c<Evas_Canvas3D_Vertex_Attrib,  ::efl::eolian::in_traits<Evas_Canvas3D_Vertex_Attrib>::type>(attrib));
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<int>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::index_data_set( ::efl::eolian::in_traits<Evas_Canvas3D_Index_Format>::type format,  ::efl::eolian::in_traits<int>::type count,  ::efl::eolian::in_traits<void const*>::type indices) const
{
     ::evas_canvas3d_mesh_index_data_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<Evas_Canvas3D_Index_Format,  ::efl::eolian::in_traits<Evas_Canvas3D_Index_Format>::type>(format),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(count),
         ::efl::eolian::convert_to_c<const void *,  ::efl::eolian::in_traits<void const*>::type>(indices));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::convex_hull_data_get( ::efl::eolian::in_traits<int>::type frame,  ::efl::eolian::in_traits<Eina_Inarray const&>::type vertex,  ::efl::eolian::in_traits<Eina_Inarray const&>::type index) const
{
     ::evas_canvas3d_mesh_convex_hull_data_get(_eo_ptr(),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(frame),
         ::efl::eolian::convert_to_c<Eina_Inarray *,  ::efl::eolian::in_traits<Eina_Inarray const&>::type>(vertex),
         ::efl::eolian::convert_to_c<Eina_Inarray *,  ::efl::eolian::in_traits<Eina_Inarray const&>::type>(index));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::index_data_copy_set( ::efl::eolian::in_traits<Evas_Canvas3D_Index_Format>::type format,  ::efl::eolian::in_traits<int>::type count,  ::efl::eolian::in_traits<void const*>::type indices) const
{
     ::evas_canvas3d_mesh_index_data_copy_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<Evas_Canvas3D_Index_Format,  ::efl::eolian::in_traits<Evas_Canvas3D_Index_Format>::type>(format),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(count),
         ::efl::eolian::convert_to_c<const void *,  ::efl::eolian::in_traits<void const*>::type>(indices));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<Evas_Canvas3D_Index_Format>::type Mesh::index_format_get() const
{
    Evas_Canvas3D_Index_Format __return_value =  ::evas_canvas3d_mesh_index_format_get(_eo_ptr());
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Evas_Canvas3D_Index_Format>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<int>::type Mesh::index_count_get() const
{
    int __return_value =  ::evas_canvas3d_mesh_index_count_get(_eo_ptr());
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<int>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void*>::type Mesh::index_data_map() const
{
    void * __return_value =  ::evas_canvas3d_mesh_index_data_map(_eo_ptr());
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<void*>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::index_data_unmap() const
{
     ::evas_canvas3d_mesh_index_data_unmap(_eo_ptr());
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<bool>::type Mesh::frame_exist( ::efl::eolian::in_traits<int>::type frame) const
{
    Eina_Bool __return_value =  ::evas_canvas3d_mesh_frame_exist(_eo_ptr(),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(frame));
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::frame_add( ::efl::eolian::in_traits<int>::type frame) const
{
     ::evas_canvas3d_mesh_frame_add(_eo_ptr(),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(frame));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::frame_del( ::efl::eolian::in_traits<int>::type frame) const
{
     ::evas_canvas3d_mesh_frame_del(_eo_ptr(),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(frame));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::fog_color_set( ::efl::eolian::in_traits<Evas_Real>::type r,  ::efl::eolian::in_traits<Evas_Real>::type g,  ::efl::eolian::in_traits<Evas_Real>::type b,  ::efl::eolian::in_traits<Evas_Real>::type a) const
{
     ::evas_canvas3d_mesh_fog_color_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(r),
         ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(g),
         ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(b),
         ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(a));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::fog_color_get( ::efl::eolian::out_traits<Evas_Real>::type r,  ::efl::eolian::out_traits<Evas_Real>::type g,  ::efl::eolian::out_traits<Evas_Real>::type b,  ::efl::eolian::out_traits<Evas_Real>::type a) const
{
    Evas_Real __out_param_r = {};
    Evas_Real __out_param_g = {};
    Evas_Real __out_param_b = {};
    Evas_Real __out_param_a = {};
     ::evas_canvas3d_mesh_fog_color_get(_eo_ptr(),
        & __out_param_r,
        & __out_param_g,
        & __out_param_b,
        & __out_param_a);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(r, __out_param_r);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(g, __out_param_g);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(b, __out_param_b);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(a, __out_param_a);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::blending_func_set( ::efl::eolian::in_traits<Evas_Canvas3D_Blend_Func>::type sfactor,  ::efl::eolian::in_traits<Evas_Canvas3D_Blend_Func>::type dfactor) const
{
     ::evas_canvas3d_mesh_blending_func_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<Evas_Canvas3D_Blend_Func,  ::efl::eolian::in_traits<Evas_Canvas3D_Blend_Func>::type>(sfactor),
         ::efl::eolian::convert_to_c<Evas_Canvas3D_Blend_Func,  ::efl::eolian::in_traits<Evas_Canvas3D_Blend_Func>::type>(dfactor));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::blending_func_get( ::efl::eolian::out_traits<Evas_Canvas3D_Blend_Func>::type sfactor,  ::efl::eolian::out_traits<Evas_Canvas3D_Blend_Func>::type dfactor) const
{
    Evas_Canvas3D_Blend_Func __out_param_sfactor = {};
    Evas_Canvas3D_Blend_Func __out_param_dfactor = {};
     ::evas_canvas3d_mesh_blending_func_get(_eo_ptr(),
        & __out_param_sfactor,
        & __out_param_dfactor);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Canvas3D_Blend_Func>::type, Evas_Canvas3D_Blend_Func>(sfactor, __out_param_sfactor);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Canvas3D_Blend_Func>::type, Evas_Canvas3D_Blend_Func>(dfactor, __out_param_dfactor);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Mesh::from_primitive_set( ::efl::eolian::in_traits<int>::type frame,  ::efl::eolian::in_traits< ::evas::canvas3d::Primitive>::type primitive) const
{
     ::evas_canvas3d_mesh_from_primitive_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(frame),
         ::efl::eolian::convert_to_c< ::Evas_Canvas3D_Primitive*,  ::efl::eolian::in_traits< ::evas::canvas3d::Primitive>::type>(primitive));
}
#endif
inline evas::canvas3d::Mesh::operator ::evas::canvas3d::Mesh() const { return *static_cast< ::evas::canvas3d::Mesh const*>(static_cast<void const*>(this)); }
inline evas::canvas3d::Mesh::operator ::evas::canvas3d::Mesh&() { return *static_cast< ::evas::canvas3d::Mesh*>(static_cast<void*>(this)); }
inline evas::canvas3d::Mesh::operator ::evas::canvas3d::Mesh const&() const { return *static_cast< ::evas::canvas3d::Mesh const*>(static_cast<void const*>(this)); }
} } }
#endif
