#ifndef EVAS_CANVAS3D_NODE_IMPL_HH
#define EVAS_CANVAS3D_NODE_IMPL_HH

#include "evas_canvas3d_node.eo.hh"

namespace evas { namespace canvas3d { 
inline ::efl::eolian::return_traits<Evas_Canvas3D_Node_Type>::type Node::node_type_get() const
{
   Evas_Canvas3D_Node_Type __return_value =  ::evas_canvas3d_node_type_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Evas_Canvas3D_Node_Type>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Node::node_type_set( ::efl::eolian::in_traits<Evas_Canvas3D_Node_Type>::type type) const
{
    ::evas_canvas3d_node_type_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Canvas3D_Node_Type,  ::efl::eolian::in_traits<Evas_Canvas3D_Node_Type>::type>(type));
}
inline ::efl::eolian::return_traits<bool>::type Node::position_inherit_get() const
{
   Eina_Bool __return_value =  ::evas_canvas3d_node_position_inherit_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Node::position_inherit_set( ::efl::eolian::in_traits<bool>::type inherit) const
{
    ::evas_canvas3d_node_position_inherit_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(inherit));
}
inline ::efl::eolian::return_traits<bool>::type Node::orientation_inherit_get() const
{
   Eina_Bool __return_value =  ::evas_canvas3d_node_orientation_inherit_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Node::orientation_inherit_set( ::efl::eolian::in_traits<bool>::type inherit) const
{
    ::evas_canvas3d_node_orientation_inherit_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(inherit));
}
inline ::efl::eolian::return_traits<bool>::type Node::scale_inherit_get() const
{
   Eina_Bool __return_value =  ::evas_canvas3d_node_scale_inherit_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Node::scale_inherit_set( ::efl::eolian::in_traits<bool>::type inherit) const
{
    ::evas_canvas3d_node_scale_inherit_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(inherit));
}
inline ::efl::eolian::return_traits< ::evas::canvas3d::Object>::type Node::camera_get() const
{
    ::Evas_Canvas3D_Object* __return_value =  ::evas_canvas3d_node_camera_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::evas::canvas3d::Object>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Node::camera_set( ::efl::eolian::in_traits< ::evas::canvas3d::Object>::type camera) const
{
    ::evas_canvas3d_node_camera_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Evas_Canvas3D_Object*,  ::efl::eolian::in_traits< ::evas::canvas3d::Object>::type>(camera));
}
inline ::efl::eolian::return_traits< ::evas::canvas3d::Light>::type Node::light_get() const
{
    ::Evas_Canvas3D_Light* __return_value =  ::evas_canvas3d_node_light_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::evas::canvas3d::Light>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Node::light_set( ::efl::eolian::in_traits< ::evas::canvas3d::Light>::type light) const
{
    ::evas_canvas3d_node_light_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Evas_Canvas3D_Light*,  ::efl::eolian::in_traits< ::evas::canvas3d::Light>::type>(light));
}
inline ::efl::eolian::return_traits<int>::type Node::mesh_frame_get( ::efl::eolian::in_traits< ::evas::canvas3d::Mesh>::type mesh) const
{
   int __return_value =  ::evas_canvas3d_node_mesh_frame_get(_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Evas_Canvas3D_Mesh*,  ::efl::eolian::in_traits< ::evas::canvas3d::Mesh>::type>(mesh));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<int>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Node::mesh_frame_set( ::efl::eolian::in_traits< ::evas::canvas3d::Mesh>::type mesh,  ::efl::eolian::in_traits<int>::type frame) const
{
    ::evas_canvas3d_node_mesh_frame_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Evas_Canvas3D_Mesh*,  ::efl::eolian::in_traits< ::evas::canvas3d::Mesh>::type>(mesh)
      ,  ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(frame));
}
inline ::efl::eolian::return_traits< ::evas::canvas3d::Node>::type Node::billboard_target_get() const
{
    ::Evas_Canvas3D_Node* __return_value =  ::evas_canvas3d_node_billboard_target_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::evas::canvas3d::Node>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Node::billboard_target_set( ::efl::eolian::in_traits< ::evas::canvas3d::Node>::type target) const
{
    ::evas_canvas3d_node_billboard_target_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Evas_Canvas3D_Node*,  ::efl::eolian::in_traits< ::evas::canvas3d::Node>::type>(target));
}
inline ::efl::eolian::return_traits<bool>::type Node::lod_enable_get() const
{
   Eina_Bool __return_value =  ::evas_canvas3d_node_lod_enable_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Node::lod_enable_set( ::efl::eolian::in_traits<bool>::type enable) const
{
    ::evas_canvas3d_node_lod_enable_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(enable));
}
inline ::efl::eolian::return_traits<void>::type Node::member_add( ::efl::eolian::in_traits< ::evas::canvas3d::Node>::type member) const
{
    ::evas_canvas3d_node_member_add(_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Evas_Canvas3D_Node*,  ::efl::eolian::in_traits< ::evas::canvas3d::Node>::type>(member));
}
inline ::efl::eolian::return_traits<void>::type Node::member_del( ::efl::eolian::in_traits< ::evas::canvas3d::Node>::type member) const
{
    ::evas_canvas3d_node_member_del(_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Evas_Canvas3D_Node*,  ::efl::eolian::in_traits< ::evas::canvas3d::Node>::type>(member));
}
inline ::efl::eolian::return_traits< ::evas::canvas3d::Node>::type Node::parent_get() const
{
    ::Evas_Canvas3D_Node* __return_value =  ::evas_canvas3d_node_parent_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::evas::canvas3d::Node>::type>(__return_value);
}
inline ::efl::eolian::return_traits<  ::efl::eina::range_list< ::evas::canvas3d::Node>>::type Node::member_list_get() const
{
   const Eina_List * __return_value =  ::evas_canvas3d_node_member_list_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<  ::efl::eina::range_list< ::evas::canvas3d::Node>>::type>(__return_value);
}
inline ::efl::eolian::return_traits<Eina_Hash*>::type Node::scene_root_get() const
{
   Eina_Hash * __return_value =  ::evas_canvas3d_node_scene_root_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Eina_Hash*>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Node::position_set( ::efl::eolian::in_traits<Evas_Real>::type x,  ::efl::eolian::in_traits<Evas_Real>::type y,  ::efl::eolian::in_traits<Evas_Real>::type z) const
{
    ::evas_canvas3d_node_position_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(x)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(y)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(z));
}
inline ::efl::eolian::return_traits<void>::type Node::orientation_set( ::efl::eolian::in_traits<Evas_Real>::type x,  ::efl::eolian::in_traits<Evas_Real>::type y,  ::efl::eolian::in_traits<Evas_Real>::type z,  ::efl::eolian::in_traits<Evas_Real>::type w) const
{
    ::evas_canvas3d_node_orientation_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(x)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(y)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(z)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(w));
}
inline ::efl::eolian::return_traits<void>::type Node::orientation_angle_axis_set( ::efl::eolian::in_traits<Evas_Real>::type angle,  ::efl::eolian::in_traits<Evas_Real>::type x,  ::efl::eolian::in_traits<Evas_Real>::type y,  ::efl::eolian::in_traits<Evas_Real>::type z) const
{
    ::evas_canvas3d_node_orientation_angle_axis_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(angle)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(x)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(y)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(z));
}
inline ::efl::eolian::return_traits<void>::type Node::scale_set( ::efl::eolian::in_traits<Evas_Real>::type x,  ::efl::eolian::in_traits<Evas_Real>::type y,  ::efl::eolian::in_traits<Evas_Real>::type z) const
{
    ::evas_canvas3d_node_scale_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(x)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(y)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(z));
}
inline ::efl::eolian::return_traits<void>::type Node::position_get( ::efl::eolian::in_traits<Evas_Canvas3D_Space>::type space,  ::efl::eolian::out_traits<Evas_Real>::type x,  ::efl::eolian::out_traits<Evas_Real>::type y,  ::efl::eolian::out_traits<Evas_Real>::type z) const
{
   Evas_Real __out_param_x = {};
   Evas_Real __out_param_y = {};
   Evas_Real __out_param_z = {};
    ::evas_canvas3d_node_position_get(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Canvas3D_Space,  ::efl::eolian::in_traits<Evas_Canvas3D_Space>::type>(space)
      , & __out_param_x
      , & __out_param_y
      , & __out_param_z);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(x, __out_param_x);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(y, __out_param_y);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(z, __out_param_z);
}
inline ::efl::eolian::return_traits<void>::type Node::orientation_get( ::efl::eolian::in_traits<Evas_Canvas3D_Space>::type space,  ::efl::eolian::out_traits<Evas_Real>::type x,  ::efl::eolian::out_traits<Evas_Real>::type y,  ::efl::eolian::out_traits<Evas_Real>::type z,  ::efl::eolian::out_traits<Evas_Real>::type w) const
{
   Evas_Real __out_param_x = {};
   Evas_Real __out_param_y = {};
   Evas_Real __out_param_z = {};
   Evas_Real __out_param_w = {};
    ::evas_canvas3d_node_orientation_get(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Canvas3D_Space,  ::efl::eolian::in_traits<Evas_Canvas3D_Space>::type>(space)
      , & __out_param_x
      , & __out_param_y
      , & __out_param_z
      , & __out_param_w);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(x, __out_param_x);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(y, __out_param_y);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(z, __out_param_z);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(w, __out_param_w);
}
inline ::efl::eolian::return_traits<void>::type Node::scale_get( ::efl::eolian::in_traits<Evas_Canvas3D_Space>::type space,  ::efl::eolian::out_traits<Evas_Real>::type x,  ::efl::eolian::out_traits<Evas_Real>::type y,  ::efl::eolian::out_traits<Evas_Real>::type z) const
{
   Evas_Real __out_param_x = {};
   Evas_Real __out_param_y = {};
   Evas_Real __out_param_z = {};
    ::evas_canvas3d_node_scale_get(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Canvas3D_Space,  ::efl::eolian::in_traits<Evas_Canvas3D_Space>::type>(space)
      , & __out_param_x
      , & __out_param_y
      , & __out_param_z);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(x, __out_param_x);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(y, __out_param_y);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(z, __out_param_z);
}
inline ::efl::eolian::return_traits<void>::type Node::look_at_set( ::efl::eolian::in_traits<Evas_Canvas3D_Space>::type target_space,  ::efl::eolian::in_traits<Evas_Real>::type x,  ::efl::eolian::in_traits<Evas_Real>::type y,  ::efl::eolian::in_traits<Evas_Real>::type z,  ::efl::eolian::in_traits<Evas_Canvas3D_Space>::type up_space,  ::efl::eolian::in_traits<Evas_Real>::type ux,  ::efl::eolian::in_traits<Evas_Real>::type uy,  ::efl::eolian::in_traits<Evas_Real>::type uz) const
{
    ::evas_canvas3d_node_look_at_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Canvas3D_Space,  ::efl::eolian::in_traits<Evas_Canvas3D_Space>::type>(target_space)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(x)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(y)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(z)
      ,  ::efl::eolian::convert_to_c<Evas_Canvas3D_Space,  ::efl::eolian::in_traits<Evas_Canvas3D_Space>::type>(up_space)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(ux)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(uy)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(uz));
}
inline ::efl::eolian::return_traits<void>::type Node::mesh_add( ::efl::eolian::in_traits< ::evas::canvas3d::Mesh>::type mesh) const
{
    ::evas_canvas3d_node_mesh_add(_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Evas_Canvas3D_Mesh*,  ::efl::eolian::in_traits< ::evas::canvas3d::Mesh>::type>(mesh));
}
inline ::efl::eolian::return_traits<void>::type Node::mesh_del( ::efl::eolian::in_traits< ::evas::canvas3d::Mesh>::type mesh) const
{
    ::evas_canvas3d_node_mesh_del(_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Evas_Canvas3D_Mesh*,  ::efl::eolian::in_traits< ::evas::canvas3d::Mesh>::type>(mesh));
}
inline ::efl::eolian::return_traits<  ::efl::eina::range_list< ::evas::canvas3d::Mesh>>::type Node::mesh_list_get() const
{
   const Eina_List * __return_value =  ::evas_canvas3d_node_mesh_list_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<  ::efl::eina::range_list< ::evas::canvas3d::Mesh>>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Node::bounding_box_get( ::efl::eolian::in_traits<Evas_Real const&>::type x,  ::efl::eolian::in_traits<Evas_Real const&>::type y,  ::efl::eolian::in_traits<Evas_Real const&>::type z,  ::efl::eolian::in_traits<Evas_Real const&>::type x2,  ::efl::eolian::in_traits<Evas_Real const&>::type y2,  ::efl::eolian::in_traits<Evas_Real const&>::type z2) const
{
    ::evas_canvas3d_node_bounding_box_get(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Real *,  ::efl::eolian::in_traits<Evas_Real const&>::type>(x)
      ,  ::efl::eolian::convert_to_c<Evas_Real *,  ::efl::eolian::in_traits<Evas_Real const&>::type>(y)
      ,  ::efl::eolian::convert_to_c<Evas_Real *,  ::efl::eolian::in_traits<Evas_Real const&>::type>(z)
      ,  ::efl::eolian::convert_to_c<Evas_Real *,  ::efl::eolian::in_traits<Evas_Real const&>::type>(x2)
      ,  ::efl::eolian::convert_to_c<Evas_Real *,  ::efl::eolian::in_traits<Evas_Real const&>::type>(y2)
      ,  ::efl::eolian::convert_to_c<Evas_Real *,  ::efl::eolian::in_traits<Evas_Real const&>::type>(z2));
}
inline ::efl::eolian::return_traits<void>::type Node::bounding_sphere_get( ::efl::eolian::in_traits<Evas_Real const&>::type x,  ::efl::eolian::in_traits<Evas_Real const&>::type y,  ::efl::eolian::in_traits<Evas_Real const&>::type z,  ::efl::eolian::in_traits<Evas_Real const&>::type r) const
{
    ::evas_canvas3d_node_bounding_sphere_get(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Real *,  ::efl::eolian::in_traits<Evas_Real const&>::type>(x)
      ,  ::efl::eolian::convert_to_c<Evas_Real *,  ::efl::eolian::in_traits<Evas_Real const&>::type>(y)
      ,  ::efl::eolian::convert_to_c<Evas_Real *,  ::efl::eolian::in_traits<Evas_Real const&>::type>(z)
      ,  ::efl::eolian::convert_to_c<Evas_Real *,  ::efl::eolian::in_traits<Evas_Real const&>::type>(r));
}
} } 
namespace eo_cxx {
namespace evas { namespace canvas3d { 
inline ::efl::eolian::return_traits<Evas_Canvas3D_Node_Type>::type Node::node_type_get() const
{
   Evas_Canvas3D_Node_Type __return_value =  ::evas_canvas3d_node_type_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Evas_Canvas3D_Node_Type>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Node::node_type_set( ::efl::eolian::in_traits<Evas_Canvas3D_Node_Type>::type type) const
{
    ::evas_canvas3d_node_type_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Canvas3D_Node_Type,  ::efl::eolian::in_traits<Evas_Canvas3D_Node_Type>::type>(type));
}
inline ::efl::eolian::return_traits<bool>::type Node::position_inherit_get() const
{
   Eina_Bool __return_value =  ::evas_canvas3d_node_position_inherit_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Node::position_inherit_set( ::efl::eolian::in_traits<bool>::type inherit) const
{
    ::evas_canvas3d_node_position_inherit_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(inherit));
}
inline ::efl::eolian::return_traits<bool>::type Node::orientation_inherit_get() const
{
   Eina_Bool __return_value =  ::evas_canvas3d_node_orientation_inherit_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Node::orientation_inherit_set( ::efl::eolian::in_traits<bool>::type inherit) const
{
    ::evas_canvas3d_node_orientation_inherit_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(inherit));
}
inline ::efl::eolian::return_traits<bool>::type Node::scale_inherit_get() const
{
   Eina_Bool __return_value =  ::evas_canvas3d_node_scale_inherit_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Node::scale_inherit_set( ::efl::eolian::in_traits<bool>::type inherit) const
{
    ::evas_canvas3d_node_scale_inherit_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(inherit));
}
inline ::efl::eolian::return_traits< ::evas::canvas3d::Object>::type Node::camera_get() const
{
    ::Evas_Canvas3D_Object* __return_value =  ::evas_canvas3d_node_camera_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::evas::canvas3d::Object>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Node::camera_set( ::efl::eolian::in_traits< ::evas::canvas3d::Object>::type camera) const
{
    ::evas_canvas3d_node_camera_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Evas_Canvas3D_Object*,  ::efl::eolian::in_traits< ::evas::canvas3d::Object>::type>(camera));
}
inline ::efl::eolian::return_traits< ::evas::canvas3d::Light>::type Node::light_get() const
{
    ::Evas_Canvas3D_Light* __return_value =  ::evas_canvas3d_node_light_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::evas::canvas3d::Light>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Node::light_set( ::efl::eolian::in_traits< ::evas::canvas3d::Light>::type light) const
{
    ::evas_canvas3d_node_light_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Evas_Canvas3D_Light*,  ::efl::eolian::in_traits< ::evas::canvas3d::Light>::type>(light));
}
inline ::efl::eolian::return_traits<int>::type Node::mesh_frame_get( ::efl::eolian::in_traits< ::evas::canvas3d::Mesh>::type mesh) const
{
   int __return_value =  ::evas_canvas3d_node_mesh_frame_get(_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Evas_Canvas3D_Mesh*,  ::efl::eolian::in_traits< ::evas::canvas3d::Mesh>::type>(mesh));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<int>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Node::mesh_frame_set( ::efl::eolian::in_traits< ::evas::canvas3d::Mesh>::type mesh,  ::efl::eolian::in_traits<int>::type frame) const
{
    ::evas_canvas3d_node_mesh_frame_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Evas_Canvas3D_Mesh*,  ::efl::eolian::in_traits< ::evas::canvas3d::Mesh>::type>(mesh)
      ,  ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(frame));
}
inline ::efl::eolian::return_traits< ::evas::canvas3d::Node>::type Node::billboard_target_get() const
{
    ::Evas_Canvas3D_Node* __return_value =  ::evas_canvas3d_node_billboard_target_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::evas::canvas3d::Node>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Node::billboard_target_set( ::efl::eolian::in_traits< ::evas::canvas3d::Node>::type target) const
{
    ::evas_canvas3d_node_billboard_target_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Evas_Canvas3D_Node*,  ::efl::eolian::in_traits< ::evas::canvas3d::Node>::type>(target));
}
inline ::efl::eolian::return_traits<bool>::type Node::lod_enable_get() const
{
   Eina_Bool __return_value =  ::evas_canvas3d_node_lod_enable_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Node::lod_enable_set( ::efl::eolian::in_traits<bool>::type enable) const
{
    ::evas_canvas3d_node_lod_enable_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(enable));
}
inline ::efl::eolian::return_traits<void>::type Node::member_add( ::efl::eolian::in_traits< ::evas::canvas3d::Node>::type member) const
{
    ::evas_canvas3d_node_member_add(_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Evas_Canvas3D_Node*,  ::efl::eolian::in_traits< ::evas::canvas3d::Node>::type>(member));
}
inline ::efl::eolian::return_traits<void>::type Node::member_del( ::efl::eolian::in_traits< ::evas::canvas3d::Node>::type member) const
{
    ::evas_canvas3d_node_member_del(_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Evas_Canvas3D_Node*,  ::efl::eolian::in_traits< ::evas::canvas3d::Node>::type>(member));
}
inline ::efl::eolian::return_traits< ::evas::canvas3d::Node>::type Node::parent_get() const
{
    ::Evas_Canvas3D_Node* __return_value =  ::evas_canvas3d_node_parent_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::evas::canvas3d::Node>::type>(__return_value);
}
inline ::efl::eolian::return_traits<  ::efl::eina::range_list< ::evas::canvas3d::Node>>::type Node::member_list_get() const
{
   const Eina_List * __return_value =  ::evas_canvas3d_node_member_list_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<  ::efl::eina::range_list< ::evas::canvas3d::Node>>::type>(__return_value);
}
inline ::efl::eolian::return_traits<Eina_Hash*>::type Node::scene_root_get() const
{
   Eina_Hash * __return_value =  ::evas_canvas3d_node_scene_root_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Eina_Hash*>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Node::position_set( ::efl::eolian::in_traits<Evas_Real>::type x,  ::efl::eolian::in_traits<Evas_Real>::type y,  ::efl::eolian::in_traits<Evas_Real>::type z) const
{
    ::evas_canvas3d_node_position_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(x)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(y)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(z));
}
inline ::efl::eolian::return_traits<void>::type Node::orientation_set( ::efl::eolian::in_traits<Evas_Real>::type x,  ::efl::eolian::in_traits<Evas_Real>::type y,  ::efl::eolian::in_traits<Evas_Real>::type z,  ::efl::eolian::in_traits<Evas_Real>::type w) const
{
    ::evas_canvas3d_node_orientation_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(x)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(y)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(z)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(w));
}
inline ::efl::eolian::return_traits<void>::type Node::orientation_angle_axis_set( ::efl::eolian::in_traits<Evas_Real>::type angle,  ::efl::eolian::in_traits<Evas_Real>::type x,  ::efl::eolian::in_traits<Evas_Real>::type y,  ::efl::eolian::in_traits<Evas_Real>::type z) const
{
    ::evas_canvas3d_node_orientation_angle_axis_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(angle)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(x)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(y)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(z));
}
inline ::efl::eolian::return_traits<void>::type Node::scale_set( ::efl::eolian::in_traits<Evas_Real>::type x,  ::efl::eolian::in_traits<Evas_Real>::type y,  ::efl::eolian::in_traits<Evas_Real>::type z) const
{
    ::evas_canvas3d_node_scale_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(x)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(y)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(z));
}
inline ::efl::eolian::return_traits<void>::type Node::position_get( ::efl::eolian::in_traits<Evas_Canvas3D_Space>::type space,  ::efl::eolian::out_traits<Evas_Real>::type x,  ::efl::eolian::out_traits<Evas_Real>::type y,  ::efl::eolian::out_traits<Evas_Real>::type z) const
{
   Evas_Real __out_param_x = {};
   Evas_Real __out_param_y = {};
   Evas_Real __out_param_z = {};
    ::evas_canvas3d_node_position_get(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Canvas3D_Space,  ::efl::eolian::in_traits<Evas_Canvas3D_Space>::type>(space)
      , & __out_param_x
      , & __out_param_y
      , & __out_param_z);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(x, __out_param_x);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(y, __out_param_y);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(z, __out_param_z);
}
inline ::efl::eolian::return_traits<void>::type Node::orientation_get( ::efl::eolian::in_traits<Evas_Canvas3D_Space>::type space,  ::efl::eolian::out_traits<Evas_Real>::type x,  ::efl::eolian::out_traits<Evas_Real>::type y,  ::efl::eolian::out_traits<Evas_Real>::type z,  ::efl::eolian::out_traits<Evas_Real>::type w) const
{
   Evas_Real __out_param_x = {};
   Evas_Real __out_param_y = {};
   Evas_Real __out_param_z = {};
   Evas_Real __out_param_w = {};
    ::evas_canvas3d_node_orientation_get(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Canvas3D_Space,  ::efl::eolian::in_traits<Evas_Canvas3D_Space>::type>(space)
      , & __out_param_x
      , & __out_param_y
      , & __out_param_z
      , & __out_param_w);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(x, __out_param_x);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(y, __out_param_y);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(z, __out_param_z);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(w, __out_param_w);
}
inline ::efl::eolian::return_traits<void>::type Node::scale_get( ::efl::eolian::in_traits<Evas_Canvas3D_Space>::type space,  ::efl::eolian::out_traits<Evas_Real>::type x,  ::efl::eolian::out_traits<Evas_Real>::type y,  ::efl::eolian::out_traits<Evas_Real>::type z) const
{
   Evas_Real __out_param_x = {};
   Evas_Real __out_param_y = {};
   Evas_Real __out_param_z = {};
    ::evas_canvas3d_node_scale_get(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Canvas3D_Space,  ::efl::eolian::in_traits<Evas_Canvas3D_Space>::type>(space)
      , & __out_param_x
      , & __out_param_y
      , & __out_param_z);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(x, __out_param_x);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(y, __out_param_y);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Evas_Real>::type, Evas_Real>(z, __out_param_z);
}
inline ::efl::eolian::return_traits<void>::type Node::look_at_set( ::efl::eolian::in_traits<Evas_Canvas3D_Space>::type target_space,  ::efl::eolian::in_traits<Evas_Real>::type x,  ::efl::eolian::in_traits<Evas_Real>::type y,  ::efl::eolian::in_traits<Evas_Real>::type z,  ::efl::eolian::in_traits<Evas_Canvas3D_Space>::type up_space,  ::efl::eolian::in_traits<Evas_Real>::type ux,  ::efl::eolian::in_traits<Evas_Real>::type uy,  ::efl::eolian::in_traits<Evas_Real>::type uz) const
{
    ::evas_canvas3d_node_look_at_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Canvas3D_Space,  ::efl::eolian::in_traits<Evas_Canvas3D_Space>::type>(target_space)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(x)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(y)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(z)
      ,  ::efl::eolian::convert_to_c<Evas_Canvas3D_Space,  ::efl::eolian::in_traits<Evas_Canvas3D_Space>::type>(up_space)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(ux)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(uy)
      ,  ::efl::eolian::convert_to_c<Evas_Real,  ::efl::eolian::in_traits<Evas_Real>::type>(uz));
}
inline ::efl::eolian::return_traits<void>::type Node::mesh_add( ::efl::eolian::in_traits< ::evas::canvas3d::Mesh>::type mesh) const
{
    ::evas_canvas3d_node_mesh_add(_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Evas_Canvas3D_Mesh*,  ::efl::eolian::in_traits< ::evas::canvas3d::Mesh>::type>(mesh));
}
inline ::efl::eolian::return_traits<void>::type Node::mesh_del( ::efl::eolian::in_traits< ::evas::canvas3d::Mesh>::type mesh) const
{
    ::evas_canvas3d_node_mesh_del(_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Evas_Canvas3D_Mesh*,  ::efl::eolian::in_traits< ::evas::canvas3d::Mesh>::type>(mesh));
}
inline ::efl::eolian::return_traits<  ::efl::eina::range_list< ::evas::canvas3d::Mesh>>::type Node::mesh_list_get() const
{
   const Eina_List * __return_value =  ::evas_canvas3d_node_mesh_list_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<  ::efl::eina::range_list< ::evas::canvas3d::Mesh>>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Node::bounding_box_get( ::efl::eolian::in_traits<Evas_Real const&>::type x,  ::efl::eolian::in_traits<Evas_Real const&>::type y,  ::efl::eolian::in_traits<Evas_Real const&>::type z,  ::efl::eolian::in_traits<Evas_Real const&>::type x2,  ::efl::eolian::in_traits<Evas_Real const&>::type y2,  ::efl::eolian::in_traits<Evas_Real const&>::type z2) const
{
    ::evas_canvas3d_node_bounding_box_get(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Real *,  ::efl::eolian::in_traits<Evas_Real const&>::type>(x)
      ,  ::efl::eolian::convert_to_c<Evas_Real *,  ::efl::eolian::in_traits<Evas_Real const&>::type>(y)
      ,  ::efl::eolian::convert_to_c<Evas_Real *,  ::efl::eolian::in_traits<Evas_Real const&>::type>(z)
      ,  ::efl::eolian::convert_to_c<Evas_Real *,  ::efl::eolian::in_traits<Evas_Real const&>::type>(x2)
      ,  ::efl::eolian::convert_to_c<Evas_Real *,  ::efl::eolian::in_traits<Evas_Real const&>::type>(y2)
      ,  ::efl::eolian::convert_to_c<Evas_Real *,  ::efl::eolian::in_traits<Evas_Real const&>::type>(z2));
}
inline ::efl::eolian::return_traits<void>::type Node::bounding_sphere_get( ::efl::eolian::in_traits<Evas_Real const&>::type x,  ::efl::eolian::in_traits<Evas_Real const&>::type y,  ::efl::eolian::in_traits<Evas_Real const&>::type z,  ::efl::eolian::in_traits<Evas_Real const&>::type r) const
{
    ::evas_canvas3d_node_bounding_sphere_get(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Real *,  ::efl::eolian::in_traits<Evas_Real const&>::type>(x)
      ,  ::efl::eolian::convert_to_c<Evas_Real *,  ::efl::eolian::in_traits<Evas_Real const&>::type>(y)
      ,  ::efl::eolian::convert_to_c<Evas_Real *,  ::efl::eolian::in_traits<Evas_Real const&>::type>(z)
      ,  ::efl::eolian::convert_to_c<Evas_Real *,  ::efl::eolian::in_traits<Evas_Real const&>::type>(r));
}
inline evas::canvas3d::Node::operator ::evas::canvas3d::Node() const { return *static_cast< ::evas::canvas3d::Node const*>(static_cast<void const*>(this)); }
inline evas::canvas3d::Node::operator ::evas::canvas3d::Node&() { return *static_cast< ::evas::canvas3d::Node*>(static_cast<void*>(this)); }
inline evas::canvas3d::Node::operator ::evas::canvas3d::Node const&() const { return *static_cast< ::evas::canvas3d::Node const*>(static_cast<void const*>(this)); }
} } }
#endif
