Fix scaling errors with CircleShape's radius

--HG--
branch : box2d-update
This commit is contained in:
Bill Meltsner
2011-09-25 11:30:58 -04:00
parent 56ce9a2e17
commit 5cd2ce05fd
2 changed files with 5 additions and 4 deletions
+3 -2
View File
@@ -23,6 +23,7 @@
// Module
#include "Body.h"
#include "World.h"
#include "Physics.h"
#include <common/Memoizer.h>
@@ -46,12 +47,12 @@ namespace box2d
float CircleShape::getRadius() const
{
return shape->m_radius;
return Physics::scaleUp(shape->m_radius);
}
void CircleShape::setRadius(float r)
{
shape->m_radius = r;
shape->m_radius = Physics::scaleDown(r);
}
} // box2d
+2 -2
View File
@@ -63,7 +63,7 @@ namespace box2d
{
b2CircleShape *s = new b2CircleShape();
s->m_p = Physics::scaleDown(b2Vec2(x, y));
s->m_radius = radius;
s->m_radius = Physics::scaleDown(radius);
return new CircleShape(s);
}
@@ -225,7 +225,7 @@ namespace box2d
b2DistanceOutput o;
b2SimplexCache c;
b2Distance(&o, &c, &i);
lua_pushnumber(L, o.distance);
lua_pushnumber(L, Physics::scaleUp(o.distance));
lua_pushnumber(L, Physics::scaleUp(o.pointA.x));
lua_pushnumber(L, Physics::scaleUp(o.pointA.y));
lua_pushnumber(L, Physics::scaleUp(o.pointB.x));