Free Electron
|
Bounding sphere for arbitrary points. More...
#include <BoundingSphere.h>
Static Public Member Functions | |
static void | solve (const Vector< 3, T > *a_pEnclosed, U32 a_enclosedCount, Vector< 3, T > &a_rCenter, T &a_rRadius) |
static void | solveBoundary (const Vector< 3, T > **a_ppBoundary, U32 a_boundaryCount, Vector< 3, T > &a_rCenter, T &a_rRadius) |
create a sphere containing 0 to 4 points More... | |
static void | solveBoundarySafe (const Vector< 3, T > **a_ppBoundary, U32 a_boundaryCount, Vector< 3, T > &a_rCenter, T &a_rRadius) |
create a sphere containing 0 to 4 points More... | |
Static Private Member Functions | |
static void | solveRecursive (const Vector< 3, T > **a_ppPoints, U32 a_enclosedCount, U32 a_boundaryCount, Vector< 3, T > &a_rCenter, T &a_rRadius) |
Bounding sphere for arbitrary points.
Emo Welzl's algorithm 1991
http://www.flipcode.com/archives/Smallest_Enclosing_Spheres.shtml
|
inlinestatic |
create a sphere containing 0 to 4 points
If a_boundaryCount is zero or exceeds 4, a zero sphere at the origin is generated.
|
inlinestatic |
create a sphere containing 0 to 4 points
Checks for problematic redundant points, then calls solveBoundary().