Hi Patrik,
You may want to look at how this was done in IGSTK.
http://www.igstk.org
In particular, look at:
IGSTK/Source/
igstkEllipsoidObject.cxx
igstkEllipsoidObject.h
igstkEllipsoidObjectRepresentation.cxx
igstkEllipsoidObjectRepresentation.h
In short: