Browse Source

Make WheelJoint/PrismaticJoint:getAxis return a world vector (refs #1176)

Bart van Strien 9 years ago
parent
commit
877ebbf9c9

+ 4 - 2
src/modules/physics/box2d/PrismaticJoint.cpp

@@ -140,8 +140,10 @@ int PrismaticJoint::getLimits(lua_State *L)
 
 
 int PrismaticJoint::getAxis(lua_State *L)
 int PrismaticJoint::getAxis(lua_State *L)
 {
 {
-	lua_pushnumber(L, joint->GetLocalAxisA().x);
-	lua_pushnumber(L, joint->GetLocalAxisA().y);
+	b2Vec2 axis = joint->GetLocalAxisA();
+	getBodyA()->getWorldVector(axis.x, axis.y, axis.x, axis.y);
+	lua_pushnumber(L, axis.x);
+	lua_pushnumber(L, axis.y);
 	return 2;
 	return 2;
 }
 }
 
 

+ 4 - 2
src/modules/physics/box2d/WheelJoint.cpp

@@ -115,8 +115,10 @@ float WheelJoint::getSpringDampingRatio() const
 
 
 int WheelJoint::getAxis(lua_State *L)
 int WheelJoint::getAxis(lua_State *L)
 {
 {
-	lua_pushnumber(L, joint->GetLocalAxisA().x);
-	lua_pushnumber(L, joint->GetLocalAxisA().y);
+	b2Vec2 axis = joint->GetLocalAxisA();
+	getBodyA()->getWorldVector(axis.x, axis.y, axis.x, axis.y);
+	lua_pushnumber(L, axis.x);
+	lua_pushnumber(L, axis.y);
 	return 2;
 	return 2;
 }
 }