private static void GetExtremePoints(ref Vector3 direction, ref QuickList<Vector3> points, out float maximumDot, out float minimumDot, out int maximumIndex, out int minimumIndex)
{
maximumIndex = 0;
minimumIndex = 0;
float dot = Vector3.Dot(points.Elements[0], direction);
minimumDot = dot;
maximumDot = dot;
for (int i = 1; i < points.Count; ++i)
{
dot = Vector3.Dot(points.Elements[i], direction);
if (dot > maximumDot)
{
maximumDot = dot;
maximumIndex = i;
}
else if (dot < minimumDot)
{
minimumDot = dot;
minimumIndex = i;
}
}
}