Skip to content

Commit

Permalink
3rdparty: bullet3: rename m_floats[4] to 'x, y, z, w' in btVector3 an…
Browse files Browse the repository at this point in the history
…d btQuaternion

Part-of: #259
  • Loading branch information
dbartolini committed Jan 31, 2025
1 parent 0dd8f04 commit d8d1b65
Show file tree
Hide file tree
Showing 72 changed files with 1,054 additions and 1,012 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -180,8 +180,8 @@ class btAxisSweep3Internal : public btBroadphaseInterface
{
/* printf("btAxisSweep3.h\n");
printf("numHandles = %d, maxHandles = %d\n",m_numHandles,m_maxHandles);
printf("aabbMin=%f,%f,%f,aabbMax=%f,%f,%f\n",m_worldAabbMin.m_floats[0],m_worldAabbMin.m_floats[1],m_worldAabbMin.m_floats[2],
m_worldAabbMax.m_floats[0],m_worldAabbMax.m_floats[1],m_worldAabbMax.m_floats[2]);
printf("aabbMin=%f,%f,%f,aabbMax=%f,%f,%f\n",m_worldAabbMin.x,m_worldAabbMin.y,m_worldAabbMin.z,
m_worldAabbMax.x,m_worldAabbMax.y,m_worldAabbMax.z);
*/
}
};
Expand Down Expand Up @@ -320,10 +320,10 @@ void btAxisSweep3Internal<BP_FP_INT_TYPE>::unQuantize(btBroadphaseProxy* proxy,
vecInMin[2] = m_pEdges[2][pHandle->m_minEdges[2]].m_pos;
vecInMax[2] = m_pEdges[2][pHandle->m_maxEdges[2]].m_pos + 1;

aabbMin.setValue((btScalar)(vecInMin[0]) / (m_quantize.m_floats[0]), (btScalar)(vecInMin[1]) / (m_quantize.m_floats[1]), (btScalar)(vecInMin[2]) / (m_quantize.m_floats[2]));
aabbMin.setValue((btScalar)(vecInMin[0]) / (m_quantize.x), (btScalar)(vecInMin[1]) / (m_quantize.y), (btScalar)(vecInMin[2]) / (m_quantize.z));
aabbMin += m_worldAabbMin;

aabbMax.setValue((btScalar)(vecInMax[0]) / (m_quantize.m_floats[0]), (btScalar)(vecInMax[1]) / (m_quantize.m_floats[1]), (btScalar)(vecInMax[2]) / (m_quantize.m_floats[2]));
aabbMax.setValue((btScalar)(vecInMax[0]) / (m_quantize.x), (btScalar)(vecInMax[1]) / (m_quantize.y), (btScalar)(vecInMax[2]) / (m_quantize.z));
aabbMax += m_worldAabbMin;
}

Expand Down Expand Up @@ -442,9 +442,9 @@ void btAxisSweep3Internal<BP_FP_INT_TYPE>::quantize(BP_FP_INT_TYPE* out, const b
clampedPoint.setMax(m_worldAabbMin);
clampedPoint.setMin(m_worldAabbMax);
btVector3 v = (clampedPoint - m_worldAabbMin) * m_quantize;
out[0] = (BP_FP_INT_TYPE)(((BP_FP_INT_TYPE)v.m_floats[0] & m_bpHandleMask) | isMax);
out[1] = (BP_FP_INT_TYPE)(((BP_FP_INT_TYPE)v.m_floats[1] & m_bpHandleMask) | isMax);
out[2] = (BP_FP_INT_TYPE)(((BP_FP_INT_TYPE)v.m_floats[2] & m_bpHandleMask) | isMax);
out[0] = (BP_FP_INT_TYPE)(((BP_FP_INT_TYPE)v.x & m_bpHandleMask) | isMax);
out[1] = (BP_FP_INT_TYPE)(((BP_FP_INT_TYPE)v.y & m_bpHandleMask) | isMax);
out[2] = (BP_FP_INT_TYPE)(((BP_FP_INT_TYPE)v.z & m_bpHandleMask) | isMax);
#else
btVector3 v = (point - m_worldAabbMin) * m_quantize;
out[0] = (v[0] <= 0) ? (BP_FP_INT_TYPE)isMax : (v[0] >= m_handleSentinel) ? (BP_FP_INT_TYPE)((m_handleSentinel & m_bpHandleMask) | isMax) : (BP_FP_INT_TYPE)(((BP_FP_INT_TYPE)v[0] & m_bpHandleMask) | isMax);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,8 @@ static DBVT_INLINE btDbvtVolume merge(const btDbvtVolume& a,
static DBVT_INLINE btScalar size(const btDbvtVolume& a)
{
const btVector3 edges = a.Lengths();
return (edges.m_floats[0] * edges.m_floats[1] * edges.m_floats[2] +
edges.m_floats[0] + edges.m_floats[1] + edges.m_floats[2]);
return (edges.x * edges.y * edges.z +
edges.x + edges.y + edges.z);
}

//
Expand Down
118 changes: 59 additions & 59 deletions 3rdparty/bullet3/src/BulletCollision/BroadphaseCollision/btDbvt.h
Original file line number Diff line number Diff line change
Expand Up @@ -520,29 +520,29 @@ DBVT_INLINE void btDbvtAabbMm::Expand(const btVector3& e)
//
DBVT_INLINE void btDbvtAabbMm::SignedExpand(const btVector3& e)
{
if (e.m_floats[0] > 0)
mx.m_floats[0] = (mx.m_floats[0] + e[0]);
if (e.x > 0)
mx.x = (mx.x + e[0]);
else
mi.m_floats[0] = (mi.m_floats[0] + e[0]);
if (e.m_floats[1] > 0)
mx.m_floats[1] = (mx.m_floats[1] + e[1]);
mi.x = (mi.x + e[0]);
if (e.y > 0)
mx.y = (mx.y + e[1]);
else
mi.m_floats[1] = (mi.m_floats[1] + e[1]);
if (e.m_floats[2] > 0)
mx.m_floats[2] = (mx.m_floats[2] + e[2]);
mi.y = (mi.y + e[1]);
if (e.z > 0)
mx.z = (mx.z + e[2]);
else
mi.m_floats[2] = (mi.m_floats[2] + e[2]);
mi.z = (mi.z + e[2]);
}

//
DBVT_INLINE bool btDbvtAabbMm::Contain(const btDbvtAabbMm& a) const
{
return ((mi.m_floats[0] <= a.mi.m_floats[0]) &&
(mi.m_floats[1] <= a.mi.m_floats[1]) &&
(mi.m_floats[2] <= a.mi.m_floats[2]) &&
(mx.m_floats[0] >= a.mx.m_floats[0]) &&
(mx.m_floats[1] >= a.mx.m_floats[1]) &&
(mx.m_floats[2] >= a.mx.m_floats[2]));
return ((mi.x <= a.mi.x) &&
(mi.y <= a.mi.y) &&
(mi.z <= a.mi.z) &&
(mx.x >= a.mx.x) &&
(mx.y >= a.mx.y) &&
(mx.z >= a.mx.z));
}

//
Expand All @@ -552,36 +552,36 @@ DBVT_INLINE int btDbvtAabbMm::Classify(const btVector3& n, btScalar o, int s) co
switch (s)
{
case (0 + 0 + 0):
px = btVector3(mi.m_floats[0], mi.m_floats[1], mi.m_floats[2]);
pi = btVector3(mx.m_floats[0], mx.m_floats[1], mx.m_floats[2]);
px = btVector3(mi.x, mi.y, mi.z);
pi = btVector3(mx.x, mx.y, mx.z);
break;
case (1 + 0 + 0):
px = btVector3(mx.m_floats[0], mi.m_floats[1], mi.m_floats[2]);
pi = btVector3(mi.m_floats[0], mx.m_floats[1], mx.m_floats[2]);
px = btVector3(mx.x, mi.y, mi.z);
pi = btVector3(mi.x, mx.y, mx.z);
break;
case (0 + 2 + 0):
px = btVector3(mi.m_floats[0], mx.m_floats[1], mi.m_floats[2]);
pi = btVector3(mx.m_floats[0], mi.m_floats[1], mx.m_floats[2]);
px = btVector3(mi.x, mx.y, mi.z);
pi = btVector3(mx.x, mi.y, mx.z);
break;
case (1 + 2 + 0):
px = btVector3(mx.m_floats[0], mx.m_floats[1], mi.m_floats[2]);
pi = btVector3(mi.m_floats[0], mi.m_floats[1], mx.m_floats[2]);
px = btVector3(mx.x, mx.y, mi.z);
pi = btVector3(mi.x, mi.y, mx.z);
break;
case (0 + 0 + 4):
px = btVector3(mi.m_floats[0], mi.m_floats[1], mx.m_floats[2]);
pi = btVector3(mx.m_floats[0], mx.m_floats[1], mi.m_floats[2]);
px = btVector3(mi.x, mi.y, mx.z);
pi = btVector3(mx.x, mx.y, mi.z);
break;
case (1 + 0 + 4):
px = btVector3(mx.m_floats[0], mi.m_floats[1], mx.m_floats[2]);
pi = btVector3(mi.m_floats[0], mx.m_floats[1], mi.m_floats[2]);
px = btVector3(mx.x, mi.y, mx.z);
pi = btVector3(mi.x, mx.y, mi.z);
break;
case (0 + 2 + 4):
px = btVector3(mi.m_floats[0], mx.m_floats[1], mx.m_floats[2]);
pi = btVector3(mx.m_floats[0], mi.m_floats[1], mi.m_floats[2]);
px = btVector3(mi.x, mx.y, mx.z);
pi = btVector3(mx.x, mi.y, mi.z);
break;
case (1 + 2 + 4):
px = btVector3(mx.m_floats[0], mx.m_floats[1], mx.m_floats[2]);
pi = btVector3(mi.m_floats[0], mi.m_floats[1], mi.m_floats[2]);
px = btVector3(mx.x, mx.y, mx.z);
pi = btVector3(mi.x, mi.y, mi.z);
break;
}
if ((btDot(n, px) + o) < 0) return (-1);
Expand All @@ -593,9 +593,9 @@ DBVT_INLINE int btDbvtAabbMm::Classify(const btVector3& n, btScalar o, int s) co
DBVT_INLINE btScalar btDbvtAabbMm::ProjectMinimum(const btVector3& v, unsigned signs) const
{
const btVector3* b[] = {&mx, &mi};
const btVector3 p(b[(signs >> 0) & 1]->m_floats[0],
b[(signs >> 1) & 1]->m_floats[1],
b[(signs >> 2) & 1]->m_floats[2]);
const btVector3 p(b[(signs >> 0) & 1]->x,
b[(signs >> 1) & 1]->y,
b[(signs >> 2) & 1]->z);
return (btDot(p, v));
}

Expand Down Expand Up @@ -631,25 +631,25 @@ DBVT_INLINE bool Intersect(const btDbvtAabbMm& a,
#endif
return ((pu[0] | pu[1] | pu[2]) == 0);
#else
return ((a.mi.m_floats[0] <= b.mx.m_floats[0]) &&
(a.mx.m_floats[0] >= b.mi.m_floats[0]) &&
(a.mi.m_floats[1] <= b.mx.m_floats[1]) &&
(a.mx.m_floats[1] >= b.mi.m_floats[1]) &&
(a.mi.m_floats[2] <= b.mx.m_floats[2]) &&
(a.mx.m_floats[2] >= b.mi.m_floats[2]));
return ((a.mi.x <= b.mx.x) &&
(a.mx.x >= b.mi.x) &&
(a.mi.y <= b.mx.y) &&
(a.mx.y >= b.mi.y) &&
(a.mi.z <= b.mx.z) &&
(a.mx.z >= b.mi.z));
#endif
}

//
DBVT_INLINE bool Intersect(const btDbvtAabbMm& a,
const btVector3& b)
{
return ((b.m_floats[0] >= a.mi.m_floats[0]) &&
(b.m_floats[1] >= a.mi.m_floats[1]) &&
(b.m_floats[2] >= a.mi.m_floats[2]) &&
(b.m_floats[0] <= a.mx.m_floats[0]) &&
(b.m_floats[1] <= a.mx.m_floats[1]) &&
(b.m_floats[2] <= a.mx.m_floats[2]));
return ((b.x >= a.mi.x) &&
(b.y >= a.mi.y) &&
(b.z >= a.mi.z) &&
(b.x <= a.mx.x) &&
(b.y <= a.mx.y) &&
(b.z <= a.mx.z));
}

//////////////////////////////////////
Expand All @@ -659,7 +659,7 @@ DBVT_INLINE btScalar Proximity(const btDbvtAabbMm& a,
const btDbvtAabbMm& b)
{
const btVector3 d = (a.mi + a.mx) - (b.mi + b.mx);
return (btFabs(d.m_floats[0]) + btFabs(d.m_floats[1]) + btFabs(d.m_floats[2]));
return (btFabs(d.x) + btFabs(d.y) + btFabs(d.z));
}

//
Expand Down Expand Up @@ -774,12 +774,12 @@ DBVT_INLINE void Merge(const btDbvtAabbMm& a,
DBVT_INLINE bool NotEqual(const btDbvtAabbMm& a,
const btDbvtAabbMm& b)
{
return ((a.mi.m_floats[0] != b.mi.m_floats[0]) ||
(a.mi.m_floats[1] != b.mi.m_floats[1]) ||
(a.mi.m_floats[2] != b.mi.m_floats[2]) ||
(a.mx.m_floats[0] != b.mx.m_floats[0]) ||
(a.mx.m_floats[1] != b.mx.m_floats[1]) ||
(a.mx.m_floats[2] != b.mx.m_floats[2]));
return ((a.mi.x != b.mi.x) ||
(a.mi.y != b.mi.y) ||
(a.mi.z != b.mi.z) ||
(a.mx.x != b.mx.x) ||
(a.mx.y != b.mx.y) ||
(a.mx.z != b.mx.z));
}

//
Expand Down Expand Up @@ -1362,9 +1362,9 @@ inline void btDbvt::collideKDOP(const btDbvtNode* root,
btAssert(count < int(sizeof(signs) / sizeof(signs[0])));
for (int i = 0; i < count; ++i)
{
signs[i] = ((normals[i].m_floats[0] >= 0) ? 1 : 0) +
((normals[i].m_floats[1] >= 0) ? 2 : 0) +
((normals[i].m_floats[2] >= 0) ? 4 : 0);
signs[i] = ((normals[i].x >= 0) ? 1 : 0) +
((normals[i].y >= 0) ? 2 : 0) +
((normals[i].z >= 0) ? 4 : 0);
}
stack.reserve(SIMPLE_STACKSIZE);
stack.push_back(sStkNP(root, 0));
Expand Down Expand Up @@ -1429,9 +1429,9 @@ inline void btDbvt::collideOCL(const btDbvtNode* root,
btAssert(count < int(sizeof(signs) / sizeof(signs[0])));
for (int i = 0; i < count; ++i)
{
signs[i] = ((normals[i].m_floats[0] >= 0) ? 1 : 0) +
((normals[i].m_floats[1] >= 0) ? 2 : 0) +
((normals[i].m_floats[2] >= 0) ? 4 : 0);
signs[i] = ((normals[i].x >= 0) ? 1 : 0) +
((normals[i].y >= 0) ? 2 : 0) +
((normals[i].z >= 0) ? 4 : 0);
}
stock.reserve(SIMPLE_STACKSIZE);
stack.reserve(SIMPLE_STACKSIZE);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -329,61 +329,61 @@ btQuantizedBvh
{
btAssert(m_useQuantization);

btAssert(point.m_floats[0] <= m_bvhAabbMax.m_floats[0]);
btAssert(point.m_floats[1] <= m_bvhAabbMax.m_floats[1]);
btAssert(point.m_floats[2] <= m_bvhAabbMax.m_floats[2]);
btAssert(point.x <= m_bvhAabbMax.x);
btAssert(point.y <= m_bvhAabbMax.y);
btAssert(point.z <= m_bvhAabbMax.z);

btAssert(point.m_floats[0] >= m_bvhAabbMin.m_floats[0]);
btAssert(point.m_floats[1] >= m_bvhAabbMin.m_floats[1]);
btAssert(point.m_floats[2] >= m_bvhAabbMin.m_floats[2]);
btAssert(point.x >= m_bvhAabbMin.x);
btAssert(point.y >= m_bvhAabbMin.y);
btAssert(point.z >= m_bvhAabbMin.z);

btVector3 v = (point - m_bvhAabbMin) * m_bvhQuantization;
///Make sure rounding is done in a way that unQuantize(quantizeWithClamp(...)) is conservative
///end-points always set the first bit, so that they are sorted properly (so that neighbouring AABBs overlap properly)
///@todo: double-check this
if (isMax)
{
out[0] = (unsigned short)(((unsigned short)(v.m_floats[0] + btScalar(1.)) | 1));
out[1] = (unsigned short)(((unsigned short)(v.m_floats[1] + btScalar(1.)) | 1));
out[2] = (unsigned short)(((unsigned short)(v.m_floats[2] + btScalar(1.)) | 1));
out[0] = (unsigned short)(((unsigned short)(v.x + btScalar(1.)) | 1));
out[1] = (unsigned short)(((unsigned short)(v.y + btScalar(1.)) | 1));
out[2] = (unsigned short)(((unsigned short)(v.z + btScalar(1.)) | 1));
}
else
{
out[0] = (unsigned short)(((unsigned short)(v.m_floats[0]) & 0xfffe));
out[1] = (unsigned short)(((unsigned short)(v.m_floats[1]) & 0xfffe));
out[2] = (unsigned short)(((unsigned short)(v.m_floats[2]) & 0xfffe));
out[0] = (unsigned short)(((unsigned short)(v.x) & 0xfffe));
out[1] = (unsigned short)(((unsigned short)(v.y) & 0xfffe));
out[2] = (unsigned short)(((unsigned short)(v.z) & 0xfffe));
}

#ifdef DEBUG_CHECK_DEQUANTIZATION
btVector3 newPoint = unQuantize(out);
if (isMax)
{
if (newPoint.m_floats[0] < point.m_floats[0])
if (newPoint.x < point.x)
{
printf("unconservative X, diffX = %f, oldX=%f,newX=%f\n", newPoint.m_floats[0] - point.m_floats[0], newPoint.m_floats[0], point.m_floats[0]);
printf("unconservative X, diffX = %f, oldX=%f,newX=%f\n", newPoint.x - point.x, newPoint.x, point.x);
}
if (newPoint.m_floats[1] < point.m_floats[1])
if (newPoint.y < point.y)
{
printf("unconservative Y, diffY = %f, oldY=%f,newY=%f\n", newPoint.m_floats[1] - point.m_floats[1], newPoint.m_floats[1], point.m_floats[1]);
printf("unconservative Y, diffY = %f, oldY=%f,newY=%f\n", newPoint.y - point.y, newPoint.y, point.y);
}
if (newPoint.m_floats[2] < point.m_floats[2])
if (newPoint.z < point.z)
{
printf("unconservative Z, diffZ = %f, oldZ=%f,newZ=%f\n", newPoint.m_floats[2] - point.m_floats[2], newPoint.m_floats[2], point.m_floats[2]);
printf("unconservative Z, diffZ = %f, oldZ=%f,newZ=%f\n", newPoint.z - point.z, newPoint.z, point.z);
}
}
else
{
if (newPoint.m_floats[0] > point.m_floats[0])
if (newPoint.x > point.x)
{
printf("unconservative X, diffX = %f, oldX=%f,newX=%f\n", newPoint.m_floats[0] - point.m_floats[0], newPoint.m_floats[0], point.m_floats[0]);
printf("unconservative X, diffX = %f, oldX=%f,newX=%f\n", newPoint.x - point.x, newPoint.x, point.x);
}
if (newPoint.m_floats[1] > point.m_floats[1])
if (newPoint.y > point.y)
{
printf("unconservative Y, diffY = %f, oldY=%f,newY=%f\n", newPoint.m_floats[1] - point.m_floats[1], newPoint.m_floats[1], point.m_floats[1]);
printf("unconservative Y, diffY = %f, oldY=%f,newY=%f\n", newPoint.y - point.y, newPoint.y, point.y);
}
if (newPoint.m_floats[2] > point.m_floats[2])
if (newPoint.z > point.z)
{
printf("unconservative Z, diffZ = %f, oldZ=%f,newZ=%f\n", newPoint.m_floats[2] - point.m_floats[2], newPoint.m_floats[2], point.m_floats[2]);
printf("unconservative Z, diffZ = %f, oldZ=%f,newZ=%f\n", newPoint.z - point.z, newPoint.z, point.z);
}
}
#endif //DEBUG_CHECK_DEQUANTIZATION
Expand All @@ -404,9 +404,9 @@ btQuantizedBvh
{
btVector3 vecOut;
vecOut.setValue(
(btScalar)(vecIn[0]) / (m_bvhQuantization.m_floats[0]),
(btScalar)(vecIn[1]) / (m_bvhQuantization.m_floats[1]),
(btScalar)(vecIn[2]) / (m_bvhQuantization.m_floats[2]));
(btScalar)(vecIn[0]) / (m_bvhQuantization.x),
(btScalar)(vecIn[1]) / (m_bvhQuantization.y),
(btScalar)(vecIn[2]) / (m_bvhQuantization.z));
vecOut += m_bvhAabbMin;
return vecOut;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ struct ClipVertex
#define b2Mul(a, b) (a) * (b)
#define b2MulT(a, b) (a).transpose() * (b)
#define b2Cross(a, b) (a).cross(b)
#define btCrossS(a, s) btVector3(s* a.m_floats[1], -s* a.m_floats[0], 0.f)
#define btCrossS(a, s) btVector3(s* a.y, -s* a.x, 0.f)

int b2_maxManifoldPoints = 2;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -740,14 +740,14 @@ void btBoxBoxDetector::getClosestPoints(const ClosestPointInput& input, Result&

for (int j = 0; j < 3; j++)
{
R1[0 + 4 * j] = transformA.m_basis[j].m_floats[0];
R2[0 + 4 * j] = transformB.m_basis[j].m_floats[0];
R1[0 + 4 * j] = transformA.m_basis[j].x;
R2[0 + 4 * j] = transformB.m_basis[j].x;

R1[1 + 4 * j] = transformA.m_basis[j].m_floats[1];
R2[1 + 4 * j] = transformB.m_basis[j].m_floats[1];
R1[1 + 4 * j] = transformA.m_basis[j].y;
R2[1 + 4 * j] = transformB.m_basis[j].y;

R1[2 + 4 * j] = transformA.m_basis[j].m_floats[2];
R2[2 + 4 * j] = transformB.m_basis[j].m_floats[2];
R1[2 + 4 * j] = transformA.m_basis[j].z;
R2[2 + 4 * j] = transformB.m_basis[j].z;
}

btVector3 normal;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -520,7 +520,7 @@ void btConvexConvexAlgorithm ::processCollision(const btCollisionObjectWrapper*
}
if (foundSepAxis)
{
// printf("sepNormalWorldSpace=%f,%f,%f\n",sepNormalWorldSpace.m_floats[0],sepNormalWorldSpace.m_floats[1],sepNormalWorldSpace.m_floats[2]);
// printf("sepNormalWorldSpace=%f,%f,%f\n",sepNormalWorldSpace.x,sepNormalWorldSpace.y,sepNormalWorldSpace.z);

worldVertsB1.resize(0);
btPolyhedralContactClipping::clipHullAgainstHull(sepNormalWorldSpace, *polyhedronA->getConvexPolyhedron(), *polyhedronB->getConvexPolyhedron(),
Expand Down Expand Up @@ -638,7 +638,7 @@ void btConvexConvexAlgorithm ::processCollision(const btCollisionObjectWrapper*
body0Wrap->m_worldTransform,
body1Wrap->m_worldTransform,
sepNormalWorldSpace, *resultOut);
// printf("sepNormalWorldSpace=%f,%f,%f\n",sepNormalWorldSpace.m_floats[0],sepNormalWorldSpace.m_floats[1],sepNormalWorldSpace.m_floats[2]);
// printf("sepNormalWorldSpace=%f,%f,%f\n",sepNormalWorldSpace.x,sepNormalWorldSpace.y,sepNormalWorldSpace.z);
}
else
{
Expand Down
Loading

0 comments on commit d8d1b65

Please sign in to comment.