refactored Vector2
[physics.git] / src / collisionManager.cpp
index 72dcd6b..81d5e05 100644 (file)
@@ -106,14 +106,14 @@ void placeEntity(PhysicsEntity* p)
 
         if( b != NULL )
         {
-            const float& xb     = b->positionRaw().x;
-            const float& yb     = b->positionRaw().y;
+            const float& xb     = b->positionRaw().m_fX;
+            const float& yb     = b->positionRaw().m_fY;
             const float& rad    = b->radius;
 
-            minP.x = xb - rad;
-            minP.y = yb - rad;
-            maxP.x = xb + rad;
-            maxP.y = yb + rad;
+            minP.m_fX = xb - rad;
+            minP.m_fY = yb - rad;
+            maxP.m_fX = xb + rad;
+            maxP.m_fY = yb + rad;
 
             goto start;
         }
@@ -135,15 +135,15 @@ void placeEntity(PhysicsEntity* p)
     return;
 
 start:
-    for( int x =  static_cast<int>( minP.x / (screenX / xDivisions) );
-             x <= static_cast<int>( maxP.x / (screenX / xDivisions) );
+    for( int x =  static_cast<int>( minP.m_fX / (screenX / xDivisions) );
+             x <= static_cast<int>( maxP.m_fX / (screenX / xDivisions) );
              x++ )
     {
         if(x < 0 || xDivisions <= x)
             break;
 
-        for( int y =  static_cast<int>( minP.y / (screenY / yDivisions) );
-                 y <= static_cast<int>( maxP.y / (screenY / yDivisions) );
+        for( int y =  static_cast<int>( minP.m_fY / (screenY / yDivisions) );
+                 y <= static_cast<int>( maxP.m_fY / (screenY / yDivisions) );
                  y++ )
         {
             if(y < 0 || yDivisions <= y)
@@ -289,10 +289,10 @@ bool getInfo(const Ball* b1, const Ball* b2, CollisionInfo* pcInfo)
     Vector2 v2 = b2->velocityRaw();
 
     // quick binding box check
-    if (p1.x - r1 > p2.x + r2
-     || p1.x + r1 < p2.x - r2
-     || p1.y - r1 > p2.y + r2
-     || p1.y + r1 < p2.y - r2)
+    if (p1.m_fX - r1 > p2.m_fX + r2
+     || p1.m_fX + r1 < p2.m_fX - r2
+     || p1.m_fY - r1 > p2.m_fY + r2
+     || p1.m_fY + r1 < p2.m_fY - r2)
         return false;
 
     // test if not touching
@@ -318,14 +318,14 @@ bool getInfo(const Polygon* pPoly, const Ball* pBall, CollisionInfo* pcInfo)
     Vector2 vecPos  = pBall->positionRaw();
     Vector2 vecVelo = pBall->velocityRaw();
 
-    float fMaxX = pPoly->maxP.x;
-    float fMinX = pPoly->minP.x;
-    float fMaxY = pPoly->maxP.y;
-    float fMinY = pPoly->minP.y;
+    float fMaxX = pPoly->maxP.m_fX;
+    float fMinX = pPoly->minP.m_fX;
+    float fMaxY = pPoly->maxP.m_fY;
+    float fMinY = pPoly->minP.m_fY;
 
     // quick binding box check
-    if (vecPos.x - fRad > fMaxX || vecPos.x + fRad < fMinX ||
-        vecPos.y - fRad > fMaxY || vecPos.y + fRad < fMinY)
+    if (vecPos.m_fX - fRad > fMaxX || vecPos.m_fX + fRad < fMinX ||
+        vecPos.m_fY - fRad > fMaxY || vecPos.m_fY + fRad < fMinY)
         return false;
 
 
@@ -339,10 +339,10 @@ bool getInfo(const Polygon* pPoly, const Ball* pBall, CollisionInfo* pcInfo)
         for (unsigned int i = 0; i < num; i++)
         {
             Vector2 vec = vectorToLine(vecPos,
-                                       pts[i].x,
-                                       pts[i].y,
-                                       pts[(i + 1) % num].x,
-                                       pts[(i + 1) % num].y);
+                                       pts[i].m_fX,
+                                       pts[i].m_fY,
+                                       pts[(i + 1) % num].m_fX,
+                                       pts[(i + 1) % num].m_fY);
 
             if (vec.sqrLength() <= fRad*fRad && 0 < vec.dot(vecVelo))
             {