mrdoob/three.js — pull request #2718 by bhouston (2012-12-01 13:49:20+00:00)
Title: Polished Box3, Sphere and Plane classes for threejs/core

This PR addresses these GitHub issues:

#2709 - Box3 class specification (Axis Aligned Bounding Box)
#2708 - Sphere class specifications
#2706 - Plane class specifications
#2715 - Vector3.minSelf, maxSelf - simplifies bounding box calculations in various places.

The new classes work and I integrated them into both Frustum.js and Geometry.js.

In integrating Box3 and Sphere into Geometry for boundingBox and boundingSphere respectively, I did so in a way that didn't change the JavaScript data structures used -- there is still a radius on boundingSphere and there is still min/max on boundingBox. It is just that these two member properties (boundingBox and boundingSphere) are now proper classes.

Code reviewed by @chandlerp (via IRC) and @wvl (off list)