int w_BezierCurve_getDerivative(lua_State *L) { BezierCurve *curve = luax_checkbeziercurve(L, 1); BezierCurve *deriv = new BezierCurve(curve->getDerivative()); luax_pushtype(L, MATH_BEZIER_CURVE_ID, deriv); deriv->release(); return 1; }
int w_BezierCurve_getSegment(lua_State *L) { BezierCurve *curve = luax_checkbeziercurve(L, 1); double t1 = luaL_checknumber(L, 2); double t2 = luaL_checknumber(L, 3); BezierCurve *segment; luax_catchexcept(L, [&](){ segment = curve->getSegment(t1, t2); }); luax_pushtype(L, MATH_BEZIER_CURVE_ID, segment); segment->release(); return 1; }