Use proper rotation for computing local aabb for convex cast shape.

Propagate hit point from convex caster to world callback [work in progress].
This commit is contained in:
johnmccutchan
2007-12-07 21:22:38 +00:00
parent 68af58c09d
commit 513a055035
7 changed files with 33 additions and 32 deletions

View File

@@ -174,6 +174,7 @@ bool btContinuousConvexCollision::calcTimeOfImpact(
result.m_fraction = lastLambda;
n = pointCollector.m_normalOnBInWorld;
result.m_normal=n;//.setValue(1,1,1);// = n;
result.m_hitPoint = pointCollector.m_pointInWorld;
return true;
}
c = pointCollector.m_pointInWorld;
@@ -189,6 +190,7 @@ bool btContinuousConvexCollision::calcTimeOfImpact(
result.m_fraction = lambda;
result.m_normal = n;
result.m_hitPoint = c;
return true;
}

View File

@@ -50,6 +50,7 @@ public:
virtual ~CastResult() {};
btVector3 m_normal;
btVector3 m_hitPoint;
btScalar m_fraction;
btTransform m_hitTransformA;
btTransform m_hitTransformB;

View File

@@ -148,6 +148,7 @@ bool btGjkConvexCast::calcTimeOfImpact(
//degeneracy, report a hit
result.m_fraction = lastLambda;
result.m_normal = n;
result.m_hitPoint = pointCollector.m_pointInWorld;
return true;
}
c = pointCollector.m_pointInWorld;
@@ -165,6 +166,7 @@ bool btGjkConvexCast::calcTimeOfImpact(
result.m_fraction = lastLambda;
result.m_normal = n;
result.m_hitPoint = c;
return true;
}
}

View File

@@ -118,7 +118,7 @@ btTriangleConvexcastCallback::btTriangleConvexcastCallback (const btConvexShape*
void
btTriangleConvexcastCallback::processTriangle (btVector3* triangle, int partId, int triangleIndex)
{
btTriangleShape triangleShape (triangle[0], triangle[1], triangle[2]);
btTriangleShape triangleShape (triangle[0], triangle[1], triangle[2]);
btVoronoiSimplexSolver simplexSolver;
@@ -148,7 +148,7 @@ btTriangleConvexcastCallback::processTriangle (btVector3* triangle, int partId,
castResult.m_normal.normalize();
reportHit (castResult.m_normal,
btVector3(6,6,6),
castResult.m_hitPoint,
castResult.m_fraction,
partId,
triangleIndex);