diff --git a/src/modules/physics/box2d/RevoluteJoint.cpp b/src/modules/physics/box2d/RevoluteJoint.cpp index 45b66856d..3beaa136c 100644 --- a/src/modules/physics/box2d/RevoluteJoint.cpp +++ b/src/modules/physics/box2d/RevoluteJoint.cpp @@ -87,6 +87,11 @@ namespace box2d { return Physics::scaleUp(Physics::scaleUp(joint->GetMotorTorque(inv_dt))); } + + float RevoluteJoint::getMaxMotorTorque() + { + return Physics::scaleUp(Physics::scaleUp(joint->GetMaxMotorTorque())); + } void RevoluteJoint::enableLimit(bool limit) { diff --git a/src/modules/physics/box2d/RevoluteJoint.h b/src/modules/physics/box2d/RevoluteJoint.h index 3043f19c6..5c6c95096 100644 --- a/src/modules/physics/box2d/RevoluteJoint.h +++ b/src/modules/physics/box2d/RevoluteJoint.h @@ -91,6 +91,11 @@ namespace box2d **/ float getMotorTorque(float inv_dt) const; + /** + * Get the maximum motor torque, usually in N-m. + **/ + float getMaxMotorTorque(); + /** * Enable/disable the joint limit. **/ diff --git a/src/modules/physics/box2d/wrap_RevoluteJoint.cpp b/src/modules/physics/box2d/wrap_RevoluteJoint.cpp index d6517e687..51b092eed 100644 --- a/src/modules/physics/box2d/wrap_RevoluteJoint.cpp +++ b/src/modules/physics/box2d/wrap_RevoluteJoint.cpp @@ -90,6 +90,13 @@ namespace box2d lua_pushnumber(L, t->getMotorTorque(inv_dt)); return 1; } + + int w_RevoluteJoint_getMaxMotorTorque(lua_State * L) + { + RevoluteJoint * t = luax_checkrevolutejoint(L, 1); + lua_pushnumber(L, t->getMaxMotorTorque()); + return 1; + } int w_RevoluteJoint_enableLimit(lua_State * L) { @@ -161,6 +168,7 @@ namespace box2d { "setMotorSpeed", w_RevoluteJoint_setMotorSpeed }, { "getMotorSpeed", w_RevoluteJoint_getMotorSpeed }, { "getMotorTorque", w_RevoluteJoint_getMotorTorque }, + { "getMaxMotorTorque", w_RevoluteJoint_getMaxMotorTorque }, { "enableLimit", w_RevoluteJoint_enableLimit }, { "isLimitEnabled", w_RevoluteJoint_isLimitEnabled }, { "setUpperLimit", w_RevoluteJoint_setUpperLimit }, diff --git a/src/modules/physics/box2d/wrap_RevoluteJoint.h b/src/modules/physics/box2d/wrap_RevoluteJoint.h index 1e13aec3a..a06767b6c 100644 --- a/src/modules/physics/box2d/wrap_RevoluteJoint.h +++ b/src/modules/physics/box2d/wrap_RevoluteJoint.h @@ -41,6 +41,7 @@ namespace box2d int w_RevoluteJoint_setMotorSpeed(lua_State * L); int w_RevoluteJoint_getMotorSpeed(lua_State * L); int w_RevoluteJoint_getMotorTorque(lua_State * L); + int w_RevoluteJoint_getMaxMotorTorque(lua_State * L); int w_RevoluteJoint_enableLimit(lua_State * L); int w_RevoluteJoint_isLimitEnabled(lua_State * L); int w_RevoluteJoint_setUpperLimit(lua_State * L);