bugfixes
This commit is contained in:
@ -149,8 +149,7 @@ void b3QHull::Set(const b3Vec3* points, u32 count)
|
|||||||
|
|
||||||
for (u32 j = 0; j < psCount; ++j)
|
for (u32 j = 0; j < psCount; ++j)
|
||||||
{
|
{
|
||||||
const float32 kTol = 0.5f * B3_LINEAR_SLOP;
|
if (b3DistanceSquared(p, ps[j]) <= B3_LINEAR_SLOP * B3_LINEAR_SLOP)
|
||||||
if (b3DistanceSquared(p, ps[j]) < kTol * kTol)
|
|
||||||
{
|
{
|
||||||
unique = false;
|
unique = false;
|
||||||
break;
|
break;
|
||||||
|
@ -162,8 +162,8 @@ bool qhHull::BuildInitialHull(const b3Vec3* vertices, u32 vertexCount)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Coincident check.
|
// Coincidence check
|
||||||
if (d0 < B3_LINEAR_SLOP * B3_LINEAR_SLOP)
|
if (d0 <= B3_EPSILON * B3_EPSILON)
|
||||||
{
|
{
|
||||||
B3_ASSERT(false);
|
B3_ASSERT(false);
|
||||||
return false;
|
return false;
|
||||||
@ -200,7 +200,7 @@ bool qhHull::BuildInitialHull(const b3Vec3* vertices, u32 vertexCount)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Colinear check.
|
// Colinear check.
|
||||||
if (a0 < (2.0f * B3_LINEAR_SLOP) * (2.0f * B3_LINEAR_SLOP))
|
if (a0 <= (2.0f * B3_EPSILON) * (2.0f * B3_EPSILON))
|
||||||
{
|
{
|
||||||
B3_ASSERT(false);
|
B3_ASSERT(false);
|
||||||
return false;
|
return false;
|
||||||
@ -241,7 +241,7 @@ bool qhHull::BuildInitialHull(const b3Vec3* vertices, u32 vertexCount)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Coplanar check.
|
// Coplanar check.
|
||||||
if (d0 < m_tolerance)
|
if (d0 <= m_tolerance)
|
||||||
{
|
{
|
||||||
B3_ASSERT(false);
|
B3_ASSERT(false);
|
||||||
return false;
|
return false;
|
||||||
@ -749,7 +749,7 @@ void qhHull::Validate(const qhHalfEdge* edge) const
|
|||||||
|
|
||||||
b3Vec3 A = edge->tail->position;
|
b3Vec3 A = edge->tail->position;
|
||||||
b3Vec3 B = twin->tail->position;
|
b3Vec3 B = twin->tail->position;
|
||||||
B3_ASSERT(b3DistanceSquared(A, B) >= B3_LINEAR_SLOP * B3_LINEAR_SLOP);
|
B3_ASSERT(b3DistanceSquared(A, B) > B3_EPSILON * B3_EPSILON);
|
||||||
|
|
||||||
u32 count = 0;
|
u32 count = 0;
|
||||||
const qhHalfEdge* begin = edge;
|
const qhHalfEdge* begin = edge;
|
||||||
|
Reference in New Issue
Block a user