@spiceErrorCheck<EOL>@spiceFoundExceptionThrower<EOL>def surfpt(positn, u, a, b, c):
a = ctypes.c_double(a)<EOL>b = ctypes.c_double(b)<EOL>c = ctypes.c_double(c)<EOL>positn = stypes.toDoubleVector(positn)<EOL>u = stypes.toDoubleVector(u)<EOL>point = stypes.emptyDoubleVector(<NUM_LIT:3>)<EOL>found = ctypes.c_int()<EOL>libspice.surfpt_c(positn, u, a, b, c, point, ctypes.byref(found))<EOL>return stypes.cVectorToPython(point), bool(found.value)<EOL>
Determine the intersection of a line-of-sight vector with the
surface of an ellipsoid.

http://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/surfpt_c.html

:param positn: Position of the observer in body-fixed frame.
:type positn: 3-Element Array of floats
:param u: Vector from the observer in some direction.
:type u: 3-Element Array of floats
:param a: Length of the ellisoid semi-axis along the x-axis.
:type a: float
:param b: Length of the ellisoid semi-axis along the y-axis.
:type b: float
:param c: Length of the ellisoid semi-axis along the z-axis.
:type c: float
:return: Point on the ellipsoid pointed to by u.
:rtype: 3-Element Array of floats