mirror of https://github.com/bjornbytes/lovr.git
Collider:getLocalCenter;
This commit is contained in:
parent
1829a65898
commit
1a404c087f
|
@ -296,6 +296,16 @@ int l_lovrColliderApplyTorque(lua_State* L) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int l_lovrColliderGetLocalCenter(lua_State* L) {
|
||||||
|
Collider* collider = luax_checktype(L, 1, Collider);
|
||||||
|
float x, y, z;
|
||||||
|
lovrColliderGetLocalCenter(collider, &x, &y, &z);
|
||||||
|
lua_pushnumber(L, x);
|
||||||
|
lua_pushnumber(L, y);
|
||||||
|
lua_pushnumber(L, z);
|
||||||
|
return 3;
|
||||||
|
}
|
||||||
|
|
||||||
int l_lovrColliderGetLocalPoint(lua_State* L) {
|
int l_lovrColliderGetLocalPoint(lua_State* L) {
|
||||||
Collider* collider = luax_checktype(L, 1, Collider);
|
Collider* collider = luax_checktype(L, 1, Collider);
|
||||||
float wx = luaL_checknumber(L, 2);
|
float wx = luaL_checknumber(L, 2);
|
||||||
|
@ -406,6 +416,7 @@ const luaL_Reg lovrCollider[] = {
|
||||||
{ "setAngularDamping", l_lovrColliderSetAngularDamping },
|
{ "setAngularDamping", l_lovrColliderSetAngularDamping },
|
||||||
{ "applyForce", l_lovrColliderApplyForce },
|
{ "applyForce", l_lovrColliderApplyForce },
|
||||||
{ "applyTorque", l_lovrColliderApplyForce },
|
{ "applyTorque", l_lovrColliderApplyForce },
|
||||||
|
{ "getLocalCenter", l_lovrColliderGetLocalCenter },
|
||||||
{ "getLocalPoint", l_lovrColliderGetLocalPoint },
|
{ "getLocalPoint", l_lovrColliderGetLocalPoint },
|
||||||
{ "getWorldPoint", l_lovrColliderGetWorldPoint },
|
{ "getWorldPoint", l_lovrColliderGetWorldPoint },
|
||||||
{ "getLocalVector", l_lovrColliderGetLocalVector },
|
{ "getLocalVector", l_lovrColliderGetLocalVector },
|
||||||
|
|
|
@ -347,6 +347,14 @@ void lovrColliderApplyTorque(Collider* collider, float x, float y, float z) {
|
||||||
dBodyAddTorque(collider->body, x, y, z);
|
dBodyAddTorque(collider->body, x, y, z);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void lovrColliderGetLocalCenter(Collider* collider, float* x, float* y, float* z) {
|
||||||
|
dMass m;
|
||||||
|
dBodyGetMass(collider->body, &m);
|
||||||
|
*x = m.c[0];
|
||||||
|
*y = m.c[1];
|
||||||
|
*z = m.c[2];
|
||||||
|
}
|
||||||
|
|
||||||
void lovrColliderGetLocalPoint(Collider* collider, float wx, float wy, float wz, float* x, float* y, float* z) {
|
void lovrColliderGetLocalPoint(Collider* collider, float wx, float wy, float wz, float* x, float* y, float* z) {
|
||||||
dReal local[3];
|
dReal local[3];
|
||||||
dBodyGetPosRelPoint(collider->body, wx, wy, wz, local);
|
dBodyGetPosRelPoint(collider->body, wx, wy, wz, local);
|
||||||
|
|
|
@ -96,6 +96,7 @@ void lovrColliderSetAngularDamping(Collider* collider, float damping, float thre
|
||||||
void lovrColliderApplyForce(Collider* collider, float x, float y, float z);
|
void lovrColliderApplyForce(Collider* collider, float x, float y, float z);
|
||||||
void lovrColliderApplyForceAtPosition(Collider* collider, float x, float y, float z, float cx, float cy, float cz);
|
void lovrColliderApplyForceAtPosition(Collider* collider, float x, float y, float z, float cx, float cy, float cz);
|
||||||
void lovrColliderApplyTorque(Collider* collider, float x, float y, float z);
|
void lovrColliderApplyTorque(Collider* collider, float x, float y, float z);
|
||||||
|
void lovrColliderGetLocalCenter(Collider* collider, float* x, float* y, float* z);
|
||||||
void lovrColliderGetLocalPoint(Collider* collider, float wx, float wy, float wz, float* x, float* y, float* z);
|
void lovrColliderGetLocalPoint(Collider* collider, float wx, float wy, float wz, float* x, float* y, float* z);
|
||||||
void lovrColliderGetWorldPoint(Collider* collider, float x, float y, float z, float* wx, float* wy, float* wz);
|
void lovrColliderGetWorldPoint(Collider* collider, float x, float y, float z, float* wx, float* wy, float* wz);
|
||||||
void lovrColliderGetLocalVector(Collider* collider, float wx, float wy, float wz, float* x, float* y, float* z);
|
void lovrColliderGetLocalVector(Collider* collider, float wx, float wy, float wz, float* x, float* y, float* z);
|
||||||
|
|
Loading…
Reference in New Issue