From 627877e3e5136b581f77d72af532759bc48ddb8f Mon Sep 17 00:00:00 2001 From: "erwin.coumans" Date: Fri, 18 Jun 2010 00:59:08 +0000 Subject: [PATCH] fix to setLocalScaling for a btCylinderShape, thanks to rutina for the patch: http://code.google.com/p/bullet/issues/detail?id=393 --- .../CollisionShapes/btCylinderShape.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/BulletCollision/CollisionShapes/btCylinderShape.h b/src/BulletCollision/CollisionShapes/btCylinderShape.h index 5b92b09f6..d0a8bd151 100644 --- a/src/BulletCollision/CollisionShapes/btCylinderShape.h +++ b/src/BulletCollision/CollisionShapes/btCylinderShape.h @@ -100,6 +100,18 @@ public: return getHalfExtentsWithMargin().getX(); } + virtual void setLocalScaling(const btVector3& scaling) + { + btVector3 oldMargin(getMargin(),getMargin(),getMargin()); + btVector3 implicitShapeDimensionsWithMargin = m_implicitShapeDimensions+oldMargin; + btVector3 unScaledImplicitShapeDimensionsWithMargin = implicitShapeDimensionsWithMargin / m_localScaling; + + btConvexInternalShape::setLocalScaling(scaling); + + m_implicitShapeDimensions = (unScaledImplicitShapeDimensionsWithMargin * m_localScaling) - oldMargin; + + } + //debugging virtual const char* getName()const {