namespace evas { namespace canvas3d { 
inline ::efl::eolian::return_traits<bool>::type Light::directional_get() const
{
   Eina_Bool __return_value =  ::evas_canvas3d_light_directional_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Light::directional_set( ::efl::eolian::in_traits<bool>::type directional) const
{
    ::evas_canvas3d_light_directional_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(directional));
}
inline ::efl::eolian::return_traits<Evas_Real>::type Light::spot_exponent_get() const
{
   Evas_Real __return_value =  ::evas_canvas3d_light_spot_exponent_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Evas_Real>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Light::spot_exponent_set( ::efl::eolian::in_traits<Evas_Real>::type exponent) const
{
    ::evas_canvas3d_light_spot_exponent_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(exponent));
}
inline ::efl::eolian::return_traits<Evas_Real>::type Light::spot_cutoff_get() const
{
   Evas_Real __return_value =  ::evas_canvas3d_light_spot_cutoff_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Evas_Real>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Light::spot_cutoff_set( ::efl::eolian::in_traits<Evas_Real>::type cutoff) const
{
    ::evas_canvas3d_light_spot_cutoff_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(cutoff));
}
inline ::efl::eolian::return_traits<bool>::type Light::attenuation_enable_get() const
{
   Eina_Bool __return_value =  ::evas_canvas3d_light_attenuation_enable_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Light::attenuation_enable_set( ::efl::eolian::in_traits<bool>::type enable) const
{
    ::evas_canvas3d_light_attenuation_enable_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(enable));
}
inline ::efl::eolian::return_traits<void>::type Light::ambient_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_light_ambient_set(this->_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));
}
inline ::efl::eolian::return_traits<void>::type Light::ambient_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_light_ambient_get(this->_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);
}
inline ::efl::eolian::return_traits<void>::type Light::diffuse_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_light_diffuse_set(this->_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));
}
inline ::efl::eolian::return_traits<void>::type Light::diffuse_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_light_diffuse_get(this->_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);
}
inline ::efl::eolian::return_traits<void>::type Light::specular_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_light_specular_set(this->_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));
}
inline ::efl::eolian::return_traits<void>::type Light::specular_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_light_specular_get(this->_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);
}
inline ::efl::eolian::return_traits<void>::type Light::attenuation_set( ::efl::eolian::in_traits<Evas_Real>::type constant,  ::efl::eolian::in_traits<Evas_Real>::type linear,  ::efl::eolian::in_traits<Evas_Real>::type quadratic) const
{
    ::evas_canvas3d_light_attenuation_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(constant)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(linear)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(quadratic));
}
inline ::efl::eolian::return_traits<void>::type Light::attenuation_get( ::efl::eolian::out_traits<Evas_Real>::type constant,  ::efl::eolian::out_traits<Evas_Real>::type linear,  ::efl::eolian::out_traits<Evas_Real>::type quadratic) const
{
   Evas_Real __out_param_constant = {};
   Evas_Real __out_param_linear = {};
   Evas_Real __out_param_quadratic = {};
    ::evas_canvas3d_light_attenuation_get(this->_eo_ptr()
      , & __out_param_constant
      , & __out_param_linear
      , & __out_param_quadratic);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(constant, __out_param_constant);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(linear, __out_param_linear);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(quadratic, __out_param_quadratic);
}
inline ::efl::eolian::return_traits<void>::type Light::projection_matrix_get( ::efl::eolian::out_traits<Evas_Real>::type matrix) const
{
   Evas_Real __out_param_matrix = {};
    ::evas_canvas3d_light_projection_matrix_get(this->_eo_ptr()
      , & __out_param_matrix);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(matrix, __out_param_matrix);
}
inline ::efl::eolian::return_traits<void>::type Light::projection_perspective_set( ::efl::eolian::in_traits<Evas_Real>::type fovy,  ::efl::eolian::in_traits<Evas_Real>::type aspect,  ::efl::eolian::in_traits<Evas_Real>::type dnear,  ::efl::eolian::in_traits<Evas_Real>::type dfar) const
{
    ::evas_canvas3d_light_projection_perspective_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(fovy)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(aspect)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(dnear)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(dfar));
}
inline ::efl::eolian::return_traits<void>::type Light::projection_frustum_set( ::efl::eolian::in_traits<Evas_Real>::type left,  ::efl::eolian::in_traits<Evas_Real>::type right,  ::efl::eolian::in_traits<Evas_Real>::type bottom,  ::efl::eolian::in_traits<Evas_Real>::type top,  ::efl::eolian::in_traits<Evas_Real>::type dnear,  ::efl::eolian::in_traits<Evas_Real>::type dfar) const
{
    ::evas_canvas3d_light_projection_frustum_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(left)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(right)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(bottom)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(top)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(dnear)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(dfar));
}
inline ::efl::eolian::return_traits<void>::type Light::projection_ortho_set( ::efl::eolian::in_traits<Evas_Real>::type left,  ::efl::eolian::in_traits<Evas_Real>::type right,  ::efl::eolian::in_traits<Evas_Real>::type bottom,  ::efl::eolian::in_traits<Evas_Real>::type top,  ::efl::eolian::in_traits<Evas_Real>::type dnear,  ::efl::eolian::in_traits<Evas_Real>::type dfar) const
{
    ::evas_canvas3d_light_projection_ortho_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(left)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(right)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(bottom)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(top)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(dnear)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(dfar));
}
} } 
namespace eo_cxx {
namespace evas { namespace canvas3d { 
inline ::efl::eolian::return_traits<bool>::type Light::directional_get() const
{
   Eina_Bool __return_value =  ::evas_canvas3d_light_directional_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Light::directional_set( ::efl::eolian::in_traits<bool>::type directional) const
{
    ::evas_canvas3d_light_directional_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(directional));
}
inline ::efl::eolian::return_traits<Evas_Real>::type Light::spot_exponent_get() const
{
   Evas_Real __return_value =  ::evas_canvas3d_light_spot_exponent_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Evas_Real>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Light::spot_exponent_set( ::efl::eolian::in_traits<Evas_Real>::type exponent) const
{
    ::evas_canvas3d_light_spot_exponent_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(exponent));
}
inline ::efl::eolian::return_traits<Evas_Real>::type Light::spot_cutoff_get() const
{
   Evas_Real __return_value =  ::evas_canvas3d_light_spot_cutoff_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Evas_Real>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Light::spot_cutoff_set( ::efl::eolian::in_traits<Evas_Real>::type cutoff) const
{
    ::evas_canvas3d_light_spot_cutoff_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(cutoff));
}
inline ::efl::eolian::return_traits<bool>::type Light::attenuation_enable_get() const
{
   Eina_Bool __return_value =  ::evas_canvas3d_light_attenuation_enable_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Light::attenuation_enable_set( ::efl::eolian::in_traits<bool>::type enable) const
{
    ::evas_canvas3d_light_attenuation_enable_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(enable));
}
inline ::efl::eolian::return_traits<void>::type Light::ambient_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_light_ambient_set(this->_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));
}
inline ::efl::eolian::return_traits<void>::type Light::ambient_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_light_ambient_get(this->_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);
}
inline ::efl::eolian::return_traits<void>::type Light::diffuse_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_light_diffuse_set(this->_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));
}
inline ::efl::eolian::return_traits<void>::type Light::diffuse_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_light_diffuse_get(this->_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);
}
inline ::efl::eolian::return_traits<void>::type Light::specular_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_light_specular_set(this->_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));
}
inline ::efl::eolian::return_traits<void>::type Light::specular_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_light_specular_get(this->_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);
}
inline ::efl::eolian::return_traits<void>::type Light::attenuation_set( ::efl::eolian::in_traits<Evas_Real>::type constant,  ::efl::eolian::in_traits<Evas_Real>::type linear,  ::efl::eolian::in_traits<Evas_Real>::type quadratic) const
{
    ::evas_canvas3d_light_attenuation_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(constant)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(linear)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(quadratic));
}
inline ::efl::eolian::return_traits<void>::type Light::attenuation_get( ::efl::eolian::out_traits<Evas_Real>::type constant,  ::efl::eolian::out_traits<Evas_Real>::type linear,  ::efl::eolian::out_traits<Evas_Real>::type quadratic) const
{
   Evas_Real __out_param_constant = {};
   Evas_Real __out_param_linear = {};
   Evas_Real __out_param_quadratic = {};
    ::evas_canvas3d_light_attenuation_get(this->_eo_ptr()
      , & __out_param_constant
      , & __out_param_linear
      , & __out_param_quadratic);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(constant, __out_param_constant);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(linear, __out_param_linear);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(quadratic, __out_param_quadratic);
}
inline ::efl::eolian::return_traits<void>::type Light::projection_matrix_get( ::efl::eolian::out_traits<Evas_Real>::type matrix) const
{
   Evas_Real __out_param_matrix = {};
    ::evas_canvas3d_light_projection_matrix_get(this->_eo_ptr()
      , & __out_param_matrix);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(matrix, __out_param_matrix);
}
inline ::efl::eolian::return_traits<void>::type Light::projection_perspective_set( ::efl::eolian::in_traits<Evas_Real>::type fovy,  ::efl::eolian::in_traits<Evas_Real>::type aspect,  ::efl::eolian::in_traits<Evas_Real>::type dnear,  ::efl::eolian::in_traits<Evas_Real>::type dfar) const
{
    ::evas_canvas3d_light_projection_perspective_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(fovy)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(aspect)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(dnear)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(dfar));
}
inline ::efl::eolian::return_traits<void>::type Light::projection_frustum_set( ::efl::eolian::in_traits<Evas_Real>::type left,  ::efl::eolian::in_traits<Evas_Real>::type right,  ::efl::eolian::in_traits<Evas_Real>::type bottom,  ::efl::eolian::in_traits<Evas_Real>::type top,  ::efl::eolian::in_traits<Evas_Real>::type dnear,  ::efl::eolian::in_traits<Evas_Real>::type dfar) const
{
    ::evas_canvas3d_light_projection_frustum_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(left)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(right)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(bottom)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(top)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(dnear)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(dfar));
}
inline ::efl::eolian::return_traits<void>::type Light::projection_ortho_set( ::efl::eolian::in_traits<Evas_Real>::type left,  ::efl::eolian::in_traits<Evas_Real>::type right,  ::efl::eolian::in_traits<Evas_Real>::type bottom,  ::efl::eolian::in_traits<Evas_Real>::type top,  ::efl::eolian::in_traits<Evas_Real>::type dnear,  ::efl::eolian::in_traits<Evas_Real>::type dfar) const
{
    ::evas_canvas3d_light_projection_ortho_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(left)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(right)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(bottom)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(top)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(dnear)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(dfar));
}
inline evas::canvas3d::Light::operator ::evas::canvas3d::Light() const { return *static_cast< ::evas::canvas3d::Light const*>(static_cast<void const*>(this)); }
inline evas::canvas3d::Light::operator ::evas::canvas3d::Light&() { return *static_cast< ::evas::canvas3d::Light*>(static_cast<void*>(this)); }
inline evas::canvas3d::Light::operator ::evas::canvas3d::Light const&() const { return *static_cast< ::evas::canvas3d::Light const*>(static_cast<void const*>(this)); }
} } }

