int w_BezierCurve_insertControlPoint(lua_State *L) { BezierCurve *curve = luax_checkbeziercurve(L, 1); float vx = (float) luaL_checknumber(L, 2); float vy = (float) luaL_checknumber(L, 3); int idx = (int) luaL_optnumber(L, 4, -1); if (idx > 0) // 1-indexing idx--; luax_catchexcept(L, [&](){ curve->insertControlPoint(Vector(vx,vy), idx); }); return 0; }