private Vector2[] findMaxPoints(Vector3 min, Vector3 max, Canguro.View.GraphicView activeView)
{
Vector3[] boundingVolume = new Vector3[8];
Vector2[] screen = new Vector2[2];
screen[0] = new Vector2(float.MaxValue, float.MaxValue);
screen[1] = new Vector2(float.MinValue, float.MinValue);
boundingVolume[0] = min;
boundingVolume[1] = new Vector3(min.X, min.Y, max.Z);
boundingVolume[2] = new Vector3(max.X, min.Y, max.Z);
boundingVolume[3] = new Vector3(max.X, min.Y, min.Z);
boundingVolume[4] = new Vector3(max.X, max.Y, min.Z);
boundingVolume[5] = max;
boundingVolume[6] = new Vector3(min.X, max.Y, max.Z);
boundingVolume[7] = new Vector3(min.X, max.Y, min.Z);
for (int i = 0; i < boundingVolume.GetLength(0); ++i)
{
activeView.Project(ref boundingVolume[i]);
screen[0].X = (screen[0].X > boundingVolume[i].X) ? boundingVolume[i].X : screen[0].X;
screen[0].Y = (screen[0].Y > boundingVolume[i].Y) ? boundingVolume[i].Y : screen[0].Y;
screen[1].X = (screen[1].X < boundingVolume[i].X) ? boundingVolume[i].X : screen[1].X;
screen[1].Y = (screen[1].Y < boundingVolume[i].Y) ? boundingVolume[i].Y : screen[1].Y;
}
return screen;
}