diff options
| author | Alexander <alex@cogarr.net> | 2020-05-18 13:41:40 -0400 |
|---|---|---|
| committer | Alexander <alex@cogarr.net> | 2020-05-18 13:41:40 -0400 |
| commit | 355589a9100c7d08fdc4094ad32eb9852c88fcc4 (patch) | |
| tree | 9e2d2ce6b736539907fc06fc3acc2c23daadafac /src/shared/lua_api/phys/bphysgeneric.cpp | |
| parent | 377ca5d31a35009913a795c8542659e4872d7c35 (diff) | |
| download | brokengine-355589a9100c7d08fdc4094ad32eb9852c88fcc4.tar.gz brokengine-355589a9100c7d08fdc4094ad32eb9852c88fcc4.tar.bz2 brokengine-355589a9100c7d08fdc4094ad32eb9852c88fcc4.zip | |
various updates
Diffstat (limited to 'src/shared/lua_api/phys/bphysgeneric.cpp')
| -rw-r--r-- | src/shared/lua_api/phys/bphysgeneric.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/shared/lua_api/phys/bphysgeneric.cpp b/src/shared/lua_api/phys/bphysgeneric.cpp index 718ffed..4500ce0 100644 --- a/src/shared/lua_api/phys/bphysgeneric.cpp +++ b/src/shared/lua_api/phys/bphysgeneric.cpp @@ -246,6 +246,25 @@ int applyimpulse(lua_State *L){ return 0; } +//rigidbody:setrotation({pitch,yaw,roll}) +int setrotation(lua_State *L){ + int nargs = lua_gettop(L); + double pitch,yaw,roll; + if(nargs != 2){ + lua_pushstring(L,"setrotation() expected 2 arguments (r :: rigidbody, eulerangle :: vector3)"); + lua_error(L); + } + popvector3d(L,&pitch,&yaw,&roll); + btRigidBody *r = popRigidBody(L); + btTransform tr; + btQuaternion quat; + quat.setEuler(yaw,pitch,roll); + tr.setRotation(quat); + r->setCenterOfMassTransform(tr); + + return 0; +} + /* @@ -290,6 +309,7 @@ extern const luaL_reg brigidbody_m[] = { {"setvelocity", setvelocity}, {"setangfactor", setangfactor}, {"setflags", setflags}, + {"setrotation", setrotation}, //{"testcontact", testcontact}, {NULL, NULL} }; |
