static int intersectsSegment(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 8);
         DragonBones.Armature obj = (DragonBones.Armature)ToLua.CheckObject(L, 1, typeof(DragonBones.Armature));
         float             arg0   = (float)LuaDLL.luaL_checknumber(L, 2);
         float             arg1   = (float)LuaDLL.luaL_checknumber(L, 3);
         float             arg2   = (float)LuaDLL.luaL_checknumber(L, 4);
         float             arg3   = (float)LuaDLL.luaL_checknumber(L, 5);
         DragonBones.Point arg4   = (DragonBones.Point)ToLua.CheckObject(L, 6, typeof(DragonBones.Point));
         DragonBones.Point arg5   = (DragonBones.Point)ToLua.CheckObject(L, 7, typeof(DragonBones.Point));
         DragonBones.Point arg6   = (DragonBones.Point)ToLua.CheckObject(L, 8, typeof(DragonBones.Point));
         DragonBones.Slot  o      = obj.intersectsSegment(arg0, arg1, arg2, arg3, arg4, arg5, arg6);
         ToLua.PushObject(L, o);
         return(1);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
    static int IntersectsSegment(IntPtr L)
    {
        try
        {
            int count = LuaDLL.lua_gettop(L);

            if (count == 5)
            {
                DragonBones.Armature obj = (DragonBones.Armature)ToLua.CheckObject <DragonBones.Armature>(L, 1);
                float            arg0    = (float)LuaDLL.luaL_checknumber(L, 2);
                float            arg1    = (float)LuaDLL.luaL_checknumber(L, 3);
                float            arg2    = (float)LuaDLL.luaL_checknumber(L, 4);
                float            arg3    = (float)LuaDLL.luaL_checknumber(L, 5);
                DragonBones.Slot o       = obj.IntersectsSegment(arg0, arg1, arg2, arg3);
                ToLua.PushObject(L, o);
                return(1);
            }
            else if (count == 6)
            {
                DragonBones.Armature obj = (DragonBones.Armature)ToLua.CheckObject <DragonBones.Armature>(L, 1);
                float             arg0   = (float)LuaDLL.luaL_checknumber(L, 2);
                float             arg1   = (float)LuaDLL.luaL_checknumber(L, 3);
                float             arg2   = (float)LuaDLL.luaL_checknumber(L, 4);
                float             arg3   = (float)LuaDLL.luaL_checknumber(L, 5);
                DragonBones.Point arg4   = (DragonBones.Point)ToLua.CheckObject <DragonBones.Point>(L, 6);
                DragonBones.Slot  o      = obj.IntersectsSegment(arg0, arg1, arg2, arg3, arg4);
                ToLua.PushObject(L, o);
                return(1);
            }
            else if (count == 7)
            {
                DragonBones.Armature obj = (DragonBones.Armature)ToLua.CheckObject <DragonBones.Armature>(L, 1);
                float             arg0   = (float)LuaDLL.luaL_checknumber(L, 2);
                float             arg1   = (float)LuaDLL.luaL_checknumber(L, 3);
                float             arg2   = (float)LuaDLL.luaL_checknumber(L, 4);
                float             arg3   = (float)LuaDLL.luaL_checknumber(L, 5);
                DragonBones.Point arg4   = (DragonBones.Point)ToLua.CheckObject <DragonBones.Point>(L, 6);
                DragonBones.Point arg5   = (DragonBones.Point)ToLua.CheckObject <DragonBones.Point>(L, 7);
                DragonBones.Slot  o      = obj.IntersectsSegment(arg0, arg1, arg2, arg3, arg4, arg5);
                ToLua.PushObject(L, o);
                return(1);
            }
            else if (count == 8)
            {
                DragonBones.Armature obj = (DragonBones.Armature)ToLua.CheckObject <DragonBones.Armature>(L, 1);
                float             arg0   = (float)LuaDLL.luaL_checknumber(L, 2);
                float             arg1   = (float)LuaDLL.luaL_checknumber(L, 3);
                float             arg2   = (float)LuaDLL.luaL_checknumber(L, 4);
                float             arg3   = (float)LuaDLL.luaL_checknumber(L, 5);
                DragonBones.Point arg4   = (DragonBones.Point)ToLua.CheckObject <DragonBones.Point>(L, 6);
                DragonBones.Point arg5   = (DragonBones.Point)ToLua.CheckObject <DragonBones.Point>(L, 7);
                DragonBones.Point arg6   = (DragonBones.Point)ToLua.CheckObject <DragonBones.Point>(L, 8);
                DragonBones.Slot  o      = obj.IntersectsSegment(arg0, arg1, arg2, arg3, arg4, arg5, arg6);
                ToLua.PushObject(L, o);
                return(1);
            }
            else
            {
                return(LuaDLL.luaL_throw(L, "invalid arguments to method: DragonBones.Armature.IntersectsSegment"));
            }
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }