int w_BezierCurve_render(lua_State *L) { BezierCurve *curve = luax_checkbeziercurve(L, 1); int accuracy = (int) luaL_optnumber(L, 2, 5); std::vector<Vector> points; luax_catchexcept(L, [&](){ points = curve->render(accuracy); }); lua_createtable(L, (int) points.size() * 2, 0); for (int i = 0; i < (int) points.size(); ++i) { lua_pushnumber(L, points[i].x); lua_rawseti(L, -2, 2*i+1); lua_pushnumber(L, points[i].y); lua_rawseti(L, -2, 2*i+2); } return 1; }