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:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -50,6 +50,7 @@ public:
|
||||
virtual ~CastResult() {};
|
||||
|
||||
btVector3 m_normal;
|
||||
btVector3 m_hitPoint;
|
||||
btScalar m_fraction;
|
||||
btTransform m_hitTransformA;
|
||||
btTransform m_hitTransformB;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user