public override void GetLocalExtremePointWithoutMargin(ref Vector3 direction, out Vector3 extremePoint)
{
shapes.WrappedList.Elements[0].CollisionShape.GetExtremePoint(direction, ref shapes.WrappedList.Elements[0].Transform, out extremePoint);
float maxDot;
Vector3.Dot(ref extremePoint, ref direction, out maxDot);
for (int i = 1; i < shapes.WrappedList.Count; i++)
{
float dot;
Vector3 temp;
shapes.WrappedList.Elements[i].CollisionShape.GetExtremePoint(direction, ref shapes.WrappedList.Elements[i].Transform, out temp);
Vector3.Dot(ref direction, ref temp, out dot);
if (dot > maxDot)
{
extremePoint = temp;
maxDot = dot;
}
}
}