Browse Source

Add RevoluteJoint:getMaxMotorTorque

--HG--
branch : box2d-update
Bill Meltsner 14 years ago
parent
commit
53cdd0ea7d

+ 5 - 0
src/modules/physics/box2d/RevoluteJoint.cpp

@@ -87,6 +87,11 @@ namespace box2d
 	{
 	{
 		return Physics::scaleUp(Physics::scaleUp(joint->GetMotorTorque(inv_dt)));
 		return Physics::scaleUp(Physics::scaleUp(joint->GetMotorTorque(inv_dt)));
 	}
 	}
+	
+	float RevoluteJoint::getMaxMotorTorque()
+	{
+		return Physics::scaleUp(Physics::scaleUp(joint->GetMaxMotorTorque()));
+	}
 
 
 	void RevoluteJoint::enableLimit(bool limit)
 	void RevoluteJoint::enableLimit(bool limit)
 	{
 	{

+ 5 - 0
src/modules/physics/box2d/RevoluteJoint.h

@@ -91,6 +91,11 @@ namespace box2d
 		**/
 		**/
 		float getMotorTorque(float inv_dt) const;
 		float getMotorTorque(float inv_dt) const;
 
 
+		/**
+		* Get the maximum motor torque, usually in N-m.
+		**/
+		float getMaxMotorTorque();
+
 		/**
 		/**
 		* Enable/disable the joint limit.
 		* Enable/disable the joint limit.
 		**/
 		**/

+ 8 - 0
src/modules/physics/box2d/wrap_RevoluteJoint.cpp

@@ -90,6 +90,13 @@ namespace box2d
 		lua_pushnumber(L, t->getMotorTorque(inv_dt));
 		lua_pushnumber(L, t->getMotorTorque(inv_dt));
 		return 1;
 		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)
 	int w_RevoluteJoint_enableLimit(lua_State * L)
 	{
 	{
@@ -161,6 +168,7 @@ namespace box2d
 		{ "setMotorSpeed", w_RevoluteJoint_setMotorSpeed },
 		{ "setMotorSpeed", w_RevoluteJoint_setMotorSpeed },
 		{ "getMotorSpeed", w_RevoluteJoint_getMotorSpeed },
 		{ "getMotorSpeed", w_RevoluteJoint_getMotorSpeed },
 		{ "getMotorTorque", w_RevoluteJoint_getMotorTorque },
 		{ "getMotorTorque", w_RevoluteJoint_getMotorTorque },
+		{ "getMaxMotorTorque", w_RevoluteJoint_getMaxMotorTorque },
 		{ "enableLimit", w_RevoluteJoint_enableLimit },
 		{ "enableLimit", w_RevoluteJoint_enableLimit },
 		{ "isLimitEnabled", w_RevoluteJoint_isLimitEnabled },
 		{ "isLimitEnabled", w_RevoluteJoint_isLimitEnabled },
 		{ "setUpperLimit", w_RevoluteJoint_setUpperLimit },
 		{ "setUpperLimit", w_RevoluteJoint_setUpperLimit },

+ 1 - 0
src/modules/physics/box2d/wrap_RevoluteJoint.h

@@ -41,6 +41,7 @@ namespace box2d
 	int w_RevoluteJoint_setMotorSpeed(lua_State * L);
 	int w_RevoluteJoint_setMotorSpeed(lua_State * L);
 	int w_RevoluteJoint_getMotorSpeed(lua_State * L);
 	int w_RevoluteJoint_getMotorSpeed(lua_State * L);
 	int w_RevoluteJoint_getMotorTorque(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_enableLimit(lua_State * L);
 	int w_RevoluteJoint_isLimitEnabled(lua_State * L);
 	int w_RevoluteJoint_isLimitEnabled(lua_State * L);
 	int w_RevoluteJoint_setUpperLimit(lua_State * L);
 	int w_RevoluteJoint_setUpperLimit(lua_State * L);