17 #ifndef GRAHAM_SCAN_2D_CONVEX_HULL_H
18 #define GRAHAM_SCAN_2D_CONVEX_HULL_H
65 if (originalPoints.
size()<=1)
67 for (
int i=0;i<originalPoints.
size();i++)
72 for (
int i=0;i<originalPoints.
size();i++)
76 btScalar projL = originalPoints[i].dot(axis0);
77 btScalar projR = originalPoints[0].dot(axis0);
80 originalPoints.
swap(0,i);
85 originalPoints[0].m_angle = -1e30f;
86 for (
int i=1;i<originalPoints.
size();i++)
89 btVector3 ar = originalPoints[i]-originalPoints[0];
102 for (; i != originalPoints.
size(); i++)
104 bool isConvex =
false;
105 while (!isConvex&& hull.
size()>1) {
108 isConvex =
btCross(a-b,a-originalPoints[i]).
dot(normalAxis)> 0;
117 #endif //GRAHAM_SCAN_2D_CONVEX_HULL_H