Body:getAngularDamping; Body:setAngularDamping;

This commit is contained in:
bjorn 2017-05-15 23:14:46 -06:00
parent 1a4193831c
commit 18b9c8cdae
3 changed files with 31 additions and 0 deletions

View File

@ -96,6 +96,23 @@ int l_lovrBodySetLinearDamping(lua_State* L) {
return 0;
}
int l_lovrBodyGetAngularDamping(lua_State* L) {
Body* body = luax_checktype(L, 1, Body);
float damping, threshold;
lovrBodyGetAngularDamping(body, &damping, &threshold);
lua_pushnumber(L, damping);
lua_pushnumber(L, threshold);
return 2;
}
int l_lovrBodySetAngularDamping(lua_State* L) {
Body* body = luax_checktype(L, 1, Body);
float damping = luaL_checknumber(L, 2);
float threshold = luaL_optnumber(L, 3, .01);
lovrBodySetAngularDamping(body, damping, threshold);
return 0;
}
const luaL_Reg lovrBody[] = {
{ "getPosition", l_lovrBodyGetPosition },
{ "setPosition", l_lovrBodySetPosition },
@ -107,5 +124,7 @@ const luaL_Reg lovrBody[] = {
{ "setAngularVelocity", l_lovrBodySetAngularVelocity },
{ "getLinearDamping", l_lovrBodyGetLinearDamping },
{ "setLinearDamping", l_lovrBodySetLinearDamping },
{ "getAngularDamping", l_lovrBodyGetAngularDamping },
{ "setAngularDamping", l_lovrBodySetAngularDamping },
{ NULL, NULL }
};

View File

@ -150,3 +150,13 @@ void lovrBodySetLinearDamping(Body* body, float damping, float threshold) {
dBodySetLinearDamping(body->id, damping);
dBodySetLinearDampingThreshold(body->id, threshold);
}
void lovrBodyGetAngularDamping(Body* body, float* damping, float* threshold) {
*damping = dBodyGetAngularDamping(body->id);
*threshold = dBodyGetAngularDampingThreshold(body->id);
}
void lovrBodySetAngularDamping(Body* body, float damping, float threshold) {
dBodySetAngularDamping(body->id, damping);
dBodySetAngularDampingThreshold(body->id, threshold);
}

View File

@ -39,3 +39,5 @@ void lovrBodyGetAngularVelocity(Body* body, float* x, float* y, float* z);
void lovrBodySetAngularVelocity(Body* body, float x, float y, float z);
void lovrBodyGetLinearDamping(Body* body, float* damping, float* threshold);
void lovrBodySetLinearDamping(Body* body, float damping, float threshold);
void lovrBodyGetAngularDamping(Body* body, float* damping, float* threshold);
void lovrBodySetAngularDamping(Body* body, float damping, float threshold);