@spiceErrorCheck<EOL>@spiceFoundExceptionThrower<EOL>def surfpv(stvrtx, stdir, a, b, c):
a = ctypes.c_double(a)<EOL>b = ctypes.c_double(b)<EOL>c = ctypes.c_double(c)<EOL>stvrtx = stypes.toDoubleVector(stvrtx)<EOL>stdir = stypes.toDoubleVector(stdir)<EOL>stx = stypes.emptyDoubleVector(<NUM_LIT:6>)<EOL>found = ctypes.c_int()<EOL>libspice.surfpv_c(stvrtx, stdir, a, b, c, stx, ctypes.byref(found))<EOL>return stypes.cVectorToPython(stx), bool(found.value)<EOL>
Find the state (position and velocity) of the surface intercept
defined by a specified ray, ray velocity, and ellipsoid.

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

:param stvrtx: State of ray's vertex.
:type stvrtx: 6-Element Array of floats
:param stdir: State of ray's direction vector.
:type stdir: 6-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: State of surface intercept.
:rtype: list