added non-uniform scaling to btMultiSphereShape

added ray-aabb check
modified Raycast demo to be more useful for debugging collision shapes
This commit is contained in:
ejcoumans
2006-11-09 01:58:33 +00:00
parent db65601f9a
commit 6d47d9492e
12 changed files with 211 additions and 54 deletions

View File

@@ -61,3 +61,36 @@ void GLDebugDrawer::drawContactPoint(const btVector3& pointOnB,const btVector3&
}
}
void GLDebugDrawer::drawAabb(const btVector3& from,const btVector3& to,const btVector3& color)
{
btVector3 halfExtents = (to-from)* 0.5f;
btVector3 center = (to+from) *0.5f;
int i,j;
btVector3 edgecoord(1.f,1.f,1.f),pa,pb;
for (i=0;i<4;i++)
{
for (j=0;j<3;j++)
{
pa = btVector3(edgecoord[0]*halfExtents[0], edgecoord[1]*halfExtents[1],
edgecoord[2]*halfExtents[2]);
pa+=center;
int othercoord = j%3;
edgecoord[othercoord]*=-1.f;
pb = btVector3(edgecoord[0]*halfExtents[0], edgecoord[1]*halfExtents[1],
edgecoord[2]*halfExtents[2]);
pb+=center;
drawLine(pa,pb,color);
}
edgecoord = btVector3(-1.f,-1.f,-1.f);
if (i<3)
edgecoord[i]*=-1.f;
}
}